Re-Post: "What? Why? How? of LEAN Testing"

If You are interested in Lean Testing, take a look at the teaser and jump to the full article:

Here comes my post, answering very common yet significant questions asked by many Rookie testers when trying to learn How to Test, Seasoned testers when shifting from Traditional to Agile testing, Developers performing Test Driven Development or Managers and Business Analysts sweating hard to eliminate wastage in order to get their project LEAN. Irrespective of the development methodology; Waterfall or Agile, LEAN is an approach which focuses on reducing waste in your process (over here we will focus mainly on testing, but LEAN can equally be applicable to development, support or any other stream of IT industry as well).

Here comes my post, answering very common yet significant questions asked by many Rookie testers when trying to learn How to Test, Seasoned testers when shifting from Traditional to Agile testing, Developers performing Test Driven Development or Managers and Business Analysts sweating hard to eliminate wastage in order to get their project LEAN. Irrespective of the development methodology; Waterfall or Agile, LEAN is an approach which focuses on reducing waste in your process (over here we will focus mainly on testing, but LEAN can equally be applicable to development, support or any other stream of IT industry as well). Let’s start with the first question:

What is LEAN Testing?

If you try looking for the literal meaning of Lean; it says – (of a person or animal) thin, especially healthily so; having no superfluous fat.

A typical Testing process or methodology has lot of paddings and extra burden that makes it Heavyweight and bulky. If we somehow eliminate the non-essential or wastes then we end up with LEAN Testing. The simplest way to describe Waste is as “Anything that adds no value.” These wastes are included within the cost of your products or services, either inflating the production cost or eating up the profit of the company.

The main goal of Lean Testing isThe reduction of waste (rework, defects, corrosion) by holistically testing the system as a whole, early and continuously, including measuring what really matters and incrementally improving quality thereupon.

By the way, the Lean concept came from Toyota manufacturing processes developed in the 1950s to address inventory management and time waste reduction with an ultimate goal of reducing process time and improving quality.

Why do we need LEAN Testing?

  • The Lean community has a longer history than Agile and is more matured in showing – how to keep all new changes in balance. It’s not helpful to build far more product than we can test, or to build more product than we can sell.
  • Lean software development is based on the understanding that the principles of Lean manufacturing and product development methods can apply to software development. Of course, the practices are different but the mindset, the way of thinking and approach, remains the same.
  • Lean focuses not only on improving the software development process but also on improving the complete process from requirements gathering until implementing the solution into production.
  • Lean relies upon the notions of eliminating waste (any effort that is not of value to the customer), optimising the whole (going from “concept to cash”), delivering fast, building quality in, respecting people and setting up best standards.
  • Lean is not based on the principle of doing things “right first time” – it is based on a continuous cycle of experimentation and learning. It has nothing to do with the concept of specifications but all to do with improving relentlessly and deferring commitment until you know what you need to be done.

How to perform LEAN Testing?

Trust me – Getting LEAN is no Rocket Science!

#Step 1 – identify the waste in your process, theoretically Lean talks of 7 different types of Waste to be identified, managed and discarded. Although the seven wastes list was created for manufacturing, the categories can be adapted to apply to most types of workplaces, I would like to add one more to the list based upon my experience.

  • T – Transport – Moving people, products, information and systems.
  • I – Inventory – Storing programs, POCs, documentation ahead of requirements.
  • M – Motion – Unplanned Manual/system breaks between the working hours.
  • W – Waiting – For parts, information, instructions, the interdependency of cross-functional teams.
  • O – Overproduction – Developing more than is IMMEDIATELY required.
  • O – Over processing – Tighter tolerances or higher testing than are actually required.
  • D – Defects – Rework, scrap, incorrect documentation.
  • Add on waste: S – Skills – Under-utilising capabilities, delegating tasks with inadequate training.

#Step 2 – Add checkpoints for both Development and QA, defer commitment to be applied from both the teams and sense of ownership to be gained, if the quality product to be delivered.

#Step 3 – React immediately and solve problems one by one – this will accelerate the time to market and the functional experts become much more available, having more time to dedicate to innovation, and to focus on the evolution of the product.

#Step 4 – Organisation can start becoming Lean in just a few weeks/months — use the Lean mindset, starting with small groups and teams, and growing the number of teams and amount of Lean thinking in terms of waste identification, management and removal.

#Step 5 –Individual or Team aiming to Get Lean, has to look at Lean as a cultural and behavioural change. It’s not just acquiring “a new skill.” It’s something that can’t be done halfway.

What Lean Principles to follow?

Specify Value:

Value is always defined by the customer’s needs for a specific product. What are the important requirements or expectations that must be met?

Map the Value Stream:

Once the value (goal) has been determined, the next step is mapping the “value stream” or all the steps and processes involved in taking a specific product from inputs and delivering the final product to the customer. The idea is to draw, on one page, a “map” of the flow of material/product through the process. The goal is to identify every step that does not create value and then find ways to eliminate those wasteful steps.

Establish Flow:

After the waste has been removed from the value stream, the further step is to be sure the remaining steps flow smoothly with no interruptions, delays, or bottlenecks. This may require breaking down traditional thinking and making the effort to become cross-functional across all departments, which can be one of the greatest challenges for lean programs to overcome. However, past studies show that this will also lead to some nice gains in productivity and efficiency, sometimes as high as 50% improvement or even more.

Implement Pull:

With improved flow, time to market (or time to the customer) can be dramatically improved. This makes it much easier to deliver products as needed, as in “just in time” manufacturing or delivery. This means the customer can “pull” the product from you as needed (often in weeks, instead of months).

Work to Perfection:

Moving from step 1 to 4 is a great start, but the 5th step is perhaps the most important: making lean thinking and process improvement part of your corporate culture. Lean requires constant effort and vigilance to perfect.

-Business users are clients of Business Analyst or Product Owners,

-Developers are the clients of Business Analysts and

-Testers are the clients of developers

Each one of these should consider what requirement or sections aren’t offering him the value, along with what questions they need to answer in order to proceed.

My opinion about Lean Testing

The desire for responsiveness can be a great drive towards getting Lean and about how our relationship with the business will need to change. Lean principles of considerable batch sizes, shorter cycle times and reducing waste are a pretty good fit with present-day IT industry. The basics of Lean are simple and easy to follow: Flow, pull, reduce work in progress and continually improve. Lean is a demonstration that whatever challenges are, the IT service providers can engage in innovating management, a winning approach for all the stakeholders: the clients, the employee and the company.

If you like my posts on Software Testing and Quality Analysis, please support by subscribing or sharing my blog (https://qanalysisblog.wordpress.com).Feel free to share your thoughts in the comments section below as I learn just as much from you as you do from me.

Please feel free to share thoughts in the comment section and do subscribe to my channel or try my course on Software Testing for learning more.

Thanks!

Prashant Kumar