Skip to main content

The Software Project Lifecycle

All projects follow the same lifecycle pattern, or theme. What varies from project to project is the amount of time between stages.
  • Embryonic projects consist of presentations, problem statements, solutions, Slack workspaces, and other forms of optimism. We can do this!
  • Infant projects consist of proof of concept prototypes built by at most three developers. There is no error handling.
  • Baby projects have a source code repository and programming guidelines. It might be possible to run it on your own laptop. Fat chance.
  • Toddler projects have automated builds and unit tests. They “go live,” always too soon.
  • Tween projects have bug tracking systems. Users are unpaid testers.
  • Teenage projects have a release candidate that evolves, usually much longer than anyone expects, into the sacred “one dot oh.” Most projects fail during this stage due to infighting or insufficient funds.
  • The teenager ages into adulthood via 1.0 patch releases and then eventually into 2.0. Quality and revenue are reliable.
  • The project regenerates itself, Dr. Who style, with fresh new team members and code bases for hopefully many years of release parties
  • Old age sets in with attrition, competition, mergers, unmaintainable spaghetti, old technology, and security  breaches
  • Death eventually wins 💀 

Comments