The foundations of the Agile method | Agilitest blog

Agilitest
4 min readMar 22, 2022

This article follows the #TestCulture on the birth of the agile method. Culture points on the testing world, sharing of anecdotes and discussion around testing and automation, #TestCulture is a weekly appointment on Agilitest’ Twitter account, which takes place every Thursday at 4pm GMT.

To browse the thread, click here.

The origins of Agility

It all started in 1986. Ikujiro Nonaka and Hirotaka Takeuchi — two academics — observed companies such as Toyota and defined three categories of companies:

  • Companies which divide work into well-defined phases and do not move on to the next phase until the previous one has been completed.
  • Companies where the phases overlap slightly, based on the observation that it is conceivable, for example, to start the architecture when 80% of the specifications have been completed.
  • Companies where everything is done at the same time.

Illustration from [Moustier 2019–1]

Source: Agile Maturity Cards

The emergence of the term “Agile”

The term “agile” appeared in the English-speaking business world in the early 1990s. In 1991, James Martin (English consultant and author in information technology, hee is known for his work on information technology engineering) based his vision on the continuous evolution of computer techniques and proposed a method for rapid application development.

A manifesto about Agility

In 2001, a manifesto for Agile Software Development was written in the United States by seventeen software development experts. Each of these experts had already developed new methods that were lighter than traditional methods inspired by civil engineering. If agile methods did not appear thanks to this manifesto, it does however officially refer to these methods under the term Agile.

Four values have been defined in the manifesto:

Delivers a full system at the very beginning and then changes the functionality of each subsystem with each new release.

The system as specified in the requirements is partitioned into small subsystems by functionality. New functionality is added with each new release.

The team has the autonomy to organize itself to best complete the work items.

Technology and requirements are “allowed” to emerge through the product development cycle.

Agile is currently an umbrella concept encompassing many methods. Agile methods will not out rule traditional methods because diverse processes for software engineering are still needed.

The Twelve principles of Manifesto for Agile Software Development

The four values of the Agile Manifesto have been broken down into twelve principles, in order to provide operational support to teams wishing to follow them.

“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”

“Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.”

“Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”

“Business people and developers must work together daily throughout the project.”

“Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”

“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”

If the result of your work is not the way your customer expects it to be, you are in trouble.

“Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.”

“Continuous attention to technical excellence and good design enhances agility.”

“Simplicity — the art of maximizing the amount of work not done — is essential.” Customers are buying a solution to solve a specific problem they have. They are not paying for the amount of effort we invest. It’s important to do something in a simple way.

“The best architectures, requirements, and designs emerge from self-organizing teams.”

“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”

To conclude

Back in the day, the term “Agile” was defining a concept that was already present but not very popular. It gave the conditions to qualify a method that goes beyond the classical schemes. Today, this term is used a lot in digital marketing and new technologies, sometimes rightly and sometimes wrongly. No doubt that this method is going to remain a major trend and an ideal for many companies.

No strings attached. Only good tests.
BONUS: the tests scenarios you create during your trial period can be replayed in ATS, our Open-Source backbone, for free and forever.

Originally published on Agilitest’ blog.

--

--

Agilitest

Codeless functional testing at scale is now a reality.