One lesson of rapid software development seems to be, that once you head down that road, you’re committed to it. You must develop and redevelop at a certain pace, because the stack underneath you, composed of myriad open source projects maintained by a constantly changing group of individuals with constantly changing interests, is inherently unstable.
Your initial time to market is extremely fast, but your ongoing maintenance is higher. If you simply stop working on it, it will rapidly cease to function, and cannot be resurrected, because so many things will simultaneously become outdated that it will be impossible to figure out how to fix it.
Continuous integration not only permits, but demands continuous work.
Even adding no new features, a rapidly developed system demands a large amount of continuous developer effort to maintain. More features added to such a system make this effort requirement increase faster.
All the while, people are losing interest in your application stack, and maybe there’s another key observation to be found here:
If the fashion of your software stack was instrumental in attracting developers to it, it will similarly eventually drive them away, because a live system on a startup budget generally cannot evolve much beyond its roots.
In America, with people in America, it generally takes at least four years to establish an Internet tech business from the ground up, and if it takes longer than eight years to get acquired or IPO, it will start to fail.
There are no exceptions, because its not simply about code, or developers; its about people, living within a certain culture. Even if you are far beyond the ability of the average person… even if your entire management team is stellar, you are still limited by the culture that surrounds you; the culture of the people you depend on.
Taking a big step back, we’re simply stuck in a way of thinking that dates to the industrial revolution. Those problems are solved, and we only find ourselves in these races because so little of that ground has yet to be exploited.
We have things. We have information. We have entertainment. We are still pretty unhappy; probably more unhappy than ever, because we are not rational economic entities; we are humans.
Efficiency has nothing to do with happiness.