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