Does this mean code review is unwise as it is, in some ways, similar to inspection?
I think the “inspection” in code reviews is different enough that we can use code reviews as a valuable tool for managing software development. The waste of having processes that create defects and then use inspection to catch them is certainly something to avoid. A significant part of the effort in code reviews should be geared toward capturing learning that can be applied to current processes to improve them so fewer bugs are created in the future.
In my experience this part of code reviews (using it to improve the existing processes) is not given the focus it should be. So I do believe that code reviews should focus more on why did we find something we decided to fix?
Do we need to update a software development checklist?
Do we need to update our coding conventions document to add more detail or make something clearer?
Do we need to encourage developers to seek out advice when they are uncertain?
In my opinion, using software code reviews to learn and possibly get input is certainly good. This is a form of coaching that is done using the code review process which seems perfectly fine to me. It is an outcome of the code review process that is beneficial and shows it to be not merely a process to catch defects.
Code review as a method of achieving quality (avoiding bugs etc.) is something worth thinking about. As I see it, the practice can make sense given the process of software programming is highly dependent on thoughtful action by a person and is subject to error due to the difficulty of the task. It is different from say, welcoming a guest to the hotel where you really don’t have to worry that if people are trained properly and given reasonable processes and work conditions that they will make a significant error. The software development process isn’t quite so certain.
From a Deming perspective we want to be focusing our efforts on continual improvement. Taking immediate counter-measures to cope with a potential problem is necessary in order to meet customer requirements of expectations. Those efforts are necessary but are not sufficient. Those types of countermeasures can be seen as fire-fighting or 1st order changes.
If we maintain a commitment to second order changes the 3 questions can help us stay on that path. The answers to those questions can indicate whether the effort is focused on a first order or second order change. Second order change require changing the system itself so that going forward there is new process. That change is what we want to iterate over using PDSA cycles to learn and validate the change prior to adopting the change on a wider scale.
Normally the answer to “what are we trying to accomplish?” can indicate if it is a first or second order change. And normally we wouldn’t use the PDSA for first order changes but if you are not careful you can find the focus of PDSA cycle efforts are too limited and amount to little more than discovering the band-aid that will prevent the recently painful problem from continuing. That is likely a necessary activity, it just usually isn’t something you need to use the PDSA process to accomplish. And if you see many of your PDSA efforts are such efforts it is worth trying to shift toward focusing PDSA efforts on second order change.
Answering (and documenting those answers) the 3 questions before starting any PDSA effort is a useful strategy to making the most of the efforts expended on using the PDSA cycle to improve the organization.
This video shows Myron Tribus interviewing Homer Sarasohn in 1988. This post is fairly tangential to the normal scope of this blog but I find it interesting. Largely it is about efforts to rebuild the Japanese economy after the devastation of World War II. Obviously W. Edwards Deming was involved in this effort and his work played a significant role in his life and the refinement of his ideas on management. If you think you might also find it interesting, listen to this interview:
Homer Sarasohn talks about his time in Japan after World War II working to rebuild the industrial base of Japan. Homer focused on the communication industry.
Not only don’t we find any facilities, we find no managers…
The devastation after World War II is hard to imagine. In order to re-build the economy they needed to also re-build management expertise. As with most history you need to place the actions Saron’s mentions in the context of the situation at the time. What was appropriate in the first year or two after the war is not the same that would be sensible today or even 5 years after the rebuilding had begun.
quality control was not a phenomenon of manufacturing but rather it was a dedication of management.
There are still many people that don’t appreciate this truth.
Myron Tribus served as the director of the Center for Advanced Engineering Study at MIT from 1974 to 1986 (when they published Out of the Crisis). My guess is that Myron is best know in the Deming community for his work with David Langford and applying Deming’s ideas to Education. We published a guest post by Myron’s daughter on Using Control Charts to Aid in Improving the Classroom Learning Environment.
If this topic interests you, you may also want to read Embracing Defeat: Japan in the Wake of World War II by John Dower (a long-time family friend). Embracing Defeat won honored with the 1999 National Book Award (USA) and the 2000 Pulitzer Prize for General Non-Fiction.
When I read The New Economics lightbulbs started going on, some understanding of why we are in the mess we are in, and with Deming’s help figuring out what we can do to get out of it.
As I read Deming what I found is that each time I read some of his words and started looking through it I learned something I hadn’t seen the first time through.
But there are times when seeking the special causes of bad results and finding the root cause of that problem and fixing it is the best strategy. One strategy to help identify special causes so they can be studied and addressed is to stratify your data. Brian Joiner provides a good example in his book, Fourth Generation Management (page 142-143).
A garage responsible for city vehicles found a spike in the need to replace fuel pumps. The supervisor asked the mechanics to look into the problem (letting those familiar with the issues address the issue). Since the organization was becoming familiar with using data they dug into the data over the past year.
They discovered that heavy equipment vehicles were responsible for most of the fuel pump replacements. With their mechanical knowledge they knew there was no reason that should be true. So they attempted to determine what other factors could further isolate the special cause of the problem. This is a stratification strategy.
By stratifying the data you refine your view to make it easier to identify what is causing the problem. Instead of looking at all vehicles and seeking to find the cause they had stratified the data and learned they could exclude looking at most of the processes (those that don’t impact large vehicles). And they then sought to further refine the scope by stratifying the data to further isolate the scope of the investigation. As you refine the scope you can discover what is common just to the population you have isolated by stratifying the data.
They discovered that vehicles of all ages had the problem, that it didn’t matter what other repairs had been performed, but that the problem only appeared in diesel-powered vehicles.
To stratify the data sensibly you need for those with the expertise to know what factors are likely to have the potential to cause the problem you are trying to address. As well as people that can think about results that don’t seem to make sense using their specialized knowledge.
Cliff and Jane Norman (Profound Knowledge Products, Inc.) presented a session at our 2016 annual conference titled: Applying Deming’s Philosophy and Theory to Create the Foundation for a Learning Organization.
Cliff, quoting Brian Joiner in the presentation:
It takes one kind of brains to start something, it takes a different type of brains to sustain it.
I would extend “brains” to mean something like: knowledge, authority and psychology (drive, desire, personality…). The idea that we need to pay attention to different needs of starting a management improvement effort and sustaining it is important. To sustain a management improvement effort needs specific types of people and systems. Acknowledge that the transformation of the organization will require moving through more than 1 phase. To succeed in transforming an organization plan for how to create the right environment and involve the right people to sustain your effort for the long term.
Cliff discussed how Deming’s management system requires leaders to change. So, if they don’t want to change (which is common) the progress toward adopting a management system based on Deming’s ideas can be difficult.
About ten years ago, somebody sent me a PDF file of Dr. Deming’s “Some Notes on Management in a Hospital.” I felt like somebody had shared a bootleg tape of my favorite band, as I wasn’t sure the article had ever been formally published anywhere. Since I wasn’t sure if it was a public article, I didn’t share it widely and didn’t blog about it.
I was happy to see John Hunter share the article on the Deming Institute blog last year, along with some context. It had been published in the journal of the Society for Health Systems (an organization I am active with today, including running the Red Bead Experiment at their 2016 conference). Now that the article is out there, I’d like to share some thoughts and reflections on my decade in healthcare improvement.
The SHS journal article starts with a brief introduction, not in the original document, by Dr. Deming that summarizes the key points, all of which are still relevant today.
Too many healthcare workers don’t understand the system or value stream that they are a part of. They know their own work, but they don’t understand the connections to other departments (or even to others performing different roles within their same department). This lack of understanding isn’t the fault of these individuals. Lean methods, such as value stream mapping and improvement projects carried out by cross-functional teams can break down barriers and increase understanding. I’ve seen many organizations progress from blaming those nameless jerks in another department to working together toward the goal of better patient care.
It’s still true today that “hard work and best efforts are not sufficient for the optimization of a system.” Most hospitals and doctor’s offices today aren’t designed as a system. It’s more like a collection of smart, hard-working individuals who have just been thrown into a building in the hope that everything will somehow sort itself out (because everybody is smart, hard working and caring). A system doesn’t design itself and a system doesn’t manage itself. Thankfully, some organizations are learning that “Lean Design” (or “3P”) and similar methods (like Design Thinking) can help design better systems that help people be successful. It’s often not much more complicated than studying the patient’s needs, studying the work, and respecting and engaging team members to have a say in how processes, technology, and spaces are designed and utilized.
From a quality and patient safety standpoint, too many healthcare organizations still rely on asking people to be careful, as if those “best efforts” are a way to prevent human error. The beatings (and blaming and punishing) will continue until quality and safety improve? Thankfully, some organizations are realizing that quality and safety must be built into the system, rather than being inspected in (or worse, “punished in” by blaming individuals who make inevitable mistakes).
Far too often companies promote employees into management positions and expect them to fulfill the obligations of their new position without helping prepare them to meet their new responsibilities. People who excelled at doing their non-supervisory job often have little education or experience to succeed with their new responsibilities.
Managing a software development team is a completely different job from being a great software developer. Most everyone would acknowledge that: but if you look at what actually happens in many organizations the management system is not setup with this fact in mind.
A company with a Deming based management system actually will provide relevant education and experience to all employees that will benefit new managers (much more than most organizations do). Since the Deming management system includes educating everyone on useful management tools and using the abilities of everyone as much as possible most non-supervisors will have gained significant knowledge and experience during their career. In Deming based management systems employees are called on to work cooperatively, coach colleagues, evaluate priorities, assess the success of changes, take proactive action to improve processes, etc.. But in many other organizations this education and experience is often fairly limited.
And even in organizations where everyone is encouraged to learn and take on leadership responsibilities in various ways (leading a project team, leading a PDSA improvement cycle effort, helping colleagues apply a management tool the others are not familiar with, continually improving the standard work instructions, evaluating data to determine the proper course of action…) normally they would benefit greatly from training and education specifically aimed at helping them succeed in their new role.
Large organizations have some advantages in this area as they can afford the overhead to create a plan and provide structure to assist those taking on significantly new responsibilities. Formal internal training and education for those taking on management responsibilities can be very helpful. Of course, one of the problems with such efforts is they often reinforce management practices we, The W. Edwards Deming Institute, are trying to help people overcome. Still, the idea of courses to help people learn about how to be successful managers is a useful one. Just be careful to choose the right content. Good strategies are undermined by poor tactical choices.
Eric Budd’s presentation at the 2016 Annual Deming Institute Conference: An Exercise in Operational Definition.
The exercise Eric uses in the presentation shows how much variation can show up in data – just from how the data is collected. And in this example the data even has an operational definition used in collecting the data. Most data used in business does not have operational definitions known to both those collecting the data and those using it.
The variation in the data from this example also shows the importance of iteration. Iteration allows people to gain a shared understanding of how to collect the data (even when this isn’t written into a formal operational definition). And as this exercise shows even an operational definition should be iterated over before you believe the data generated by the process. How often do you validate the data collection process is working as expected before accepting the data generated by the process?
In Clayton Christensen’s new book, Competing Against Luck, the authors delve into the importance of gaining a deep understanding of what your customers desire. The book lays out a Theory of Jobs to be Done in a very compelling way. To me this is a great example of extending Deming’s ideas with a great deal of useful content on how to effectively become more customer focused.
We all have many jobs to be done in our lives. Some are little (pass the time while waiting in line); some are big (find a more fulfilling career). Some surface unpredictably (dress for an out-of-town business meeting after the airline lost my suitcase); some regularly (pack a healthful lunch for my daughter to take to school). When we buy a product, we essentially “hire” it to help us do a job. If it does the job well, the next time we’re confronted with the same job, we tend to hire that product again. And if it does a crummy job, we “fire” it and look for an alternative.
The article and the book discuss the insight gained by understanding what your potential customers desire (what job the customers are trying to accomplish) and what prevents them from becoming customers.
That realization helped Moesta and his team begin to grasp the struggle potential home buyers faced. “I went in thinking we were in the business of new-home construction,” he recalls. “But I realized we were in the business of moving lives.”
This is reminiscent of W. Edwards Deming’s discussion on truly understanding the needs of customers and also Russell Ackoff’s ideas on seeking solutions by looking at the larger containing system. Often innovative solutions can be found if you expand the scope of what you see as the system. By expanding the scope of your vision from the product you provide (a house) to the larger system you can learn that the objections to moving you hear are not the primary objections. Often it isn’t concern about the house, or competitor’s offerings, that is stopping them from becoming customers but worries about all the hassles involved with moving.
If you see your job from the customer’s perspective you may change the scope of your offerings. You can add services that help the potential customer chose you. In the book, they explore the example mentioned in the article in more detail. They also discuss how an online university changed their processes to address the issues their potential customers faced in the “hiring” process. They changed, not the “product” (education), but the processes supporting potential students making the decision to hire Southern New Hampshire University.
Competing Against Luck is packed with valuable ideas:
Throughout this book we will refer to jobs in shorthand simplistic terms for ease of reference – but it’s important to emphasize that a well-defined job is multilayered and complex. And that is actually a good thing. Why? Because it means that perfectly satisfying someone’s job likely requires not just creating a product, but engineering and delivering a whole set of experiences that address the many dimensions of the job and integrating those experiences into the company’s processes. When you’ve done that well, it’s almost impossible for competitors to copy.
A very simple view of the concept is that customers want ability to create a 1/4″ hole in wood, they don’t want a drill. A drill is a means of getting a 1/4″ hole but if you focus on making a better drill you may miss possibilities for other solutions.
Dr. Deming would talk about the importance of knowing what business you were in. If you are in the business of making carburetors you are at risk of technological innovation putting you out of business. If you are in the business of injecting fuel within internal combustion engines you can then produce fuel injectors that eliminate the need for catalytic converters.