CHAPTER 12 Predictive Models

The best way to predict your future is to create it.


Prediction is very difficult, especially if it’s about the future.



  • Predictive models, when they are useful, and when they probably won’t work
  • The waterfall, waterfall with feedback, and sashimi models
  • Incremental waterfall variations
  • V-model and the software development life cycle

The chapters before this one describe specific tasks that you must perform for any software engineering project. In every project, you need requirements, design, testing, deployment, and maintenance. Up to this point, I’ve sort of implied that you’ll follow those steps more or less in order one at a time. (Although I’ve hinted several times that steps may overlap.)

Exactly how you handle those tasks can vary depending on the scope of the project. For a large traditional project, the specification might include hundreds of pages of text, charts, diagrams, and use cases. For a small project that you’re writing for your own use, the specification might be all in your head, and you might “write” it while walking the dog or singing in the shower.

The “large traditional” approach and the “for my own use” approach are two models of software development. The chapters in this part of the book describe some typical software development models in a bit more detail.

This chapter describes some predictive development models. The section “Predictive ...

Get Beginning Software Engineering now with O’Reilly online learning.

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