Software Creation Mystery - http://softwarecreation.org

Archive for November, 2009

How to rescue failing software projects: The Toyota Way

The manager slams a door and tells us that we are in a big trouble. Our old customers complain about many bugs and bad performance, new customers complain about delays and lack of dedication. And, top management considers our department financially unsustainable and wants to deeply cut expenses.
The manager tells that we are brilliant programmers, work very hard and create cool software solutions. But there is something wrong and we cannot work this way anymore.

Anxiety started to penetrate our souls. We know what is wrong: our team is short of people, we have too many commitments, our code is becoming a big mess, new technology and our new software version makes something bad with servers. A snowball of different problems makes us stressed, distracted and incapable of productive work.

What could our manager do next?

  1. Distrust. Become a dictator, make own decisions including hiring external consultants to recommend what to do or even replace us. However,
    • we are good programmers and know our business well – the problem is not in lack of skill and knowledge
    • external people will take a lot of time to understand the system and they will have different motivation and won’t care about the long-term success
    • people will be demotivated and the manager cannot make effective decisions without active team involvement
  2. Faith. Give to team the full power to fix a problems and make own decisions in hope that smart people, motivation and technical expertise will do magic. However,
    • fresh outlook and thinking out of box are hard when a team immersed for a long time into difficult situation
    • a team possibly doesn’t have understanding and control over external forces – management, customers, finances
    • changing of reality is tough (especially in people heads) and requires more than technical experience

There is a third way. Place improvement practices in the core of development process. Make self-improvement inevitable and required for any activity. Do it every day.

Toyota Way is the best example of large-scale reliable self-improvement process. It focuses on eliminating waste, solving problems at root cause and making right decisions. Toyota Way reduces problems, increases internal efficiency and makes a company successful. This is the best receipt for coming out of crisis.

Targets:

  • Problems – emergencies, fires that require immediate fix: bugs, server crushes, deadline slips
  • Waste – inefficient and non-value adding activities: waiting, misinformation, stress
  • Challenges – adaptation to external forces (market, competitors, customers, society): new trends and technologies, changes in users expectations for user interface and functionality

Read full post >>

Software Creation Mystery - http://softwarecreation.org
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License .