Agile is a set of values and principles that was written to make software development projects more efficient. Contrary to popular belief Agile is not just Scrum or Kanban explicitly, it is not a certain set of rules and furthermore it is not a methodology. When asking what is Agile, we focus on the 4 values and 12 principles Agile defines as a guide to a more adaptive and responsive project management.
Today Agile is more of an umbrella term that holds various project management frameworks underneath it.
As long as the framework fits the core values and principles it can be called Agile, thus this list is not definite and still growing. Keep in mind though, that while all of such frameworks are Agile none of them represent Agile explicitly. Agile is not about practices or tools, it is a mindset that helps reach a more adaptive way of organizing projects.
To better understand Agile, you should know what project management looked like before it. In fact, traditional project management approach of running all projects in phases is still widely used today. In case you are not familiar, here is how it works.
At the start of a project, management sits down, divides the work into particular stages like Requirements – Design – Implementation – Verification – Delivery, plans out the work and then executes the project one stage at a time. This approach allows to get a good grasp of everything that will be happening during the project at the very beginning of it and plan accordingly to ensure the team delivers required results. It was first introduced as a way of running software projects in 1956 and is now known as traditional or Waterfall model.
Waterfall works great for static environments and was a big improvement to the previous project management approaches. However, as the market became incrementally faster and more difficult to predict, planning large projects in advance sometimes meant what the teams designed a few months back was no longer relevant and needed to be changed. Software development teams were amongst the first ones to notice this flaw in the Waterfall approach. As technology innovation gained speed, planning out the whole project at the start meant they could be delivering an irrelevant product by the end of it and if changes were made, deadlines would never be met.
It was as early as 1970s when these teams started looking for lighter and less micro managed approaches that could work. In fact, many of the frameworks we now know as Agile started forming before Agile was even a term. Rapid application development (RAD), Unified process (UP), Dynamic systems development method (DSDM), Scrum, Extreme programming (XP) and others were first introduced in the 90’s. All talking about creating a more feature-driven process that can adapt to changes even late in the process.
With all the buzz going on and new methods being created it was a matter of time before a new philosophy was born. And it did in 2001 when 17 developers met to discuss the need for change and ways of introducing it. What came out of this meeting in Utah was the Agile Manifesto stating 4 values and 12 principles to help guide and ease the process of software development. The term Agile was chosen as it perfectly fit the adaptive and result oriented mindset the values were describing.
When we talk about what is Agile it is these 4 values and 12 principles listed in the Manifesto we should have in mind. The 4 values read:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
It is important to note, that the writers stated there is value on both sides of these statements. However, the values on the left should take priority. To help teams implement these core values, the Manifesto creators also came up with 12 distinct principles to better explain what is Agile:
1 – Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2 – Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
3 – Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4 – Business people and developers must work together daily throughout the project.
5 – Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6 – The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7 – Working software is the primary measure of progress.
8 – Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9 – Continuous attention to technical excellence and good design enhances agility.
10 – Simplicity–the art of maximizing the amount of work not done–is essential.
11 – The best architectures, requirements, and designs emerge from self-organizing teams.
12 – At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
When reading through these values and principles and comparing them to Waterfall we can immediately spot differences. While Waterfall aims to control the process and plan ahead, Agile is all about creating a way to adapt. To better understand what is Agile, we can summarize these statements into these 4 ideas.
Efficient communication and collaboration.
Little can be done in a company were communication is lacking and Agile really gets that. To get teams, management and customers talking, the practice asks for face-to-face communication and client involvement in the process. Different approaches use different techniques for this, but generally teams meet to discuss progress daily and either have a dedicated customer representative within a team or schedule regular meetings with the customer to gather feedback on the progress.
Delivering a functional product to the client takes precedent over planning or documentation in Agile. This means, the team prioritizes customer requests and changes over the plan. To accommodate such approach, Agile teams work in iterations instead of building the whole project from a to z. In most frameworks, the team looks over customer requirements before a new iteration, picks the most important ones and use the next iteration to deliver them to the customer. This way making sure, customer has a working product with the most important features after each iteration and can express their comments on what needs to be improved.
To make the process efficient, deliver a relevant product and have the right team for the job, Agile promotes evolution in every step. The teams are asked to review their process after each iteration and make improvements for the next one. Client feedback and requirements are reviewed and taken into account after each product increment to make sure the team works on what is needed. Lastly, project teams are reviewed and formed for each new project or even project phase to ensure they are cross-functional and self-sufficient.
Ability to adapt.
All of this allows Agile create an environment that can take on changes in any stage of the project. In fact, changes are not only accepted, they are welcomed as a way to improve and provide a better solution to the customer. Agile looks for improvement and quality in all processes, thus taking in the newest technology and delivering the best possible product is one of the key goals explaining what is Agile.
Agile Manifesto was a breath of fresh air for the software development community, however, it did not describe an actual way of working. Thus, various Agile frameworks soon followed aiming to fulfill the values and principles described. Some frameworks like Scrum were already introduced to the software development community, while many others came after. Even today the number of frameworks keeps growing and expanding the term what is Agile with new regular and scaled approaches.
Agile frameworks are an important part of Agile as they give teams specific tools to implement the practice. In fact, the more described ones like Scrum can even act as a guide into Agile for the first time practitioners. It is most likely due to the descriptive nature and clear processes of Scrum that it has retained the number 1 position as the most popular Agile framework for several years now. However, you should be careful of not confusing Agile and Scrum and make sure instilling the Agile mindset is still your number one priority.
Agile frameworks differ in their processes, tools and application, but they are all focused on iterative, feature driven and evolutionary process. And with such a variety to choose from, each team can find something that works for them.
Since its beginning in 2001, Agile has come a long way. It was clear from the beginning it would help solve issues for software development teams, but in the last 19 years Agile has proved to be much more versatile. It has been successfully adopted by engineering, sales, marketing, design, accounting, government and many other teams. Proving iterative process and responding to change has become an important aspect valued in various industries.
While software developers were the first ones that felt an impact of a fast moving market and changing requirements, by now this is relevant to everyone. There is a need to respond to new technology, trends and market changes and Agile was built specifically for this. Thus, there is no surprise more and more industries are instilling Agile values and reforming their processes to fit the new ways.
One of the latest developments in the Agile evolution is the growing need for scaled Agile frameworks that describe how to make the whole company operate in an Agile way. As Agile popularity grows, companies are looking for a way to transform their whole process instead of only focusing on small isolated teams and this requires a whole new application and tools. One of the most popular scaled Agile frameworks today is SAFe, outlining an Agile process for several layers of management and explaining what is Agile on an enterprise level.
To help you implement Agile values and principles, we at Teamhood are focused on creating a tool that eases collaboration, visualizes the process and allows you to optimize and deliver the best results. With the help of our workspace templates you can quickly create a Scrum or Kanban board to track your tasks or pick an industry specific board and track your process in an Agile board catered to your projects.
Teamhood task board is visual and easy to modify with custom columns, rows and secondary process to track subtasks. Use automation to move tasks between boards and ensure you deliver the optimal end result to your clients. Understand what is Agile tool with Teamhood.
Try out for free, no credit card required.