InfoQ

News

Lean 'Standard Work' Applied to Software Development

Posted by Chris Sims on Apr 20, 2009

Community
Agile
Topics
Agile Techniques
Tags
Toyota Production System ,
Lean

One component of the Toyota Production System is the concept of standard (or standardized) work. A recent post on the Kanban Development list asked if this concept carries over when TPS and lean are applied to software projects. Despite the fact that software development is not manufacturing, respondents did find value in applying the 'standard work' concept to development.

Norman Bodek, in 'Standardized Work - Toyota's Powerful Improvement Process' described seeing standard work in action at Toyota this way:

I noticed a woman on the factory floor putting nozzles onto rubber hoses. In front of her was a [wooden sign] around one inch thick and two feet by two feet. [Affixed to] the wood were examples of the perfect finished piece of hose plus variations of hoses with errors. There were also the quality tolerances for her to check and [beside these] there was space for her to write both the problems she detected and also a place for her to write her suggestions on how to improve the process.

On the Kanban Development list, the original poster's position was that the notion of 'standard work' did not apply to software development.

For me, the breakthrough that Agile made, was acknowledging that software development was not a deterministic process and that there is no "standard work".

Alisson Vale's view was different. He sees standard work as "the way the team does the job today." Interpreting standard work in this way, some examples applicable to an agile software team might include:

In 'The no-nonsense guide to standardized work', Robert Thompson explains:

Employees, not 'outsiders', study the jobs they know intimately in order to uncover best practices and create methodologies for continuous process improvement. Thus they become responsible for solving problems and own the standards that result.

Today's practices are the standard, the best way the team currently knows how to do the work. With the standard established, the team is encouraged to experiment and find ways to improve, resulting in an ever-evolving standard. The idea isn't to use the standard way as something to limit the team. Rather, the standard is to be used a baseline for continuous improvement.

Do you feel that this is an appropriate and useful interpretation of 'standard work'? Leave a comment and share your view.

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

Standardized work by Steve McGee Posted May 28, 2009 4:34 PM
  1. Back to top

    Standardized work

    May 28, 2009 4:34 PM by Steve McGee

    In the example of the woman fitting nozzles on hoses, the standard she was directed toward could be changed by the worker herself, via the improvement suggestion section.

    In this way, the standard is set by the workers themselves, with 'market approval' providing feedback. In a factory production setting, the market is the next person to use the output, the supervisor responsible for quality, the manager evaluating productivity, etc. The demands of the people around an individual worker will shape the decision-making and innovation they apply towards developing the ultimate standard of work - that they have the resources and capabilities to produce.

    So, I think this scenario is really close to what we see in Agile. Developers have their 'customers' who create the environment for them to establish their standards for work. For example, aren't story points standardized? Not across teams, but that is not the issue. Variance in points is discouraged, and quickly discovered through the standardized metrics process. Teams have coding standards, the definition of done (as said before) is agreed on, the language used is chosen, etc.

    I think the thinking behind the idea that software development can't have standardized practices / components is coming from an acknowledgment that the process of development includes a lot of discovery. So is poetry, but even this involves standardized letters, words and (usually) spelling and grammar.

    More important, which Robert Thompson's quote seems to point out, is the difference between who sets the standard.

    One of the more powerful parts of agile methods like Scrum is that the responsibility to make decisions tends to be in the hands of those who are accountable for them - as well as who have the capabilities to make them - more often.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.