As you would imagine, there are many inefficient ways to complete the development of a software title. The most common early methodology (and the one used most often until perhaps very recently) stemmed from a 1970s paper by Winston Royce named the “waterfall method.” As shown in Figure 5-1, this process chops up development into several distinct stages that occur one after another:

  • Concept and planning
  • Design
  • Code and assets
  • Test
  • Release


FIGURE 5-1: The “waterfall” development method

image For more information on Royce's description of the waterfall development model, see “Managing the Development of a Large Software System” (a paper from the Proceedings of IEEE WESCON, August 1970).

Development that follows the waterfall method attempts to lay down a solid (but rigid) foundation early so that risks are mitigated. However, the most common problem with waterfall development is that lots of time and money are spent and accumulated throughout the early stages. By the end of development, the product may not look exactly how you envisioned, yet was locked into its design at the outset.

Although this may still be a feasible method for some projects, for complex projects, it's simply not the best way to achieve success and user approval. Unless you are an absolute ...

Get The Art of the App Store: The Business of Apple Development now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.