Evolution of projects

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