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.
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:
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.
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
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?
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.
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).
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