My first “grown-up job” right after college was at a software development company. That is where I first learned the term Agile Movement. While I was quite confident about my skills and knowledge as a marketer, I was not too familiar with the terminology related to software development. The more I learned about this concept, the more it fascinated me. Since then, I have done quite some in-depth research and reading about the agile movement, and how it is taking over the office market in a variety of industries across the world.
So, why exactly is the agile movement taking over project management? The agile movement promotes the importance of collaborative efforts between cross-functional teams, the client, and the end users of the product from the beginning to the end of a development project. This approach to project management is flexible with adaptive planning and continual development of a product. It uses an ongoing feedback system, which ultimately leads to great customer satisfaction and a highly successful end product.
Even though the term agile project management may seem quite recent and modern, the concept has been around for over 5 decades. It was one of the first “lightweight” methods of software development that were introduced to the world along with RAD – Rapid Application Development, UP – Unified Process and DSDM – Dynamic Systems Development Method. Over the years, Agile Management has evolved to become a fully formed and successful method used by many tech and non-tech companies including big names in the Fortune 500 list such as IBM, Cisco and Microsoft to plenty of small and medium-sized businesses across the world.
In this article, we take a deeper look into the reasons behind the huge success of the agile movement. First, we will look at the philosophy behind this management method, the basic principles that guide it to be a success and what exactly differentiates it from other more traditional management methods. Then we will have a look at what makes an agile team, the different agile frameworks that are currently being used and a company is benefited by following the agile management methods - ultimately answering these question of why the agile movement is taking over the office market.
Since the early 2000s when the book “Agile Manifesto” was published, the term “agile project management” has been quite the buzzword especially among the tech community. Currently, it is one of the most used project management systems used by not only the tech companies but also non-software enterprises as well. It is an effective method that efficiently use the reports and skills to quickly deliver successful results. One of the biggest reasons for the popularity of this method across industries is that is a tried and tested, ready to use a method that is guaranteed to deliver good results when practiced right.
Before we dive deep into the reasons that have led to the success of the agile movement, let us have a quick look at the advantages of using agile project management approaches over a traditional framework when working on a project.
Using agile management approach undeniably increases the efficiency of a project. Moreover, it encourages team members to develop their professional and soft skills in many ways as well. For an example, agile is all about being aware of the progress of a project at all times and taking quick and accurate decisions to improve and update the deliverable to be better and more valuable with each iteration. It helps the team members to stay focused, be aware and communicate better with each other and also with the other stakeholders involved with the project to deliver a flawless product.
Another reason for the popularity of agile movement is how seamlessly it blends into a variety of industries, delivering equally successfully results regardless of the extreme differences in the end products. For an example, apart from the obvious software development projects, agile project management is successfully applied to successfully completing research projects in universities. The automotive industry uses agile methodology to develop their new hardware designs and even the military supposedly uses agile management methods when they prepare their ships for deployment. The flexibility of this method helps anybody who needs to complete a project efficiently to use it with great success – let it be developing a mobile app, managing logistics in your small business or simply planning a charity event simultaneously working with several stakeholders.
The ultimate goals of any project are producing a quality product and delivering full customer satisfaction at the end, which are the core priorities of the agile management methodology. It is a flexible method that is only rigid in its way of enforcing efficiency and reducing any kind of a waste when it comes to the time of both the client and the agile team. Due to its dynamic way of setting priorities and the ongoing testing process, it keeps on developing the quality of the product and the user experience. This leads to the final deliverable to be as close to perfection as it could be. It not only saves time, it is also economically beneficial for companies in the long run which is the reason why the agile movement is taking over the office market.
To put it simply, agile management is all about the “ability to create and respond to change”. (Alliance, 2019) Developing a software product is often done in a turbulent environment with multiple changes going on simultaneously at all times. Agile Manifesto refers to this method as “continuous delivery”. It is about building working software as quickly as possible and getting a successful and satisfactory product into the hands of the users as fast as possible. Agile management brings some order into the chaos of software development, and use the dynamic nature of the development process as an asset to deliver a successful product at the end.
The complete agile management method – Agile Manifesto for Agile Software Development – was developed by eighteen thought leaders including Kent Beck and Mike Beedle. It includes 12 main principles for this methodology.
Following are briefly paraphrased 12 principles, which are used as guiding principles by agile teams.
The traditional software development method that was widely practiced before agile was introduced to the industry was called the “waterfall” software development method. The waterfall model is rigid in its linear way of approaching project management. It flows from the beginning to the end in one downward direction - resembling a waterfall.
Following are the main phases of a traditional project management approach.
In contrast to this method, the agile method of project management completes the testing at the same time as development. In the traditional method, one phase has to be fully completed and approved before the next phase. The agile method encourages developing small working pieces of software at every iteration. The users test each of these new pieces of software as they are developed to validate their efficiency and value.
As the developers progress into the next iteration, the feedback from the users for the previous piece of software is considered and the next piece of software is an updated version that provides a better user experience. The agile method continuously evolves, changes, and adapts according to the feedback from the client and the users. Therefore, has a better chance of efficiently producing a more satisfactory product at the end when compared to the traditional method.
The fifth and one of the most important principles in the agile methodology is putting together a skilled and motivated team. Agile management is all about efficiency and delivering successful results. Every team member depends on the others to equally contribute to the project, allowing them to consistently and efficiently deliver valuable products from the beginning to the end of the project. An ideal agile team is a cross-functional group of skilled and hardworking individuals motivated to achieve the same goal, which is delivering a flawless product that delivers 100% customer satisfaction.
Following are some of the main roles in an agile team.
This role is responsible for fully facilitating his or her team, ensuring that they have all the needed resources to deliver successful results, enforcing the deadlines and managing the team in a way that everybody gets to perform at their best potential (Check out a FREE Scrum training video series on OSW HERE)
Includes developers, designers and others who are responsible for creating and delivering the product
A member who works as the “on-site customer” that is responsible to get the team to perform and deliver in a timely manner
Moreover, categorizing them according to their individual responsibilities in a team. An agile team is made up of technical experts, domain experts, and testers. When selecting the team, one should think about team members who are not only skilled but also who work well with each other. Ideally, once the team is formed, they should resemble a well-oiled machine which efficiently and seamlessly produces good results.
While the basics of the agile management method stay the same, there are different frameworks in this method with different practices and characteristics. They are different in the way they use certain tactics, working habits, implementations, and delivery methods. Following are the most popular agile methodologies currently practiced by both software based and non-software based projects to deliver satisfactory results.
Possibly the most popular agile methodology out there. Very closed to the original agile methodology. This method will be discussed more in detail later in this article.
This has short iteration processes and is built around some of the best practices of software engineering including domain object modeling, code ownership and developing by feature. It stays true to the primary purpose of the agile method which is delivering working software in a timely manner.
This method encourages eliminating waste, delivering a working product as fast as possible and empowering the team to learn as they go.
This is considered one of the most “lightweight” approaches to software development. It is created with the belief that each different project requires a customized or tailored set of policies, rather than applying the same concept to everything.
Commonly known as the DSDM method, this is an early version of the agile method that is executed with a few key principles including delivering on time, building incrementally from firm foundations and encouraging collaboration among team members.
Scrum Methodology or Scrum project management style is one of the most widely practiced ways of agile management at present. Some of the biggest names in tech including Google, Yahoo, Microsoft, Facebook, Adobe and General Electric use this methodology successfully in their projects.
Due to the popularity of this framework, the terms “agile” and “scrum” are often used interchangeably even within the tech community. However, “agile” includes all the practices and methods that follow the continuous delivery philosophy as described in the Agile Manifesto. Scrum falls under that umbrella as a successful framework that follows agile management practices. The invention credits of the Scrum framework is often attributed to Jeff Sutherland, John Scumniotales and Jeff McKenna.
As a lightweight framework, Scrum embraces the methods of iterations and incremental practices in the broader agile management methodology. They use the term “sprints” for the iterations, and the team lead is called a “Scrum Master”. At the end of every sprint - which is generally one to four weeks – the team aims to produce a working deliverable.
Scum utilizes all the best practices suggested in the original agile management approach and creates a functional way a successful product can be delivered efficiently. The terms and practices create an almost enjoyable experience for all the team members involved. It helps even the most complex problems to be divided into manageable parts, prioritize work, delegate the tasks in the most effective ways and create an environment where everybody can perform their best.
Can Agile be used for non-software projects? Yes. Although the concept of Agile was created with software products in mind, the principles of this approach can successfully be integrated into non-tech projects as well. Some of the practical ways that Agile can be used for non-software projects include having a prioritized list of work that keeps getting updated throughout the project, having public boards that display the progress of a project to the entire team and working in sprints and having regular meetings to check up on progress and have feedback.
In an Agile team, who is responsible for tracking the tasks? The Scrum Team holds the responsibility of leading the team towards their specific sprint goals. They work together with the Scrum Master in prioritizing and carrying out any backlog in the sprint planning. Once they agree on their goals during the sprint planning, they take the full responsibility of tracking the tasks, completing them with quality and delivering them on time.
What is the agile team headcount? The optimal size and the composition of an agile team fully depend on the project and its requirements. In the Scrum framework, the “recommended” number is presented as 7 +/- 2, but this is often changed now with the large variety of the development projects. Factors considered in choosing the headcount of an agile team includes ensuring that there is a broad set of skills and a healthy diversity of experience. The number should not be too small or too large since both can affect the overall efficiency of the team negatively. Every single member should bring some individual productivity into the team.
You must be logged in to post a comment.