2.6. Post Hoc Analysis
As a consequence of the MyProj resource profile, MyCo undertook a detailed post hoc analysis of effort across the project phases. This analysis aimed to identify key areas where a more effective delivery approach would provide measured improvements while maintaining or improving the predictability and quality of the delivered results.
Two levels of analysis were undertaken: one at the level of the enterprise software delivery organization and the other based on the specific details of the MyProj project.
2.6.1. Enterprise Software Delivery Organization Analysis
The first level of analysis considered the areas for improvement across the enterprise software delivery organization. Specifically, there are improvement areas in which efficiencies are possible as a result of addressing systemic issues in the enterprise software delivery approaches currently in use. These would have broad applicability and show value to the organization in the short, medium, and long term.
This analysis was multifaceted. Working with management personnel, we looked at results from several similar enterprise software delivery projects that had taken place over the past two years. We then compared that information with benchmark materials from several industry studies (such as [2,20,28]), examined data from our internal project delivery analyses, and engaged a third-party enterprise software industry analyst organization to offer a critical review of our findings, comparing them with data from their current clients and with their own analytical approaches.
Figure 2.2 shows a summary of the results of this analysis. For simplification purposes, the graph shows major areas for enterprise-level improvement across two dimensions: the long-term impact and the timing of potential benefits. Here, there was focus in seven areas, each represented as circle on the graph identifying how that area was considered to contribute to impact and the likely timing of that impact. In each area, we performed quite detailed analysis of savings and improvements by examining representative project data, typical labor rates, and project organization sizes and structures. Using that information, we then were able to show the potential improvements in terms of productivity savings (labor reduction) and quality improvements (defect rate reduction). For example, in the areas of Requirements Management Linked to Quality Management, we used company-specific project information and industry-wide benchmark data to identify that improved life-cycle management techniques could result in a reduction as large as 10 percent in defect density for delivered software in the first year. With added attention to test case management and test planning, this would also provide up to a 7 percent saving in labor costs in the first year. Similar analyses were performed in all seven areas identified in Figure 2.2.
Figure 2.2. A summary of efficiencies across the enterprise software delivery organization
A full description of the analysis approach is not necessary here. Rather, I’ll provide a short summary of the key features of the techniques used to highlight its key characteristics.
While a number of analysis approaches are possible, in this case we selected a practice-based approach. Each practice and its associated tools have an underlying benefit for each practitioner. For example, the adoption of an improved change management practice and associated tools will save a developer 1 percent on average. Considering the loaded costs of each resource, we can calculate a benefit, per year, and by multiplying this figure by the number of practitioners, we can calculate an annual saving. While each individual practice improvement is actually quite small (perhaps a saving of one to four hours a week), the accumulation as more practices are adopted results in a significant overall benefit.
As shown in Figure 2.2, our analysis approach, then, assesses a series of selected practices in terms of potential improvement. Each practice is a collection of tools and services aimed at enhancing the development capability of a team or project. It was concluded, for example, that near-term improvements in areas such as change and release management and requirements management could have delivered labor savings of 5 percent and 7 percent, respectively, with additional reductions in defect density of up to 10 percent in the first year.2
2.6.2. Project-Level Analysis
While the first level of analysis considered the areas for improvement across the enterprise software delivery organization, the second level directly examined the MyProj project. Focused on several areas, the analysis involved detailed discussions with the delivery team,3 analysis of processes executed, inspection of actual defect rates and error-fixing practices, document reviews, and experimentation with real data.
We concluded that improvements could be made in the following areas:
- Quality management. Difficulties in project status reporting were commonly experienced. To increase the effectiveness and productivity of the onshore management team, in particular, better decisions could have been made with enhanced real-time quality assessments supported by automated quality data collection tooling.
- Data management. Errors in data analysis and models were detected late in the development cycles. Improved integrated tooling would help improve data analysis and modeling, increasing quality of data used to test and reducing development and test timelines.
- Requirements traceability. Poor connections between requirements, development, and test activities resulted in several misunderstandings across the team. Greater integration and tracking could have the effect of removing design gaps and misunderstandings. A consequent decrease in the continual need to query requirements to ensure their currency and to understand unclear design implications could result in a significant time savings in development. Similarly, a decrease in the need for such queries results in better estimation for change analysis and reduced critical and major defects in test activities, as build activities are more aligned with the requirements and design status.
- End-to-end environment management. Several administrative activities caused time delays in creating and maintaining appropriate working environments. These delays can be eliminated with faster environment procurement and easier access to predefined developer profiles, thus making necessary resources, such as tools, data, and test equipment, more accessible.
- Onboarding to access the development and test tooling. Situations arose where new project members, or existing members switching to new roles, had difficulty getting information or access to the tools for software development and delivery. This time loss can be greatly reduced with faster onboarding, improved documentation, and access to communities for peer-level advice.
The result of this project-level analysis is shown in Figure 2.3. Here we show how MyProj could have been executed as a result of these software factory delivery improvements in the areas stated. In particular, we produced data that shows a one-month reduction in cycle time, with reduced peak effort through the elimination of certain blockages, reduction in costly misunderstandings, and improved communication channels.
Figure 2.3. Adjusted project profile for the MyProj project
A more detailed view of the efficiencies and cost savings is shown in Figure 2.4. Here we view the change in resource and cost profile over time as a result of these enterprise software delivery improvements.
Figure 2.4. A more detailed efficiency analysis of the MyProj project