How Did The Agile Method Develop?

History Flashbacks

So, you’re still reading? The question had to be asked because maybe 90% of the population would see the word “history” in a title and automatically switch their minds off. Most of us can remember our high school days and those oh so boring history lessons in which we were bombarded with a seemingly endless list of precise names and dates which were meant to be learnt parrot-fashion. So, perhaps, rather than simply dwelling on a chronology, it’s better to think more about selective flashbacks to eras, actual events and just a few of the key characters involved since it is those that really make up history. This is almost definitely the case in the development of Agile Methodology.

Building The Pyramids

Since time immemorial there have been different work practices in use; go back thousands of years and imagine how the Pyramids were built and the project management which must have been involved in their construction. The methods used to create such a wonder would bear little relationship to those used today but it was still a method. In the same way that Man has progressed in the way he builds landmark buildings, methods have also been constructed, developed and improved over time.

However, an apt starting point for any retrospective is not to dig to the very roots of the past but consider what was taking place not long beforehand, since things rarely just happen without some rationality. No more well-founded could this be than in the reasoning behind the outset of Agile. Why did certain players within the world of computer software development feel a need to change and implement new methods? And secondly, what did those same people regard as being the fundamental limitations of the pre-Agile age?

Perhaps though, because computer technology is comparatively young as opposed to the construction of massive symbolistic buildings, we can go back almost to the beginning. It is universally agreed that, although never created, what can be seen as the first computer program was written by Ada Lovelace as long ago as 1842and the first real software theory in 1935 by Alan Turing; both advanced mathematicians years ahead of their time. Apologies if we have begun to start with a couple of dates but it’s worth mentioning one or two in order to understand that even in those very primitive days of computer technology some sort of basic project management would have had to exist. So, it could be implied that the eventual swing towards Agile methodology really originated from those now far-distant eras. How exactly Ada and Alan were organizing their project management, viewed in any contemporary perspective so much time later, would need to be investigated as another subject altogether.

Pre-Agile

Moving on from what was the very ancient history of software development, it’s time to bring it all a little more up to date with the real pre-history of agile methodology. Computer technology for the masses really took off fifty years ago and the older users amongst us can still fondly reminisce about the first Pac Man or Space Invaders game we stumbled across on a gigantic arcade machine in our local bar or cafe. It was revolutionary, the start of a new age. No longer did we have to make do with simple face-to-face contact and entertainment, we could now enter into another world, the cyber-world. We didn’t think twice about how these things had been developed, they were there for us to enjoy.

Something Was Wrong

However, behind the scenes in computer software development companies it wasn’t all so wonderful. Here they had an active audience waiting for the next thing to happen but that same thing was often taking years to develop, produce and put on the market. And that was just new software applications for the masses. Simultaneously, businesses were crying out for more advanced technology to move themselves forward in an ever-competitive market. Many computer programs and software were taking as long as three years to develop, so once finally produced could already be out of date.

What Was To Blame?

This catastrophic situation was primarily blamed upon the project management techniques being used. The main scapegoat was the often denounced Waterfall Method, the traditional project management approach which was heavily regulated, regimented and micro-managed. Originating in the era when the Headquarters of the United Nations was built in New York (the 1950s) and continuing to the era of the construction of the World Trade Centre in the same city (the 1970s), Herbert Bennington and Dr. Winston Royce respectively, wrote papers on the way to build software. Their theories and those of others would eventually become known as Waterfall. This relied fundamentally on a staged process (Requirements/Analysis-Design-Coding-Testing-Maintenance) in which each phase had to be signed off before progressing to the next. Being inflexible, and neither iterative nor incremental (that’s doing something frequently and increasingly in everyday language), a variety of innovators in the industry felt that things had to change.

The Eras, The Events and The Characters

A New Frontier

It wasn’t just one set of individuals who were struggling with the tardiness, waste and dubious end-product quality occurring through the use of traditional methods. Characters throughout the Industry felt a need to re-think the way projects were being approached. Even in the aforementioned 1970s, innovators such as Hugh Edmonds and Don Gielanwere independently formulating what they saw as more effective approaches. The former wrote a paper on an adaptive software development process and the latter was lecturing throughout the USA on Tom Gilb’s original ideas of evolutionary project management which had evolved into what was known as competitive engineering. These individuals can probably be seen as frontiersmen in the eventual development of Agile as it was to become.

Exploring Deeper

In the following decade, the term scrum first appeared in a Harvard Business Review article by Hirotaka Takeuchi and Ikujiro Nonaka who were advocating a holistic approach to product development. Scrum would be further developed by Ken Schaber and Jeff Sutherland and arguably become the most recognizable Agile Method eventually resulting in the publication of the Scrum Guide some fifteen years later.

The decade after scrum had first appeared saw a collection of lightweight software development methods emerging in reaction to the heavyweight Waterfall method. At the forefront of these was an aerospace engineer, John Kern, who understood that there must be a better and more efficient way to build software. Through hindsight, it is quite easy to see that everything was building rapidly towards a crescendo; the 1990s being the decade which had seen the arrival of the Unified Process and Dynamic Systems Development Method, Scrum, Crystal Clear and XP in that chronological order.

However, why was so much going on at that time? Well, if it is viewed in the bigger picture and in comparison with the explosive growth in the use of internet hosts, the surge in the buildup of Silicon Valley on the West Coast and the corresponding upswing on the NASDAQ index, it is easy to understand. North American high-tech companies and the World Economy were booming; the development of computer technology very likely being the root cause.

Snowbird, Utah

Whatever and wherever you read about Agile, the meeting at Snowbird, Utah, USA is mentioned as it is seen as a definitive event in its history. The millennium had passed us by and there hadn’t been the predicted computer apocalypse at midnight on New Year’s Eve, 1999 which the scaremongers had warned us of. We had moved into the 21st century and here another date has to be added in order to fit things into the overall timescale mainly because many regard it as the “official” start of Agile. From February 11th-13th, 2001, seventeen players from different sectors of similarly-minded lightweight schools met up at this mountain ski resort to relax, enjoy the snow sports and discuss their ideas. It is arguable who were the most important characters involved since, as with all Agile methodology it’s a team game, but the most recognized names are now considered as; Kent Beck, Ward Cunningham, Arie van Bennekum, David Anderson, Alistair Cockburn, Mike Cohn, Jim Highsmith and Kern. As is often the case, the greatest ideas are created in the least likely circumstances and Snowbird was no exception. At the end of their stay, and after dismissing a variety of potential names such as Iterative, Lightweight, Lean and Adaptive, the Agile Alliance had been born, the principles outlined and the Manifesto for Agile Software Development written.

Rogue River Lodge

A year before Snowbird, at Rogue River Lodge in Oregon, USA, the Extreme Programming Leadership Conference had taken place. This had centred on the promotion and adoption of the lightweight method XP but in the end concluded that in order to drive forward, other complimentary methods including Crystal and Scrum needed to be encompassed. Not only was it the Rogue River participants who were` thinking of a more comprehensive movement with a conclusive manifesto to draw together the similarities between the different methods, but also other teams in the business. Rogue River is a notable flashback since the result was the scheduling of Snowbird and so was in effect, the real foundation laying in the Agile build.

Project Management Declaration of Interdependence

After Snowbird, some of the same participants alongside other characters worked with the aim of achieving an Agile Mindset in product and project management. Within four years, the outcome was the Declaration of Interdependence which laid out six principles highlighting leadership approaches more applicable to Agile.

Software Craftsmanship Manifesto

Questioning still further traditional methods of software development and aligning themselves to the Agile Manifesto led certain software developers to want to see themselves regarded as craftspeople rather than engineers in the accepted sense. As it is written in the Software Craftsmanship Manifesto of 2009 itself; “….we are raising the bar of professional software development…” This is another notable flashback within the overall effort to add more specific principles to the domain.

Clarifying Agile

Although a decade had passed since the Agile Manifesto and many businesses were admittedly using the approaches, it has to be argued that the entire concept was all a bit introverted and access to the methodology in a truly understandable way was not readily available. The Guide to Agile Practices of 2011, which five years later was to be re-named the Agile Glossary, was the answer to this. Amongst a dense forest of books, blogs and websites on the subject, it provided the first clear working definitions of Agile and its range of methodologies. In addition, the Agile Practice Guide of 2017, a comprehensive resource developed to understand, evaluate and use Agile approaches in practice, was a collaboration between the Project Management Institute and the Agile Alliance and could now be seen by many as the “Bible” in contemporary Agile bibliography.

Today And Into The Future

Under the umbrella of Agile these days are a whole range of methodologies. In total there are as many as seventy different approaches but the main ones and the most easily accessible are; Scrum, Lean, XP, Kanban, Crystal, FDD, ASD and DSDM. It is a positive that so many have developed since every organization has different requirements based on their philosophy, goals and abilities. Hence, the most suitable choice can be adhered to. Similarly, it must always be remembered that one of the basic founding ideas of Agile was not to present users with a regimented list of what they should or should not do, but to allow them to follow the most appropriate guidelines, values and principles which may suit them.

So, where does agile go from here? Are there even more streamlined methods to be offered to the world of computer software development? Undoubtedly, the answer is yes. If you subscribe to Agile methodology blogs and sites, you’ll know that weekly, almost daily, new ideas and modifications to existing ones are being proposed. But, that is the essence of Agile methodology. It is constantly evolving and remains pro-active in its adaptive approach to project management. Whereas progression and evolution has taken place over thousands of years in the construction industry, Agile already boasts an array of history flashbacks and we can be pretty sure that there are many more advances yet to come. The history, we could say, is still being built so, whatever you do, don’t switch your mind off.