When it comes to Engineering operations, having the proper set of infrastructure solutions can be key to a software company's viability and competitiveness. However, building out such infrastructure can be a complex, daunting and expensive task. I have been through this many times before, and can help guide your business through the process, avoiding costly pitfalls and arriving at a better solution in the end. Following are some examples of the services that I can provide to help improve the processes and efficiency of your software engineering organization.
Needs analysis to identify, document and quantify issues that are hindering efficient operations.
- Evaluation of how well your current support systems such as source control and bug tracking are meeting the present needs of your organization, and assessment of the ability of those systems to scale with growth.
- Analysis of how well integrated your current systems are, and what potential exists for implementing further integration capabilities to streamline operations.
- Identify manual process bottlenecks that may be suited for automation.
Architecture of solutions to meet identified needs. This will involve build vs. buy recommendations, proposed process changes, detailed architectural designs and cost/benefit analysis.
- Recommendation of additional software systems that would significantly expand the capabilities of your organization.
- Prioritization analysis to determine what changes in software engineering infrastructure would produce the greatest ROI.
- Recommendations on network, server, storage and other IT infrastructure changes that would produce substantial improvements to engineering operations.
- Optimization of processes for supporting multiple product configurations (reduction in source branches, reuseable installer modules, etc.)
- Documentation of current processes, procedures and system architectures.
Project management to oversee implementation of infrastructure improvements and drive their completion to meet schedule constraints.
- Project planning and tracking (work estimates, Gantt charts, project dashboard)
- Work item assignment and tracking
- Defect review and assignment
- Coordination of all involved engineering groups (development, QA, deployment, operations)
- Progress reporting
Software development of customized infrastructure solutions, including cross-platform implementations for heterogenous environments, and complete end-to-end, enterprise-class systems development.
- PC client applications (tools, utilities, client front-ends)
- Web-based intranet applications (3-tier architectures)
- Enterprise servers (dedicated software services supporting PC & web clients)
- Web services (extending services outside the intranet)
Extraction, analysis and reporting of performance metrics for engineers based on data derived from infrastructure systems usage.
- Source code change analysis (quantity, quality)
- Defect handling analysis (bounce count, non-issues, issue quantity)
Introduction of good software engineering practices, methodologies and tools.
- Change reviews
- Code reviews
- Agile development
- Code componentization
Business acquisition due-diligence and integration of engineering systems.
Home | About | Resources | F.A.Q. | Services | Experience | Skills | Kudos | Contact | Tools | Blog | Site Map
Copyright © 2010 Dan Brannon