What Enterprise IT Could Learn From Web Developers
Director of Web Technologies at Sun Microsystems and member of the Technorati advisory board Tim Bray, has published a blog entry calling for Enterprise systems to "adopt some of the cultures and technologies that" resulted in community development projects such as Facebook, Google, Twitter, Ravelry, Basecamp, TripI and GitHub.
According to Bray, Enterprise Systems are doing it wrong, "billions and billions of dollars worth of wrong."
He extols the virtues of the web-based community of developers, claiming they can "deploy better systems at less cost in less time at lower risk than we see in the Enterprise." He cites the specific examples of Raverly, Twitter and Basecamp and encourages the reader to imagine asking "one of the blue-suit solution providers to quote you on building Ravelry or Twitter or Basecamp. What would the cost be like? And how much confidence would you have in a good result?"
He admits that "obviously, the technology matters" and proposes a brief formula for a successful application: "dynamic languages and Web frameworks and TDD and REST and Open Source and NoSQL at varying levels of relative importance.”
Bray then proposes a two part plan to rectify the problems he perceives with Enterprise Systems. The first part, is simple:
Don't Build Your Own Systems
“Get 'em pre-cooked from Oracle or SAP or whoever," Bray advises. He cannot "imagine any nonspecialist organization for whom it would make sense to build an HR or accounting application from scratch at this point in history." Referencing technology author Nicholas Carr, Bray proposes that:
“Everything would be better if we could do IT the way we do electricity; hook up to the grid, let the IT utility run it all, and get billed per unit of usage. This is where all the people now running around shouting “Cloud! Cloud! Cloud!” are trying to go.” Tim Bray.
But cloud computing isn't always the answer. Bray aknowledges that sometimes, companies must implement their own systems, which is where the second part of his plan comes in. Part two, is perhaps harder to implement:
Alter The Enterprise Culture
'Enterprise IT has spent decades growing a defensive culture based on the premise that you only get noticed when you screw up, so that must be avoided at all costs" which is the very antithesis of the "cultures and technologies" he sees in web-based development. He recommends taking more risks, coupled with a streamlining of development processes. In his opinion, applications like Facebook, Google and Twitter "simply cannot be built if you start with large formal specifications and fixed-price contracts and change-control procedures."
“(In web development) the time between having an idea and its public launch is measured in days not months, weeks not years. Same for each subsequent release cycle. Teams are small. Progress is iterative. No oceans are boiled, no monster requirements documents written." Tim Bray.
This shift to an initerative development strategy,
is what Bray proposes whenever Enterprise IT has to develop its own
systems from scratch.
His blog has resulted in some disagreement in the blogosphere, especially regarding his recommendation that developers should buy "pre-cooked" systems. Martin Probst was clearly dubious about these so called "pre-cooked" systems, saying:
"It reduces the risk somewhat because you pay a fixed price......but on the other hand, I've seen so many off-the-shelve solutions that were so ridiculously bad it's downright unbelievable someone can win a single sales pitch with them........just because you left it to a "specialist" doesn't mean you actually get a certain level of quality." Martin Probst.
Paul Houle cited cost of integration as a reason not to purchase external systems:
"Systems integration of COTS software can, in the worst case, be every bit as expensive as developing what you need in house." Paule Houle.
Meanwhile, co-founder and a principal consultant at innoQ Stefan Tilkov claimed that the self-build vs. pre-cooked systems argument, hinges on the nature of the individual company:
“I think it’s an excellent idea to use commodity services in all areas where you don’t have, nor want to have, any competitive advantages. But you should build something on your own if you want to innovate." Stefan Tilkov.
Bray's message that Enterprise Systems could learn a thing or two from web development, has resulted in plenty of theorising in the blogosphere. David Megginson, principal of Megginson Technologies, took up Bray's challenge of envisioning "the blue-suit solution providers.....building Raverlry or Twitter or Basecamp" and perhaps came up with a different vision to the one Bray was suggesting:
"It would take a brave (and well-funded) CTO to really emulate the web application development environment: she'd have to authorize (say) 500 one- or two-person projects and wait for natural selection to pick the most viable ones, reassigning people to the winners as the losers drop out, until after a couple of years she has one or two decent, fully-developed apps left standing." David Megginson.
Another poster agreed:
"You are ignoring the fact that for every Facebook and Twitter there are hundreds of similar efforts which failed. The overall success rate of web startups is *significantly* lower (read: orders of magnitude) than in the enterprise IT field."
The original post can be found at Tim Bray's personal blog.