Establishing an adaptive foundation for rapid development requires a sizeable investment in terms of time and money. In a busy development shop or IT department, both of these commodities can be in short supply. Furthermore, the benefits of defining an adaptive development foundation can be difficult to justify in the short term, as the greatest returns are only realized after the completion of several projects. Consequently, convincing both company management and colleagues of the need for such an investment is not an easy task. Nevertheless, compelling reasons for making this investment exist:
This reason is also synonymous with a happy customer. The efficiencies resulting from streamlining a development process enable the production of high-quality software at a lower cost. High quality and low cost are both reasons why a customer would choose you over your competitors.
Putting in place a companywide development foundation makes the process of moving between projects considerably easier for staff, as everyone understands how a project functions. The tools are familiar, as are the practices, processes, and procedures. Likewise, everyone should be working to a common set of principles and standards. No time is lost with an individual coming up to speed with the idiosyncrasies of a particular project.
Return on investment (ROI).
Training budgets need to be spent wisely, and enterprise-level development tools tend to carry high price tags. Focusing money and effort on a consolidated set of development needs makes these funds go further. A consolidated approach provides a greater return than spreading scarce budgetary resources too thinly over a hotchpotch development strategy comprised of noninteroperable tools and incongruent practices.
Following repeatable methods using a common framework and tools brings an element of repeatability to the software development process. This repeatability translates directly in accurate estimates, thereby enabling the objective evaluation of the risks of taking on new project work.
Finally, software developers enjoy working on projects that regard software engineering as a professional discipline. A company's willingness to invest in its staff and promote a best-practice approach to enterprise software development is an indicator of an organization that takes software engineering seriously.
Unfortunately, several barriers exist to achieving these benefits. These next sections highlight some of the factors that must be addressed in order to see a successful adaptive foundation put in place within a company.