Software people say that software development is different than any other business. You’ll hear the same from marketing, sales and other businesspeople. Even as software has become such a core business operation, it’s still considered black magic.
The divide between developers and management has been growing since people started writing code. In the last decade, it seemed that new agile development approaches would bridge it, but we’re currently seeing signs that the bridge is not so stable. If we’re not careful, we’ll be right back where we started.
But I’m getting ahead of myself. Let’s go back to the beginning.
The “prehistoric” era
We’ve been conducting modern business operations for the last half millennium. We’ve had some time to learn how to sell, market, invest and manage people. We may not be great at all of those things. It may seem that these things changed over the last decades. Yet, the principles are still there.
Software is an infant compared to the rest of the traditional business practices. We’re still taking our baby steps. As IT and software have become important to organizations, we tried to implement the same management principles in software groups. Applying the “old” principles to “new” people has not achieved acceptable results.
We saw this in the first early CHAOS reports: Software projects were failing left and right. Features were developed but not used. Specification documents, too heavy to lift, were written for years before writing one line of code. Product releases were late for months and years, missing the market. Software has become the troublemaker.
As you can expect, businesspeople were not happy. Lots of money were poured into software projects (and went down the drain). The high salaries for top talent didn’t transform into company revenue. “What are we paying these guys for?” was thrown around a lot.
“These guys” were also not happy. Management kept changing their minds about what they wanted. Everyone had an opinion, and developers were pulled in many directions. There was never enough time to make sure the software worked, since the sales guy promised it to the customer last week.