Creating an app gets expensive. This is true for all software projects. It never gets cheaper, always more expensive. Each new feature, each minor addition, each new change and interdependency has a compounding effect on the complexity of your software. It’s not long before your once elegant minimum viable product has become a staggeringly complex beast.
This is the inexorable fate of all software projects. You can’t fight it.
The start of a software project is the moment of peak efficieny - the leanest and fastest you’ll ever be. From here on, line by line, feature by feature, your codebase grows and the relative energy required to make changes increases exponentially. Before you know it, even small changes will require a herculean engineering effort to undertake.
You can’t fight this. But you can choose to write less software by adding less features and less complexity.
- Focus on the problems of today. Resist the temptation to predict future problems and build premature solutions.
- Be pragmatic. Slice big problems into smaller ones. Can you solve 80% of a problem for 20% of the effort?
- Be a “no” man. Every feature must absolutely justify it’s existence, and some features just aren’t worth the effort.
- Finally, one great way to offet the ever increasing cost of software development is to have paying customers generating revenue. Don’t build too much too soon. Get to market as early as possible and grow the codebase with the business.