The Future of Software Development, Part II
// February 22nd, 2008 // Emerging Tech
The coming disruption the big software companies are blind to…
In my last post, I laid out the reasons as to why software development was about to experience a serious disruptive force. I made the argument that open source software, while highly valuable, couldn’t continue to try to live outside the economic realities of our real world lives. But OSS has obviously worked: look at the successes we’ve seen to date. And I concede the point. However, I believe that OSS has been able to carve out a niche because there have, up until now, been no viable alternatives. And that may actually be changing…
Enter SaaS Marketplaces, Collaborative Development Environments, and The Future.
Which is where SaaS marketplaces enter the picture: what if there were online environments where developers could create, collaborate, and connect? What if they could have a central “hub” which allowed them to connect with potential employers? What if they could collaborate on common components, assemble those components into larger entities (i.e. applications), then sell those applications (or utilization of those applications) and…and here’s the kicker…actually be compensated for their work. Imagine if you leveraged the freedom of OSS and at the same time appropriately compensated developers for their effort. Afterall, the value developers creates far exceeds that which an assembly line worker back in the 50’s contributed to the overall profits of a corporation—one developer has the potential to significantly contribute (or, conversely, redact) from the bottom line. The problem with corporate software development, today, is that it is actually setup to discourage exactly the very kind of contributions which could have significant impact (where’s the incentive for the developer?)
“Rather than tie themselves down to a specific job with a specific company, instead developers will become software development consultants—bidding on projects, winning projects, and executing on them when they are hired by clients.”
Now for the Disruptive Part…
What’s most interesting is what happens when one considers the implications of a marketplace, as envisioned, above: software developers become, in effect, contract “mercenaries”. Rather than tie themselves down to a specific job with a specific company, instead developers will become software development consultants—bidding on projects, winning projects, and executing on them when they are hired by clients. Interestingly, this also has some nice side benefits: it allows the developers to sidestep the downward spiral of the “specialization” effect on their skill set, thus granting them a huge level of freedom (getting tired of working on back-end systems? Try your hand at GUI work, instead). Developers can suddenly work on a diversity of projects, with a diversity of colleagues. Development teams would likely naturally form (as developers discovered other developers and team members that they like to work with), but nothing ties the developer to said team: they can decide at any point to take on an entirely new project with entirely new team members. This, in addition, broadens a developer’s professional network, exposing him/her to a much broader base of experiences as well as techniques—arguably making for a better developer in the end.
For the corporations, this actually works out too. Remember when we earlier talked about offshoring? In effect, should software development evolve along the lines stated, above, you’d have a kind of nullification of the offshoring effect: it’s not a matter of where it’s cheaper to house employees—it’s more a matter of who the best developers are—regardless of location. Sure, cost will still factor into the equation, but at least the playing field will be leveled in that companies will naturally value creative solutions which provide them the maximum of flexibility over the “cheap” solution. This means that a good developer—no matter if you’re Ukranian, Indian, Chinese, American, Spanish, or Dutch, would get the work. And for the corporation, it actually maximizes their efforts by most efficiently utilizing resources (read: money) spent on development efforts.
“…companies which fail to adapt to the new realities of software development will find themselves in danger of irrelevance. This new paradigm cuts out the middleman—and thus potentially could disrupt the entire software industry.”
In the end, it’s the application of marketplace economics on software development—something we’re already seeing in the form of marketplaces for web services (StrikeIron is a great example of this) and in componentized apps (widgets and mashups are another good example). If the market should move in that direction, it will pose an immediate and significant challenge to traditional software companies (IBM included): companies which fail to adapt to the new realities of software development will find themselves in danger of irrelevance. This new paradigm cuts out the middleman—and thus potentially could disrupt the entire software industry.
The benefits, however, far outweigh the potential negative consequences, assuming corporations are willing to adapt to the new realities. In essence, it’s nothing new, really: companies are forced to adapt to change constantly. The question is which companies will embrace this new model, and which will attempt to fight it? Answer that question, and you’ll know who will be the dominant players in the software industry ten years from now.