|
TELECOMS AND SOFTWARE NEWS
|

|
 |
The case for Lean software development
Tony Baer
The case for Lean software development
Lean development is the latest methodology to be debated by the Agile software development community. Patterned after Lean manufacturing, Lean development involves constant performance measurement in an endless pursuit of improvement and waste elimination through value stream analysis. Yet many Agile developers contend that value stream analysis will bottleneck the process and that software development is too variable and unpredictable to support methodologies rooted in manufacturing. Such arguments miss the point - both goals are essential to improve software development quality and cost. As long as analysis paralysis doesn't hamstring developers, Lean development principles could help improve software development consistency and predictability.Agile approaches have focused on response to change, but don't always consider the big picture
The case for Agile software development, formalized by the Agile Manifesto of 2001, values working software over working plans. Agile approaches assume that in fast-changing competitive environments, business requirements for software are moving targets, and software development teams must be constantly prepared to shift plans. Applied properly, Agile methodologies are responsive to changing needs, as development teams adapt their plans with each new development cycle. However, a key weakness is that emphasis on responsiveness to change could come at the expense of planning the big picture.Proper Agile practice includes high-level planning to ensure that teams don't veer off course, but the emphasis on responsiveness and execution makes it too easy to lose sight of the ultimate goal.Lean software development helps developers get the big picture on team productivity Lean software development is the latest methodology in the Agile mix. Patterned after Lean manufacturing, Lean development drives teams to continually measure their performance in pursuit of waste elimination. At each step of the process, teams conduct value stream analysis to identify problems and refine best practices. Value stream analysis fits well with any software development methodology, but the concept has drawn the most scrutiny in Agile.The best-known proponent of Lean development, Mary Poppendieck, claims that software development is like manufacturing and that developers could learn valuable lessons from Toyota, which pioneered Lean manufacturing.We agree with Poppendieck because software development, like manufacturing, produces durable goods that include multiple pieces. The processes for making those pieces are suited for value stream analyses that can build the big picture on team productivity.Debate reveals that many software developers don't get the big picture Lean development has become a hot topic in the Agile community, based on two arguments. First is the contention that value stream analysis will add unnecessary bottlenecks, and second is that software development is a special case to which manufacturing metaphors do not apply.Admittedly, there is good reason for developers to question the idea of adding analysis to a process that is supposed to emphasize response and execution. Agile originated largely because more traditional processes, such as Waterfall, Iterative and Spiral, succumbed to analysis paralysis too easily. Admittedly, conducting just the right level of analysis is a delicate balancing act. However, it is one with which teams should experiment to see which parameters provide the most impact.The second argument is of greater concern. Many in the Agile community claim that value stream analysis won't work in software because unlike manufacturing, software is not made of uniform or similar pieces with which you can make apples-to-apples comparisons on performance. Furthermore, they claim that software content and plans are more variable and less predictable than manufactured products. We disagree, as software developers ignore the fact that many manufacturing processes, such as the mass customization of the computer industry, can bulk produce based on practices that should be familiar to developers experienced in SOA or component-based development: that unique solutions can be based on standard parts. Admittedly, there is no single software development methodology that applies to all software development projects - so not all projects will lend themselves to Agile or Lean. But that does not deter the fact that every software project can benefit at least from scrupulous tracking of team performance, which is at the heart of Lean development.
About:
This article is an extract taken from Ovum's Straight Talk service. This daily email bulletin provides our expert's views and opinions on important news and events in global IT and telecoms. If you have a comment or question regarding this article then please submit your details here:
If you would like to find out more about Straight Talk please contact StraightTalk@ovum.com
If you would like to find out more about Ovum services then please click
here for details
|
|
|
 |
|
|
 |
|
|
|
Contact Us
|
|
|
Expertise
|
|
|
|
|