Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Mindfulness and Situational Awareness in Organizations

Mindfulness and Situational Awareness in Organizations

This item in japanese

To thoroughly remove waste in a process you need flow to deliver just in time, and mindfulness and situational awareness in the organization to handle problems with processes and built in human intelligence. More and more organizations apply concepts from flow to develop what is needed and when it is needed and use pull system to prevent inventories. What they also need is “Jidoka”: mindfulness and situational awareness.

Mary Poppendieck talked about the aware organization at the Lean Kanban Central Europe 2014 Conference. In her talk she explored how mindfulness can help to become an exceptionally safe, reliable, world class organization.

Mary explained the military model for scaling. There are two things are important for scaling. First the squad leader has to understand the command intent up to 2 levels up, meaning understanding the purpose of the campaign, the desired results and the expected tam progress towards achieving the desired end state. Second they have to maintain situational awareness of the progress of the other platoons, knowing where they are and how they are contributing to reach the end state.

Next she talked about the corporate model which is about high reliability organizations. These are organizations where crazy stuff happens, they have more that their fair share of unexpected events and les than their faire share of accidents. A common characteristic of these kinds of organizations is mindfulness.

According to Mary there are five things that contribute to mindfulness:

  • Sensitivity to Operations
  • Reluctance to Simplify
  • Deference to Expertise
  • Preoccupation with Failure
  • Commitment to Resilience

Sensitivity to operations means that people have an overview of the total process of which they perform a part of. They have an understanding of why they are doing the things they do and how they fit into the whole.

The wrong reason to automate tests is to save labor, it prevents doing test automation for the right reason said Mary. Tests should be an executable specification which can be used as a regression test. You should automate testing to ensure that you always have good working stuff.

Visualization helps to build an understanding of processes and see the progress and bottlenecks. Mary gave an example from Alan Mulally from Ford. He stated that to win people should be working together as teams, in stead of holding executive accountable for numeric goals. After setting a vision for Ford he did several things to create executive awareness. There was an information center, a big room with charts, and Alan arranged to have weekly meetings with the executive team to discuss the problems and address them as a team. Seeing the bigger picture executives where able to take action more effectively and quicker.

We should be reluctant to simplify said Mary. The previous generation of software engineering which used software development lifecycles like waterfall or the V model is a strong oversimplification which does no help to understand what is happening. The same can be the case for the current generation which is based upon agile and lean methods. She stated that the next generation of software engineering will be based on continuous delivery.

According to Mary continuous delivery is an acceptance test driven process where business and cross functional delivery teams work together intensively. Development is done on the mainline with continuous integration, the software is always ready for production and releases are tied to the business needs.

Deference to expertise asks for the most knowledgeable people to make the decisions. Senior people should make sure that the problems are solved at the bottom of the organization said Mary. Passing problems and solutions through the hierarchy takes too much time.

Resilience engineering helps to be preoccupied with failure and to learn to embrace failure. Mary talked about how Amazon uses GameDay for this as a practice to learn how deal with failures they would take down a data center and record what happened. She suggests to use “poke”: do small changes and learn from them.

Commitment to resilience means that we want to learn from mistakes. You need to understand process problems by defining a hypothesis and test it said Mary. You can learn which product features are needed by taking a lean startup approach: Build a first product to test your hypothesis and deploy the product and measure to learn what your customers want.

You need an environment to try out ideas. Delivery organizations don´t work well, according to Mary they need to be changed into problem solving organization. Using impact-driven development you can work backward from the intended impact to develop products. Start with the why to have a good understanding of the purpose and problems that needs to be solved.

You need to understand the desired impact by asking yourself:

a. Who cares about the impact of potential solutions?
b. How will these people measure the impact of outcomes?
c. What changes can create outcomes that move the metrics – in the right direction – enough to matter?

You can experiment by prototyping the changes and measure the effect, and iterate to achieve the impact.

Rate this Article