How Lean Can Be Applied to Software Development

Software and IT experts discuss the best ways that methods such as business process managment and Agile can be applied to a Lean software development program.

Following a request from a Discussion Forum member about information on the application of Lean in software development, several members provided advice and insight about the best tools to use. Responses varied from the use of Lean to control the flow of IT projects, to tying in business process execution language to BPM software, to the adoption of Agile development methods. Here’s what our readers had to say:

Message: #21128
Posted by: Emma Chen-Banas
Posted on: Jan. 15, 2010

Hi. I’m doing research about Lean software development to explore any opportunity for my IT organization. Any information, idea or past experience on this topic is highly appreciated. Thanks.

Message: #21137
Posted by: Jonathon Andell
Posted on: Jan. 27, 2010

I’m not sure this contribution will serve for “research” purposes, but here it is. My perception is that Lean itself is unlikely to improve the writing of code, unless the code itself is going to contribute to some form of Lean implementation.

However, the methods of Lean can be used to manage the flow of projects. Many organizations use “push” processing to start a ton of projects, all of which spend most of their time in queue at various process junctures. Lean can help organizations develop objective ways to sequence and assign projects. Ultimately, a Lean software shop should be able to deliver more projects at higher quality than a shop using “push” methods.

Handpicked Content:   Australian Bank to Revamp IT with Lean Six Sigma

Message: #21142
Posted by: MBBinWA
Posted on: Feb. 10, 2010

Lean applies to development as it would to any business process – identify the waste (non-development activities) and find ways to eliminate or minimize it. I also recommend looking into Agile development. In my experience, the iterative approach and voice of the customer emphasis bring the feel of a Kaizen to development teams.

Message: #21143
Posted by: Charles Spence
Posted on: Feb. 10, 2010

If you’re interested in Lean software development, then you need to explore This site is [from] Mary and Tom Poppendieck, who are, by most accounts, the leading source for Agile/Lean development.

Message: #21146
Posted by: Warren Hodgett
Posted on: Feb. 22, 2010

Hi Emma. I’m not sure if I can be of help, but maybe. I’m currently working for a company called T-Impact, and we specialize in automation of business processes. We have three tools to do this: Lean Six Sigma (DMAIC), [business process management] BPM software and [business process execution language] BPEL. The latter may be something you’re familiar with.

Essentially, we have been able to prove that BPEL, when tied with BPM and Lean Six Sigma, can very quickly automate a process without the need to alter the underlying systems (BPEL being used as a process orchestration layer which sits above and can interact with the underlying systems). This means that changes to IT can be done very quickly by creating a clever front end. BPEL links directly to BPM, which is used to map, model and simulate the business process.

Handpicked Content:   Use Cases and Measures: Strengthening the Six Sigma Link

Message: #21150
Posted by: Don Strayer
Posted on: Feb. 24, 2010

I agree. Also consider Scrum. The impetus for the Agile manifesto and Agile software development methods arose from Lean thinking. I’ve worked with organizations that put a lot of effort into value stream mapping and other Lean techniques to reduce waste in their waterfall [systems development life cycle] SDLC and management oversight focused process management processes. They just didn’t get it. Agile is Lean.

Comments 4

  1. gsb

    Lean can definately be used for software development but only in certain parts. There are certain tenets of Lean which are helpful in testing eg SMED for testing; Use of Visuals to track the progress, etc. Agile is lot closer to Lean in terms of concept; however they shold never be confused to be same. Agile works very well for projects which have requirement changes but not very well for a enhancement type of work.

    Hence the call on what to use would depend on lot of factors eg type of development work; experience of the developers (Agile works very well when the team is highly matured), etc.

  2. Eric Quinn

    When people think about Software Development, a lot of times they only think about coding (sometimes they also about requirements and testing). However, the Software Development Life Cycle is more than just coding. The Software Development Life Cycle is the end to end process that is followed to build and deploy software. Lean can be applied to any process, whether it be software, manufacturing or any other kind of process. We are currently using Lean to improve our estimation process. I would suggest that before implemented a Lean project, make that the process is documented and that people are following the documented process. That is the easiet process improvement activity.

  3. Jyoti

    Hello Emma , even i am doing my thesis in lean development. I am not able to convince my my teachers that lean can be applied to software. According to them since it is applied to the process of developing software(SDLC), it is a part of management. How do i convince them that improving the process is also a part of software engineering?

  4. Ramesh Harimugundan

    Hi Jyoti,
    please find below the cases / examples:
    1. Incorporate “Mistake Proofing” concept when you build any feature in software development
    2. Visual Management (Visual Display / Visual Control) when we develop any application that will have some visual dashboard
    3. Explore Non Value added activities ( NVA / NVA-R) using VSM – this would trigger many improvement projects
    4. Any quick improvements using Kaizen principles {small automations / usage of re-usable components / testing tools / code review tools usage etc}
    5. Incldue JIDOKO when you build a feature for any safety / critical elements. This will have automation with human intelligence feature.
    6. Consider SMED: try to reduce the resource ramp up time (KT) by having knowledge repository / best practices in place

    Hope this helps.

Leave a Reply