• software-engineering
  • product-development

The hardest part about making good software that ships on time is knowing what and when to sacrifice. As programmers and designers, we often fall in love with our requirements and are unable to kill our darlings. We mistake what we said we’ll do with what must be done. It’s rarely so; you can always do less.

What stops most people from doing less is the fear of failure. The misconception that if you don’t get it all done, the rest is worth nothing at all. That without this feature or that tweak, nobody will want to use it at all. Bollocks. Most software has a tiny essence that justifies its existence, everything after that is wants and desires mistaken for needs and necessities.

David Heinemeier Hansson|You can always do less (