For any project, follow these steps
Make it work
Make it right
Make it fast
In this exact order
It's important. Let me explain why
Thread



In this exact order
It's important. Let me explain why
Thread


When starting a project




Do anything it takes to solve the problem — and have a working system

When it's validated, we improve it:



Here we pay back the technical debt from step


Once it serves users



Here we optimize the solution from step

If we don't follow the steps in this order, we may get into premature optimization
We lose focus and spend time doing micro-optimizations instead of bringing value
We lose focus and spend time doing micro-optimizations instead of bringing value
Premature optimization can take many forms:
Making our app faster without proper benchmarking
Designing the perfect architecture
Getting the OOP design right from the start
Don't do it, focus on making it work first



Don't do it, focus on making it work first