What are agile methods? This is not a rare question to be heard, especially by people who have just discovered some agile method like Scrum, XP or Kanban. The curiosity or need to quickly discover the meaning and application of agile methods can cause some interpretation problems, which will later turn into unsuccessful adoptions or uses. In this article I will try to give you a simple and straightforward definition of agile methods, so if you are or want to start with an agile method this article will be useful to you.
Quick definition on agile methods
Agile methods are an alternative to traditional project management, they were born in the software development process, but today can be applied to any type of project (including those that do not refer to software). These methods have been helping many teams to deal with unpredictability within a project through incremental deliveries and iterative cycles.
In additon, it has become an alternative to traditional methods, also known as heavy or classic methods.
Agile seek to promote a project management process that encourages frequent inspection and adaptation. It is a philosophy that ultimately encourages greater teamwork, self-organization, frequent communication, customer focus and value delivery. Basically, agile methods are a set of effective practices that are designed to enable fast, high-quality product delivery, taking a business approach that aligns project development with customer needs and business goals.
The agile manifesto
In February 2001, a meeting in the snowy mountains of the American state of Utah at the winter and summer resort Snowbird, marked the emergence and propagation of the agile methods paradigm. This meeting unleashed what we know today as an agile manifesto, becoming an important definition to software industry.
The agile manifesto has twelve principles and four values, they are:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Scrum is not Agile, Scrum is inside Agile
Many people get to know agile methods through Scrum, and get confused by mistaking Scrum as if it were Agile. Take agile methods as an umbrella where various methods fall on it, so Scrum is only a subset of agile methods, such as Kanban, XP, ASD, or FDD. The Scrum founder (Schwaber and Sutherland, 1995) described it as a process framework that has been used to manage the development of complex products since the early 1990s.
Scrum is not a process or a technique for building products, rather it is a framework in which you can employ various processes and techniques. Scrum is often used to manage software and development of complex products using iterative and incremental practices.
Methods are tools
Methods are like tools, you should use what best fits into the context of your organization. Imagine an electric saw that is used as an ax, nor do I need to tell you that the results would be disastrous and the productivity too. Study and discover more agile methods, do not just be in the Scrum world, in some situations you will need to understand what best applies to your context.