What the Lion King can teach us about Quality Assurance

Jorge Gabriel
Empathy.co
Published in
4 min readNov 13, 2018

Software development includes multiple stages and several teams working towards a common goal: “to turn an idea into a real product”. There is no single methodology that can be applied to all projects, however many teams are using an “Agile” model instead of the outdated “Waterfall” model.

The old Waterfall model used the following stages:

  1. Analysis of requirements / Feasibility study
  2. Software design
  3. Coding
  4. Testing
  5. Delivery
  6. Maintenance

This kind of model supposed that each team had to wait until the previous one had finished its phase in order to start work. If an error was found, the project had to return to the stage in which this error occurred. This usually translated into increased delays and costs, additional stress and frustrations for the team, and a lack of customer satisfaction, so the move to an Agile model is good news for everyone!

The Agile model can be easily explained, as seen below:

  1. Concept: Projects are explained and prioritised.
  2. Start: Team members are identified, financing is established, and initial environments and requirements are discussed.
  3. Iteration / Development: The design and development teams work to deliver software based on iteration and commented requirements.
  4. Release and Quality Control: Phase of testing, internal and external training, documentation development, and final release of the iteration in production.
  5. Continuous software support.
  6. Retirement: Activities at the end of their useful life, including notification to clients and migration.

The Agile software development lifecycle is based on an iterative process, allowing many iterations to take place at the same time, (each one following its own workflow). A typical iteration process flow can be visualised as follows:

Each phase is connected with the others in a “life cycle”. What better way to help illustrate how this works than to turn to one of my favourite Disney movies?

During a touching moment at the start of The Lion King, Mufasa imparts a bit of parental wisdom to his son Simba. He explains that although lions eat antelopes, when a lion dies, its body will feed the grass. The grass feeds the antelopes, and they in turn feed the lions. All animals are therefore caught in an endless cycle of getting hungry and eating each other or, as Elton John likes to put it, they are connected by the Circle of Life.

While no developer has ever been eaten by a tester, (at least not here at EmpathyBroker), I’d suggest that software production should take inspiration from this model. It is like a continuous cycle; connected not by hunger, but through ever-present Quality Assurance.

Image by Hassan on pixabay.com

The testing of software before it is delivered to a client or end user is an indispensable step. The sooner this process begins, the sooner possible defects will be detected and the sooner necessary improvements can be anticipated. Testing ensures stability, offers a better response to the needs of the client, and prevents software from reaching end users with avoidable errors. In short, it ensures the quality of the product. This has an impact not only on time and money, but on user satisfaction.

All the steps of the production process are connected. The glue that links them all together is quality testing. From the moment an idea appears in someone’s mind, we are assessing about the quality of it. While we design the software and create the code, the drive for quality prevails over all other aspects. When implementing the software, we take careful measures to ensure the highest level of quality.

It is usually said that “if you can imagine it, you can create it”. I would add, “if you can create it, you can test it”.

As testers we must learn to see through the eyes of a user and to think with the minds of both a designer and a programmer. We should be the conduit between all stages of the software production process. We should help unite the teams across these stages under a common goal: To deliver software that will generate satisfaction and happiness in the end user.

With Quality Assurance as the connective tissue between the various stages of your production process, you’ll create better products and suffer fewer setbacks. In other words, Hakuna Matata.

--

--