Notes from TheServerSide Java Symposium March 2009
At a keynote talk, you expect sweeping generalizations and “big picture” insights.
Rod pointed out some things that I have watched happening over the past two decades, namely the rise and fall of complex monolithic software systems as an expensive luxury that falls in favor of simplicity along with economic cycles.
“Enterprise Java” has a reputation for complexity, based on the early (failed) J2EE platform, and giant enterprise software systems like those from IBM and BEA. “Complexity is the single biggest killer of projects,” he says. I concur.
“Economic downturns reduce software complexity. Truly bad ideas need a booming economy to survive.” I never thought of it like that, but it should have been obvious.
Service Oriented Architecture (SOA) is one of those complex frameworks that he claims is doomed at this point.
So the movement now is to “lean software,” simpler modular systems that don’t try to solve every problem but focus on doing one or two things well.
His examples, past giants of complexity: IBM, BEA, Sun. Today’s leaders: Spring, Hibernate, Ruby on Rails, Django, Grails, Eclipse ecosystem.
In terms of business management, this means that companies move away from the large portfolio software solutions that require huge quantities of support and complexity. The movement is toward point solutions that are smaller and more targeted. This is a pendulum that directly follows the economic cycle.