Introducing Jidoka

BY

02 March 2023

Software Development

post-cover-image

TL;DR: Jidoka is a software development methodology that emphasises automation with a human touch. Its objective is to enhance and elevate the quality of a software project by leveraging models and pipelines. It is different from other methodologies such as Agile, Scrum, Kanban, and DevOps. Jidoka is a holistic approach to software development that optimises the balance between efficiency and effectiveness. The article discusses how Jidoka can be used to tackle software projects and how utilising the concept of Jidoka within an organisation can allow it to thrive.

Jidoka

Automation with a human touch.

Jidoka is a software development methodology that aims to increase the automation and quality of a software project through the use of models and pipelines.

By following Jidoka, organisations can continuously modernise their software systems at scale, while avoiding many of the problems associated with legacy systems.

Our hypothesis is that Jidoka is well-suited for large scale modernisation projects where the benefits of automation are most acutely felt. Some of these benefits include:

  • Consistent architecture with low technical debt
  • High test coverage including UAT's
  • Lower organisational change with coarse grained milestones
  • Decreased costs over the entire project lifecycle
  • Up-to-date user and developer documentation
  • Decreased knowledge loss and turnover
  • Increased cross-team collaboration
  • Healthier team culture and momentum
  • Increasing ROI for modernisation portfolios

History

The software development industry has drawn significant inspiration from lean manufacturing principles, resulting in the emergence of a range of methodologies such as Agile, Scrum, Kanban, and DevOps. Understanding this lineage can greatly enhance one's appreciation of the evolution of software development practices. While Jidoka shares many principles with Agile, Scrum, Kanban, and DevOps, it brings a unique approach that emphasises automation with a human touch, making it a methodology that is both efficient and people-focused.

Breaking down Jidoka

Pronounced as "jee-doh-kah"

Jidoka is a software development methodology that aims to increase the automation and quality of a software project through the use of models and pipelines. - Eban Escott, PhD

Why Jidoka?

Reflecting on our journey and the lessons we've learnt, it has become evident that our previous 'Way of Working' was insufficient and in need of improvement. Enter Jidoka- a methodology and process that offers a plethora of benefits. To delve into the history of Jidoka and uncover its advantages, read on.

Comparing Jidoka to other methodologies

When assessing the merits of Jidoka, it's worth contrasting it with other problem-solving approaches specifically in the context of modernisation efforts. For instance, Proof of Concepts (PoCs) have proven to be ineffective at scaling and don't always account for non-functional requirements.

On the other hand, Minimal Viable Products (MVPs) enable a "build, measure and learn" approach that is invaluable when the project goals are still undefined. However, MVPs may not be as effective for modernisation projects. Modernisation projects involve migrating existing systems, which can have complex functionalities or requirements that are often beyond the scope of MVPs. Furthermore, MVPs may not adequately address non-functional requirements that are essential for the success of the modernisation effort.

The Shortest Path to Value (SPV) strategy leverages the strangler fig pattern to streamline modernisation efforts. This approach, while viable, often adds complexity and risk as it involves gradually replacing the old system with a new one, piece by piece. This can often be time-consuming and requires careful consideration.

In terms of software development methodologies, while Scrum has its strengths, there are some aspects that we need to steer clear of such as large releases and even larger estimates. Kanban is a great approach and often useful, however it can sometimes devolve into a free-for-all. This strategy needs to be right for the product team and doesn't always work within a fixed budget approach. And of course, we all love DevOps.

Using Jidoka to tackle software projects

How we tackle milestones with Jidoka

The milestones in Jidoka are multi-faceted, with each stage comprising a multitude of objectives to be accomplished. Each milestone is associated with a specific target range, and our focus is on achieving the nearest one. Unlike sprints, milestones do not have a fixed duration, and instead, a kanban-style continuous flow of issues is tackled until the desired outcome is achieved.

  • Each stage can have many milestones.
  • Milestones have goals with date ranges and we aim for the closest date.
  • Milestones are not fixed in length like sprints.
  • A kanban-style continuous flow of issues is worked on throughout the milestone until the goal is reached.
  • Ceremonies, meetings, checklists, definitions, etc are all performed according to the plan.
  • The depth of details in an issue is proportional to the issue's risk.

How we estimate with Jidoka

There are many ways to estimate a software project and we have experimented with a bunch. What we have learned is that it is very time-consuming and can create over-estimations when using issues to estimate as they are too fine-grained. On the other hand, we don't want to use #NoEstimates as it has too much of a negative impact on expectation management. With this in mind, the high-level, balanced approach to estimations is that:

  • Projects are estimated in a tender and are large enough to ensure quality.
  • A milestone has a goal, and the team uses MoSCoW to priortise requirements.
  • Estimations are performed at the milestone level and not the issue-level.
  • The team doesn't stop at the must-haves and continuously works Kanban-style on the backlog with the available time.
  • A kanban-style continuous flow of issues is worked on throughout the milestone until the goal is reached.
  • Nothing builds trust faster than finishing earlier and delighting a customer.

Jidoka within WorkingMouse

At its core, Jidoka is a software development methodology that combines the power of automation with human touch. By leveraging technology to streamline processes, we free up our teams to focus on what they do best - creating high-quality software that meets the needs of our clients. At the same time, we recognise the importance of human input and ensure that our development practices are anchored in collaboration, communication, and a deep understanding of the end-users requirements. In essence, Jidoka is a holistic approach to software development that optimises the balance between efficiency and effectiveness.

How we empower departments and enterprises

Government

author-thumbnail
ABOUT THE AUTHOR

David Burkett

Growth enthusiast and resident pom

squiggle

Your vision,

our expertise

Book a chat