Importance of Being Agile
Nowadays, we live in a dynamic world where everything moves much faster than it did 40-50 years ago. Due to that, businesses operate in a more uncertain environment and manage projects where customer requirements can rapidly change.
Unless your organization is agile and has a way to respond to those changes, you risk continuously delaying the delivery of your projects and as a result, becoming uncompetitive on the market.
That’s why a solution to that problem lies within the adoption of the Agile approach to project management. This will help your business become more flexible, productive, transparent, capable of producing a higher quality of products and services as well as successfully delivering them to the market.
In addition, Agile project management helps teams find and resolve issues faster and frees up capacity which allows for the rapid implementation of a given solution.
A Brief History of Agile
It all started with the so-called “application development crisis” in the early 1990s. There was a huge lag time of about 3 years between a business need for an application, and the actual software delivery.
Those significantly long lead times led to the frustration of thought leaders in the software development industry. They started organizing informal meetings between themselves, determined to find a way to develop software solutions in an easier and more effective way.
This is how it came about the now famous gathering of 17 software development leaders at the Snowbird ski resort in the Wasatch mountains of Utah between 11-13 February, 2001. The group met to talk about skiing, have some drinks, eat and relax. However, what eventually emerged was the “Agile Manifesto” that changed the way we manage projects today.
What Is Agile Project Management?
Let’s first explore the definition of “agility”. The word literally means “mobility, nimbleness” as well as from the Latin agere: “keep in movement”. This signifies the ability to move something forward in a quick way that allows easy changes of direction.
Originally having its roots from the software industry, Agile represents a set of beliefs that can be used to make decisions about how to better produce software products. A lot of people confuse it with being a methodology, whereas it is more of a way of thinking for collaborative problem-solving. Its real utility lies within giving people a common foundation for taking a specific approach to developing software solutions.
In terms of project management, “agility” has four important attributes:
- Customer focus
- Sense of Ownership (Effective Leadership)
- Continuous Improvement
Let’s break each one of them down and explore them below:
There is a famous quote by the serial entrepreneur Dave Mcclure which states that “Customers don’t care about your solution. They care about their problems”. In other words, even if you have the best solution in the world, in case your customers don’t see how in reality it will help them solve their problem, they are not going to want to use it.
That’s why the Agile approach to project management places a heavy focus on customer satisfaction which is done through constant collaboration. The goal is not to just provide customers with what they asked for but also what they really need.
The rapid feedback loops that come with Agile allow customers to see how “what they thought they wanted” actually looks in practice. This contributes to the development of new knowledge and the exploration of possible innovative solutions.
Also, through customer collaboration, Agile aims to bring efficiency to projects. This happens through the reduction of extensive project rework which creates huge wastage of both time and resources. As a result, you can enjoy lower levels of production and delay costs which make the final product or service cheaper for the end customer.
The main idea behind Agile project management is to make teams be more capable to respond to a changing environment whenever necessary and deliver value more frequently to the end customer. That’s why, instead of producing one big batch of work, Agile focuses on an iterative approach where teams breakdown their projects and continuously deliver smaller chunks of them while retaining flexibility for the remaining work.
The goal is to make sure that what is being worked on is actually synchronized with the end user at every step of the production process. As a result, whenever customer requirements change, you will be more flexible, adapt to that situation and avoid any significant delays in the final delivery of the project.
In general, the way that the Agile project management process works can be summarized in the phases below:
- Envision – create the product vision and scope for the customers as well as determine who will be involved in the project
- Speculate – this is an extension of the “Envision” phase where teams gather the initial broad requirements for a product/service and develop an iteration plan based on the vision
- Explore – work on the project deliverables with a focus on flow, aiming to get feedback from the customer as fast as possible
- Adapt – review delivered results and adapt as necessary to current conditions
- Close – conclude the project, pass along key findings
Here, unlike the stages of traditional project management, there is one key difference that happens inside the “Adapt” phase.
After you have created the vision for the product and prepared an iteration plan, you proceed to the “Explore” phase. There, the aim is to continuously release small deliverables to the market instead of waiting for all of them to be completed.
Then, in the “Adapt” phase, results are being reviewed by the end customers who give their feedback. The idea is to adapt to the current situation and, if necessary, go back to apply small modifications instead of doing an extensive rework.
Sense of Ownership
Another attribute that “agility” brings to project management is the instilment of a sense of ownership within teams which contributes to more effective leadership.
In traditional project management, all pieces of information go through a dedicated project manager who allocates tasks to different team members. This can be ineffective due to the increased likelihood some of the information to get lost.
That’s why in agile projects, a fragment of the decision-making process goes to the team members because, in reality, they are the ones that work directly with the client. Instead of all information to be distributed by a dedicated project manager, it goes directly to the team members. Eventually, they are encouraged to collaborate with each other and find a solution to the problem based on their own understanding as opposed to waiting on the “boss” to say what needs to be done.
This creates an environment of shared ownership which motivates and empowers teams to be more efficient in the work they do. As a result, they contribute in the best possible way towards the successful completion of the project.
The leadership becomes more effective because the focus is only on the work (not the workers) which is what actually generates the profits for the business. In addition, successful leaders in Agile projects set shared goals with their team members, help them remove impediments by optimizing the flow of work, provide them with the necessary resources and encourage collaborative learning.
One of the most important attributes of the Agile approach to project management is that it creates an environment for continuous improvement.
As the work is broken down on small deliverables, they are being continuously handed over to the customers for their examination and feedback.
This contributes to the continuous refinement of a product or service with the goal in mind to make it perfectly fit for the target customer. In addition, teams gather valuable knowledge which they can transfer to their next project, making its future delivery both faster and more successful.
Agile Values and Principles
Becoming agile is all about shifting your mindset and following specific values and principles in the way you work.
The 4 key values of Agile software development are the following:
- (Value) Individuals and interactions over processes and tools.
- (Value) Working software over comprehensive documentation.
- (Value) Customer collaboration over contract negotiation.
- (Value) Responding to change over following a plan.
It’s important to mention that these values were defined in the following format: “While we value the things on the right, we value the things on the left more”. This means that processes and tools, documentation, contracts and planning are still extremely important. We just have to use them wisely.
In addition to the values, there are also 12 principles of Agile software development:
- The highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Changing requirements must be welcomed, even late in the development process. Agile processes harness change for the customer’s competitive advantage.
- Working software must be delivered frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and software developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is a face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity – the art of maximizing the amount of work not done — is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Even though Agile project management stems from the software development industry, it is being successfully applied to many other areas such as product development, architecture, marketing, financial services, etc.