My notes on evolution of projects as it progresses over time
The simple beginnings
- Everything is simple
- Easy to add
- Easy to pivot
The troublesome middle-age
- Harder to add
- Impossible to pivot
- Everything has to be refactored to make room for additions (time consuming) if you skip refactoring then you get impossible structures that will be impossible to fix / maintain / add new stuff
The maintenance era
- The features have found their optimal state, you have a refined product tested over time
- You tweak, refactor with tests, add small additions. Remove small things
The pivot
- Times have changed, and there is new demand, either make v2 from scratch or try bigger refactors with bigger design changes, or spin off into a new startup and create product nr.2