What Agile is?

Kamil Senecki | 2022-09-12

IT world in need of the Process

There was a need to organize the software development process in the 60’s. Automation entered our lives and started being a part of it. The market requirements were changing rapidly and no one was able to catch up. The small teams developing features had to become bigger and bigger, the process was more complicated with each year. Planning separate functions was not enough anymore, companies had to re-organize. This is how the Software Development Life Cycle concept was born. It started with Winston W. Royce, who gathered everything we knew at that time in one document called “Managing the development of large software systems”. There was nothing new there, everything was just summed up in one place. After all of those years, we know it as a Cascade Model which evolved into the V Model some years later.

Frustration triggered Agile creation

It was the spring of 2000 when a group of 17 IT employees, including Ken Schwaber and Jeff Sutherland, frustrated by the process which was failing due to changing requirements, met in Rogue River Lodge, Oregon. The most popular SDLC at that time worked fine only when everything that was needed to build the product was known before the development process had even started. Times have changed and they wanted to find a way to adapt the way they worked to the new situation in the IT world.

They came to the conclusion that there are two, the most important things, they had to focus on:

  • Reduce the time needed to deliver any value to the user.
  • Get feedback about the product as soon as possible in order to apply fixes.

It was not a game changer, but enough to make them think about improvements. They met again in late 2001 in Snowbird, Utah. This time they knew what they wanted. The result of this meeting was a set of values we know as Agile Manifesto.

Agile values

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more. Agile is often described as a set of tools and processes that stands in opposition to the classic SDLC we knew, Cascade Model. However, it doesn’t say anything about giving up on documentation, described process, contracts and planning. People often say it is a methodology or method. Is that right?

  • Methodology is a study of scientific research methods applied in a given area of study.
  • Method is a set of rules saying how to do the job.

While the first term completely misses the point, the second one corresponds to the definition most companies use Agile for. Saying that Agile is a method is not wrong but I feel it makes Agile Manifesto empty, meaningless.

The Culture versus the Method

I believe those 17 IT specialists who met in the memorable winter of 2001 in Snowbird had something else in mind. The way they organized everything, that passion and will of change make me want to call Agile a Culture (capital “C” intended).

  • Culture is an integrity of tools, consumer goods, creative principles of various social groups, human ideas and skills, beliefs and customs. - Bronisław Malinowski
  • Culture is a collective good and achievement, the result of the creative efforts of countless generations. (...) It is the whole set of social achievements common to the group of people. - Stefan Czarnowski

Agile is a culture, the approach to product development and problem solving both at work and in private life. It is a way to create something that is needed in a way that gives satisfaction and joy. - Kamil Senecki