From Here to There
Predictive versus Adaptive Development
Enable Quiz has a plan, a team, and an objective. How does the team get its system to launch? We briefly discussed the predictive versus adaptive approaches to systems development in Chapter 5 and noted that Enable Quiz will organize around an adaptive or agile methodology. Why would anyone not want to be adaptive or agile? Uncertainty makes managing a business more difficult. It would be hard to justify an adaptive approach if you could predict which features customers would find most important and the pace of your development. It would be much better to know what's coming when.
The cost of uncertainty generally grows as you move down the technology stack we reviewed in the introduction. For instance, an adaptive methodology is harder to apply to an operating system as opposed to an add-on to an existing application because the interfaces and protocols are optimized for more prescriptive operations as you go down the stack (from applications to operating systems to hardware). For example, if your job is to build a router with a new 100-gigabit interface that complies to a certain standard, you will have less flexibility in what you do and how you do it than if your mission is to build a Facebook app for families. If you publish a database program, your developer community will want a fair amount of visibility on what facilities and interfaces you'll be providing since its development depends on your specifications.