This review of the MyProj project has enabled us to look in some detail at a typical enterprise software delivery project with respect to the project’s delivery context, resource profile, and execution history. In the subsequent analysis, we considered areas that could improve from adopting additional software factory delivery techniques and automations. We can now make a number of important observations.
First, it’s useful to summarize the sources of potential improvements we identified from our analysis of both the enterprise and project levels. We can express these as recommendations for improvements in four areas. Each recommendation represents a challenge and an opportunity:
- Collaborate globally. The global approach to delivery deserves particular attention. Many challenges to enterprise software delivery are a result of intercommunication issues. In a globally distributed development team, we must ensure that the value gained by using people in other regions (whether to make use of scarce resources or to optimize costs) is not lost. When cross-organization issues are added to the challenge, investment in processes and technology to ensure smooth collaboration becomes essential and proves to be a determinant factor in the project’s success.
- Deliver with agility. A great deal of flexibility is needed to manage the continual change inherent in these kinds of projects. Agility is necessary in not only the style of development but also the management of interactions with the business stakeholders; the manner in which project objectives are assessed, understood, and evolved; and the way in which the solution is provided to the operational teams to be moved into production. This broader view of agility in enterprise software delivery is essential. Our analysis takes into account the increased confidence that results from early attention to testing available software and the benefits of guidance from continuous stakeholder feedback.
- Focus on quality. We’ve always known that the peak effort and cost of enterprise software delivery is during testing and delivery phases. During these phases, the real quality issues become more concrete, and many of the more complex problems surface. This project analysis again confirms that a “total quality” view of enterprise software delivery reduces that peak effort substantially and provides the major source of early savings to an organization. The reduction of high-impact late changes is of the utmost importance in any project.
- Monitor and measure continuously. Poor decision making was primarily a result of incomplete information and lack of clear insight into the project’s real status. The challenge was increased due to the distributed, multiorganizational aspects of the project. Far too much time was spent chasing information, finding relevant data, and making sense of the data gathered from multiple sources. The project would have benefited from an increased focus on automated information gathering, together with a more clearly defined view of the project’s most relevant business and technical measures.
Second, we note several additional areas where improvements could be made. For example, we did not spend time in areas of reuse. Many industry studies provide data that supports substantial improvements in productivity and quality through mature, systematic reuse practices. In the case of MyProj, while reuse maturity was low, attention to this area would undoubtedly bring additional rewards.
Another area of importance to MyCo is the move toward cloud-based delivery models. Through deployment of cloud technologies, the company is looking to reduce investments in underused technology infrastructure and increase standard services for areas such as testing. Again, these areas were considered important, but their impact could not yet be sufficiently understood and qualified to include in this study. Further work is ongoing to get more detailed and reliable data in this area, with significant savings expected.
Third, I express a note of caution about broader interpretation and extrapolation from these results. While this analysis has produced very valuable data and provided many interesting insights, we must be careful in understanding the broader applicability of these results to both MyCo and other organizations. An important area of caution concerns the scalability of these approaches to broader enterprise software delivery contexts. It’s clear that many of these process and tool optimizations are equally valid for other teams in other situations. However, additional review is needed to understand how broadly and how quickly these results could be applied, say, to the whole of the MyCo enterprise software delivery organization. I believe that many of the same results could be achieved by more broadly adopting such practices in other projects, but further investigation would help validate this assertion.