Lessons from my father — Six Sigma based “predictive” engineering management

My father, a mechanical engineer, was VP of Quality Control and Process in the manufacturing industry. Growing up, I often heard about Six Sigma, ISO certifications and process improvements. Its only after managing teams for years did I actually appreciate and implement his teachings :).

For this post, I am taking inspiration from the principles of Maintenance and Six Sigma. I have adopted these principles to explain various phases of software engineering management. These phases represent the maturity and effectivity of management teams: 
- Reactive Management. 
- Preventive Management. 
- Predictive Management.

What do I mean..

If businesses want to be ahead of the curve, they need to see the curve before the competition. This needs continuous, deliberate vigilance and pro-active action. Engineering management is no different. Leaders need to invest time and energy to be offensive in their corrective actions and stay ahead!

Phase 1 — Reactive Management
Young, inexperienced management usually begins here. Corrective action is usually an after effect of failures. Depending on situations, there are various reasons why this can happen. In the nascent stages, thoughtful management is often missed with a mad rush to deliver products and catch up with delivery expectations.

Most of the reasons can be attributed to lack of experience and lack of thoughtful prioritization.

Corrective action taken too late, after catastrophic events

Simplified practical examples of reactive management: 
- simplify the product UI and interactions after product engagement falls.
- implement code quality practices after constant production failures. 
- kick off recruiting efforts after significant attrition.

Phase 2 — Preventive Management

A majority of well run management teams are at this phase. Corrective actions and improvements are swiftly implemented, but after early failures. Although late these actions prevent wider potential loss. At this phase, management teams have a good understanding of short term and long term gains.

Although mostly reactive, the speed of recognizing a pattern and quickly taking corrective action helps control the blast radius of the original problem. To have sustained success, management teams need to build the following strengths: 
- recognize patterns from minimum available data points: this helps understand the root cause of early catastrophic event.
- implement decisions quickly and broadly: this helps accelerate corrective actions and quickly regain control.

To achieve the strengths above, organizations need effective communication and change management structures in place.

Corrective action taken swiftly after noticing a catastrophic event to prevent further damage

Simplified practical examples of preventive management:
-
implement strict security review processes after security flaws are reported by the white hats.
- invest in simplifying code bases and architectures, after developer productivity has slowed down.
- automate critical data center operations and processes, after engineers burn out from long fire-fighting nights.

Phase 3 — Predictive management

This phase of engineering management is partly inspirational, and needs continuous, diligent effort to attain. In this phase, management teams leverage their prior experience, mine past data on people, projects, and technology to build patterns, and use their judgement to practice continuos improvement of the organization. This in turn avoids some of the problems other phases experience.

In this phase, the motive is for leaders to be able to predict challenges, problems and potential threats and implement corrective actions immediately. Instead of acting after a catastrophic event, leaders develop a muscle to notice early signs of failures and act fast.

To get to this phase of management, managers need to: 
- Clearly define success criteria and measurement metrics for their teams. 
- Constantly collect and monitor the key success metrics. 
- Invest in regular, ongoing employee feedback. 
- Understand and retrospect deviation in the key metrics and quickly implement corrective actions to fix them.

Corrective action taken predictively to prevent any failures. Managers leverage their experience, judgement and past data and patterns to time this well.

Simplified practical examples of predictive management:
- Re-structuring and organizing teams to prepare for upcoming business requirements and demands. 
- Developing and investing in growth of emerging leaders to help future-proof org leadership. 
- Constantly measuring and balancing shiny-feature-work with grunt-maintenance-work to prevent employee burn-out. 
- Modernizing the software stack to prevent system rot and improve go-to-market velocity.

Food for thought

Although the three phases are listed in order of improved management effectivity, some teams might make deliberate choices of how they operate. Composition of the team, maturity of product, market demands, competition, might demand different management techniques.

This article is a great read about deliberate management choices.