15 Lean Failure Lessons from Software Development, 2/3

15 Lean Failure Lessons from Software Development, 2/3

By Steven Bonacorsi

0/5 stars (0 votes)

15 Lean Failure Lessons from Software Development, 2/3

Lesson #6 Difficulty in Testing Our Systems

“When we had electromechanical systems, we used to be able to test them exhaustively,” says aeronautics and astronautics professor Nancy Leveson at MIT. We could think through all possible configurations and interlocks controlling train movements, put them on a few sheets of paper, and run physical trains through these configurations. We could build, test and know exactly what we were dealing with.  Lean is a system of human behaviors, which are not as reliable as electromechanical systems. We can’t exhaustively test how people will react in each new situation they encounter. When we build a lean management system, there will be bugs. We need to run experiments, tolerate failure, learn and adapt. If we expect people to always act rationally, we are in for a Lean failure.

Lesson #7 Requirement Errors, Not Coding Errors

“The serious problems that have happened with software have to do with requirements, not coding errors.” It is the rare and fortunate Lean transformation that begins due to clear requirements and pressure to change from customers. When a good customer can tell a business what they need in order to secure future business and grow profitably together, the transformation gains direction and energy. A Lean efforts that focuses on cost at the expense of customer and supplier relationships, or increases capacity without a growth plan, is courting a Lean failure.

Lesson #8 Faithful Followers, Bad Instructions

“The software did exactly what it was told to do. The reason it failed is that it was told to do the wrong thing.” Lean can help us do things efficiently, even things that we should not be doing at all. Like software, Lean fails due to bad design even when the execution is good.

Lesson #9 Ask People What They Need

According to the article, Microsoft’s integrated development solution Visual Studio, used by about a third of all professional programmers, has over 55 million lines of code. More than 98 percent of it is completely irrelevant to the user, missing fundamental problems that people were facing. Lean fails when the people who are leading the effort don’t go to the people who will live and work within the system each day, and ask them what they need in order to do their job successfully.

Lesson #10 Communication Problems

In software development, communication may be the weakest link. The main problem is not know-how, it is know-what. The people know how to code. The problem is what to code. Requirements are are vague and ambiguous, allowing each person to interpret it slightly different way. The article argues that there is a stronger need to study how programmers perceive the tools for software development, rather than build new tools. That’s true of Lean also. It’s often peoples’s perception, misunderstanding or misplaced confidence in Lean methods that cause failures, not the lack of a powerful enough problem solving methods, kata cards or templates.

To be continued.

Original: http://blog.gembaacademy.com/2017/11/06/15-lean-failure-lessons-from-software-development-2-2/
By: Jon Miller
Posted: November 6, 2017, 10:00 am

comments powered by Disqus

Steven Bonacorsi

Steven Bonacorsi is the Founder of the Lean Six Sigma Group, President of ISLSS, and Lean Six Sigma Master Black Belt

Steven Bonacorsi, President at the International Standard for Lean Six Sigma (ISLSS)
- Master Black Belt in Lean Six Sigma Methodology.
- Expert in Kaizen event for rapid project execution.
- Certified PMP (Project Management Professional)
- Masters in Business Administration (MBA)
- Masters in Computer Information Systems (MS-CIS)
- Numerous IT certifications.
- Over 20 years of Professional Business Consulting experience at the C-Level.
Executive Master Black Belt leading $ billion business transformation projects globally in multiple Industries. I am a leader who delivers results.