Chapter 2. Money Shapes Design: The Economic Drivers of Software Development
Somehow, software development got disconnected from economic principles. Perhaps it’s because, in the absence of competition & high interest rates, software development tends to be so damn profitable. You could stick to the oldies: put the geeks in a room, lock the door, slide pizza in once a day, and out would come a money machine. That was never the optimal style, but who cares about optimal when you can make money with almost no effort?
The empirical style of software design I advocate here begins with human, economic, & technical principles. Software design is an exercise in human relationships. But let’s start with the money, since it doesn’t matter how human or technical we try to be if we can’t create economically sustainable businesses.
Survival: The Prime Directive
During the early life of a software project, your goal is survival. Get aloft, stay aloft. For software teams, this prioritizes decisions that ensure the project lives to see another day. These decisions are often characterized by rapid iterations and a focus on immediate market needs. While they may not always be the most cost-effective in the long term, they are crucial for giving the project a long term.
The goal of software design during the very earliest phase is “just enough to perform the next experiment.” After some experience, you may notice that the design hinders experimentation. Design just enough to accelerate further ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access