Move Over, Open Source, Lean Software Is the New Black for Developers (
Page 1 of 2 )
Lean software is an approach to building software that promotes simplicity and minimizes resource usage. Forrester analyst John Rymer says he believes the application development industry must move to lean software as the next development paradigm in order to move ahead. Lean software could be the antidote to bloated vendors, products and applications and could be helpful in a down economy, Rymer says. Rymer also offers several predictions for the application development market, including that Sun Microsystems may not survive.HOLLYWOOD, Fla.—Just
as open source took the software industry by storm, Forrester analyst John
Rymer says he believes the industry needs to shift to a new paradigm he calls "lean
software," which focuses on simplicity and avoids complexity wherever
possible.
"This is something we're predicting will coalesce; right now it's a
bunch of individuals doing this on their own, but we expect lean software to
catch on," Rymer told the audience of developers here at the annual
SpringOne Americas conference for Spring developers. Rymer said his lean
software message was particularly relevant for the Spring audience because the
Spring Framework represents a prime example of lean software. Spring was
developed to combat the complexity and "heaviness" of J2EE (Java 2 Platform,
Enterprise Edition) and EJB (Enterprise JavaBeans).
Rymer defined lean software as:
An approach to building, delivering
and running software that values fit-to-purpose, simplicity and time to results
above all. Lean approaches minimize complexity, startup time and resource
usage, and [avoid] features and methods not essential to fulfilling the
application's business purposes. Developers can easily combine Lean software
components with others when large systems require more features.
Rymer also listed seven lean software principles for developers to adhere to
when going lean. The first is to "use fit-to-purpose tools and
platforms." The second is to "employ a lean and agile development
process." The third is to "follow standards that enable pluggable
components for tools and applications." The fourth lean software principle
is to "hire skillful developers." The fifth is to "leverage open
source," the sixth is to "optimize deployments" and the seventh
is to "rent or outsource context and own core applications."
Discussing pain points developers face, Rymer described how going lean can
lead to an "antidote" for several of those pains. For instance, EJB
containers require heavy configurations, he said, and the antidote to that is
Spring. Another example is that the WS-SOAP (Simple Object Access Protocol)-based
specifications are complex to use. The antidote for that is REST (Representational
State Transfer). In another example, Rymer said Java EE and .NET
development is hard and not fun. The lean software antidote for that is the use
of dynamic languages such as Ruby, Perl and Python. Another developer pain
point is that projects take too long and too often miss the mark. The antidote
for that is agile development methods, which "link developers and users to
hit the mark quickly."
In addition, Rymer listed the OSGi (Open Services Gateway Initiative), SAAS
(software as a service) and PAAS (platform
as a service) as modular and elastic alternatives to heavy solutions.
"There's something going on here and it's bigger than lightweight
containers," Rymer said.
However, do not expect going lean to cure all ills, Rymer said. "Lean
software shifts complexity, but it doesn't eliminate it," he said.
"Lean is a developer lead, but others must be convinced it will
work."