The right process will produce the right results.
A core concept of the Toyota Production System is the right process will produce the right results. The “right process”. What exactly is that? Software development practitioners spend entire careers in search of it. Everyone has ideas and rationale to support various methods including Waterfall, Agile, and Hybrids.
But there is more here than a methodology match. As I consider how to adopt and grow Lean business principles in IT, I face a classic dilemma; how do I influence standardized tasks and visual controls into a software development process? Software developers are a different breed of office worker. Many of them have personality traits which make consistent processes quite a challenge.
Are software developers rule followers?
Here’s what I know about guys and gals that write code for a living:
- They are puzzle solvers
- They are inspired by writing code not documenting progress
- They don’t enjoy estimating because they don’t want to time box their craft
- They are artists who care more about how code is written than the process used to govern the project
So here’s my dilemma. A software developer is a person who is a creative problem solver that needs space to be an artist and really just wants to write code. How I put that person in a system that seeks to define standard processes and visual controls as a means to provide customer value?
Software developers are rule followers. They write code against a predefined language syntax. They crave requirements up-front before they start writing code. But software developers are also artists. They want freedom to express their talents through what they create, not a set rules defined by someone else.
Lean IT. Finding common ground.
When faced with opposing viewpoints, I believe the best approach is to focus on common ground. What do Lean IT and the attributes of a software developer have in common? Everyone wants these things:
- Eliminate waste – Businesses like the effect on the bottom line. Developers don’t like spending their time on busy work.
- Increase customer value – Businesses like the effect on sales and repeat sales. Developers like having jobs and customers giving them new problems to solve.
- Standardized work – Businesses like repeatable tasks that can be improved. Developers like a clear definition of what is expected of them.
Starting with these concepts, I think it’s possible to get developers on board with Lean IT. With a little flexibility, compromise, and focus on the core business principles of Lean, a team can move down the path of increasing customer value. Let’s start there.
Onward and upward!
Photo credit: https://flic.kr/p/6U71RM – Jeff Sandquist via Creative Commons