Agile in Project Management

From apppm
Revision as of 01:23, 22 March 2022 by Almagiovannucci (Talk | contribs)

Jump to: navigation, search

Project managers face the challenge to understand, plan, design and execute projects within different organizations. How to successfully plan and execute those projects can be managed by using tools and methods. This is where Agile comes into the picture. Before Agile, project managers delivered what the clients wanted, but not necessarily what they needed. This is translated in unsatisfied customers and execution of projects where objectives were not met. Agile was created due to a demand of a new approach to improve the classic methodologies in project management.

Agile's approach influences several methodologies that allow organizations and project managers to develop results based on a continuous iteration process where several tests are carried out, feedback is received, and adjustments are made until the project’s objectives are met. Using this approach, the team makes quick adjustments before deploying a proposal for the expected outcome. This article will have a close look into Agile's approach. It will review its definition, values and principles, including applications, limitations and a case study in project management within an organization.


Contents

What is Agile?

Agile is the result of a discussion held in 2001 by a group of software developers and project managers. During the meeting, they talked about the aspects and characteristics of the projects they have been involved where final outcomes were a success. This team created a new statement of values for software development that is called ‘The Agile Manifesto’. [1]

Before Agile, the traditional approach to solve problems was based on a waterfall project management methodology. This process is about setting an action plan that consists in a series of steps. In order to move forward with the plan, all the steps with their respective goals had to be completed. This approach did not allowed teams to move fast and to have possible solutions with minimum expenses. This is why Agile approach changed project management. Agile is an interactive practice where cross functional teams work together to find solutions and proposals to reach a specific outcome throughout a continuous iteration process. Agile is composed by several steps where each one of them allows the team to adapt, improve and adjust what is needed to reach the expected outcome based on the objective of the project. [1]

With iteration and prototyping, teams are allowed to make mistakes and receive constant feedback to improve during the development process, instead of waiting until the end to know if the customer’s needs are being satisfied. This process is shown in Figure 1: after the definition of the basic requirements of the project, the iteration process begins, starting with the design and development of the prototype, followed by a testing and feedback process. These steps, design, develop, test and feedback, will repeat until the objectives of the project are met.


Figure 1: Agile's iteration representation (Own illustration based on [1] and [2])

Agile’s Values

These four values are the core of this practice: [1] [2] [3]

  • Individuals and interactions over processes and tools
Agile aims to be humancentric and participatory. [1] Processes and tools provide guidance, best practices, and improve productivity. [2] However, Agile states that people need to be involved in the development process. Users, customers, and the development team need to work together, have an open and effective communication to create a viable solution that will comply with the objective of the project. The iteration process will start with the feedback provided by customers and users when the proposed solutions are tested and validated. The challenge of this value is how the communication is held within the team. People need to listen and be open to different proposals that will arise in the discussion. Effectiveness is important to avoid the communication being ambiguous and time-consuming.
  • Working software over comprehensive documentation
When using the Agile approach, the proposed solutions in each iteration does not need to be fully developed. Agile explains that those possible solutions should be developed with what is just enough to achieve the goal and not invest time in frivolous tasks and features that are not vital to test them. The objective of this value is to provide users and customers a tangible solution to review, test and give feedback to continue with the improvement process of it. The challenge of this value is to deliver a working product or prototype so users and customers can have a real interaction with it in comparison to deliver documentation and KPI’s of the results.
  • Customer collaboration over contract negotiation
Customers need to be involved in the process. At the beginning of the relationship between the project managers and the customers, the details of the projects tend to be incomplete and any decision set in stone in the initial discussion can become an issue in the future when it changes. In this matter, Agile suggests negotiating flexibility for change with the customers in the project’ scope, resources, prices and outcomes to be allowed to make adjustments as progress is made in the project. The challenge in this value is to have proper and complete preparation of the teams as well as setting from the beginning which are the expectations of the outcome.
  • Respond to change over following a plan
The uncertainty of a project outcome depends on the needs of the customers and users. In contrast with the usual procedure to follow a step-by-step plan without allowing change to take part, Agile suggests that it should always be open the possibility of change and adjustments to the project in development. This is how the iteration process takes place giving the option to make changes and adjustments to obtain a well design solution or product in the end. This value is also relevant when variations in the environment are considered since the business world is continually changing. Project managers must be diligent to changes that will surely occur during the development of the project.

Agile’s Principles

Agile has 12 principles that support the previous explained values of the Agile Manifesto. These principles are: [1] [3]

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable business value.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver business value 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 and business value 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.

Frameworks influenced by Agile

As mentioned before, Agile is defined as an approach, hence it doesn’t have a set of steps to follow per se, it is about implementing the values and principles in which it is based. Moreover, there are three main frameworks that are used in organizations, where Agile is embedded in their own setting. Depending on what the teams will be developing is the one that will comply best to them. (The descriptions of the steps for each methodology will not be developed in the article). The three frameworks are:

  • Lean: [1] [4] Lean is based on manufacturing processes, especially in the production area. Is a philosophy that has been used for many organizations that focus on continuous improvement, fast deliveries, ensuring quality, reducing waste, involving people and standardize processes within production. Lean promotes that everyone is involved in the process to continuously improve the whole production process in an efficient and quick way.
  • Extreme Programming: [1] This practice is set for the development of software. Teams have the responsibility to develop the features that customers need in the fastest and best way they can. The focus of this practice is customer satisfaction. Extreme Programming amins to involve the entire team and to build collective ownership. It is also based on continuous testing units, that can be seen as small deliverables, before developing the final code.
  • Scrum [1] [5]: Scrum is an iteration process based on sprints where cross-functional teams solve problems to deliver a solution in a productive and creative way. The term ‘sprints’ refer to the iteration that will take place during the development of the product. In Scrum, team members have specific roles to make sure that the goals are being met in the process; there are tangible deliverables that give information to the team and stakeholders about the progress of the project; and, during the development there are practices to keep track of the progress that will facilitate an open communication within the team and stakeholders.

In Figure 2, it can be seen the relation between Agile's values, principles and the frameworks where Agile can be found.

Figure 2: Agile's values, principles and frameworks (Own illustration based on [1] and [2])

Applying Agile in Organizations

The environment

When working with Agile is important that the project manager makes sure that the proper environment is set. In this environment the team will feel safe to speak their minds, share ideas, challenge the creation process, be respectful with others in the team, make mistakes and ask for resources. A successful environment will have openness, trust and respect, courage and empathy within the team members. [1] The teams that will develop the product, need to keep in mind the following: [2]

  • Work in teams and integrate people in the design process. People that will be affected by the project and whose demands need to be satisfied, should be close to the creation of the real value that the customer will perceive. They know the real challenges of the project; hence they are the ones that know where improvement is needed when solutions are being developed and tested.
  • Feedback and input from the customers are a must. The design team needs to involve the customer in the process. With Agile, the solution will be tested several times in the iteration process. The solutions that the teams are delivering will improve according to the input and feedback that the customers provide after testing those preliminary solutions.
  • The market and the business environment are changing faster within time. The strategies that arise within the development of the product can be long term as long as they adapt to the demands that the market sets. It is not realistic to use the exact same process when the market has changed, and the customer’s needs will be different in comparison to the ones when the strategy was initially designed.
  • Experimentation and risk are a learning experience and their success will be determined by the customer reaction when they test all different solutions. Innovation and growth within the organization cannot happen if experimentation and risk are discarded from the process.
  • Is a fact that the plan will change but not the target value. Agile aims to obtain the value that the customer requires. In today’s business, change is imminent due to internet, innovation and technology making customer’s needs vulnerable to change too. The plan must be flexible enough to adapt to those changes in the development process.

The challenge of setting the environment includes a behavioral change in people’s mindset. For Agile approach to succeed, people need to be open to change and to adapt to a new way of developing new products and services for the customer.

The teams

In Agile it is important to develop committed and motivated working teams. To ensure success when using Agile’s approach, teams should have the following characteristics: [1]

  • Cross-functionality: Teams should be able to work in different tasks to provide prototypes and eventually the final business value or product. In comparison to the traditional approach, team members work together and complement each other to deliver effective and quick solutions.
  • Self-organizing: Giving teams freedom and responsibility to organize the work, will create ownership and engagement towards the project. Team members will learn how to define tasks, the timeline for each one of them and the effort required to deliver solutions. To succeed in this process, the team must have a transparent and open communication within its members.
  • Self-management: Since teams decide the steps to follow, they have control on the solution creation progress. This allows teams members to be leaders in different stages of the project depending on their skills expertise. To keep all team's members aligned, communication is vital to succeed, thus progress and remarks about the project are being constantly shared within the team.
  • Team size: The main recommendation from Agile’s approach is that team's size should be kept small. This will facilitate the communication, development of skills and alignment within the team.

Relevant tools in Agile

When working with the frameworks mentioned before, there are tools and activities that help to embrace Agile's approach in the development process. Within these tools and activities are:

Daily standup meetings: [1] One of the most relevant characteristics when working with Agile is how teams are managed. Teams are self-managing, self-organizing and taking one project at the time. In comparison with traditional methods, where usually there is a top-down approach and the leader manages and organizes the teams, Agile allows them to be independent, focus on one problem at a time and move faster. Discussion and communication within teams keeps them aligned and promotes a continuous improvement mindset. In this matter, the objective of a daily standup meeting is to keep it simple and avoid long discussions. In these meetings, teams talk about problems that are arising and their possible solutions. Teams share their status, barriers that might be and seek for feedback. The agenda consists of discussing what was done the previous day, the plan of action for today and if there is a problem that might not allow them to deliver on time.

Agile Release Train (ART): Agile is originally and ideally designed to work in small groups of people. When Agile was implemented in bigger groups, it seems to be not fully organized and the common vision of the goal was usually difficult to assess within teams. To adapt Agile into groups with more people involved, three different frameworks were developed: [6]

  1. The Scaled Agile Framework (SAFe)
  2. Large Scale Scrum (LeSS)
  3. Disciplined Agile Delivery (DAD)

To understand better the case study that will be discussed forward in the article, only the most adapted one, the SAFe approach, will be briefly described. The Scaled Agile Framework (SAFe) is based on Lean and Agile, combining them into one. In this framework the team is divided into groups that will share a common vision to deliver continuous customer value. Each group has specific roles and activities depending on the value stream they were assigned in the beginning. This framework works in a timeline of 8 to 12 weeks. The difference between traditional Agile approach and SAFe is that the latter assigns to each team specific activities to deliver one or several solutions to the customers.

Users become part of the team: To achieve the expected outcome, it is vital to understand what the customer wants to deliver to their final users. This is why users need to be part of the developing team because they are the ones that need a solution to an existing problem. Design Thinking is all about putting the user at the center. Identifying the customers, what the team believes is the customer's need and finally delivering value to that customer. Tim Brown, CEO of IDEO gave a TED talk in 2009 [7] where he presented a four-step approach for solving problems which basically are the steps for the Design Thinking methodology. The four steps are:

  1. Observing: Focus on the customer’s behavior, the struggles behind a problem.
  2. Ideation: Using the input form the first step, observation, start to ideate and propose possible solutions for the problem.
  3. Prototype: Prepare possible solutions to the identified problem. Customers and users will interact with prototypes.
  4. Testing: Here is where interactions are introduced. The possible solutions presented in the prototypes are tested. The objective is to learn from the prototypes and reevaluate if the path that is being followed to find a solution for the problem is progressive or if the original idea has to be restructured from the beginning.

Case of study: LEGO

The case study presented in this article is about how Agile provided support and guidance to LEGO to solve four main struggles that the organization had. [8] [9] Those four struggles where the alignment of teams to move forward and in the same direction, setting realistic outcomes for the customers, prioritization of tasks and to sustain new developments through time. Because of these struggles, teams were not working efficiently and communication, together with the flow of deliveries, was not efficient anymore.

The first solution that was implemented, was to assign a responsible project manager for each team. This solution did not work properly since each manager was assessing problems differently. The common vision was missing, and managers were not moving forward, but instead running into each other. The next step was to implement the Agile Release Train, specifically using The Scaled Agile Framework (SAFe). As it was explained before, in this method each team had different goals and responsibilities that, when combined, were interconnected between each other to achieve the common goal. One key approach that LEGO used, was a “Pull-based” planning, where teams used past experiences as a starting point to prioritize and develop new products based on what the customer’s real needs were. The implementation process included several activities that allowed teams to share their progress, receive feedback, share ideas and thoughts on the progress made, how to continuously improve and to identify risks and mitigate them. The whole process consisted on an Agile iteration process based on setting a plan with an expected outcome, followed by a designing process where different prototypes will be develop to then be tested and adjusted until the definite solution is delivered.

By the end of the process, all the product teams were able to improve their overall performance. LEGO was able to restructure their organization and the traditional way of working that product teams were utilizing. They become more efficient by being dedicated to specific tasks. Leadership in product teams shifted from a waterfall approach by empowering them to be more independent and product base focus. The flow of information and communication within product teams improved allowing them to be involved in a continuous delivery model. LEGO saw an opportunity to grow and improve their way of working which makes them one of the most successful manufacture organizations in the world by staying at the forefront of technologies that are continually emerging in today's market.

Limitations

Agile has a disruptive approach that influences different methodologies to solve problems and/or improve practices. It has a substantial influence in the way the organization’s business develops and the culture of the people involved. Agile vouches for agility and the collaboration of the whole team, and in order to achieve it, it is important to have a change in the organization’s mindset which has to be promoted and worked by the management team with a bottom-top approach. The organization needs the involvement and engagement of their people to introduce, implement and sustain this type of mindset change. In Agile, continuous adaptation to change and innovation are vital to keep the organization at the forefront of the business. [2] [10]

When there is an interest to use the Agile’s approach, project managers must understand how it works and when it is possible to use it considering the following:

  • Market: Depends on the stability and how predictable the market could be. Agile is applicable when the market is in constant change.
  • Customers: Close collaboration with customers where feedback is received and there is a transparent communication. As mentioned before, Agile needs the involvement of the customers. When customers fail to be involved, the iteration process cannot be put in motion slowing down progress, thus Agile losses grip and it won’t be applicable anymore.
  • Innovation: Customers need to be open to different and disruptive solutions to achieve the expected outcome. A level of uncertainty needs to be tolerable to allow the team to make mistakes quickly in the solution design process. When the customer has a defined way of working and it is not willing to make changes, Agile cannot be implemented.

Conclusion

Agile’s approach in different methodologies, such as Lean, Extreme Programing, Scrum and Agile Release Train, will help managers to assess more efficiently projects to deliver the expected business value. However, as it was mentioned before, it is vital that people within the organization have a change in their mindset where adaptation to quick changes and emerging technologies plays a key role. When adopting Agile there is flexibility in the development which will allow project managers to adjust in order to achieve the expected outcome according to the time, budget, quality and objectives of the project or product that is being developed. Agile helps project managers to efficiently satisfy customer’s needs and to adapt quickly in today’s changing world.

Worldwide organizations have been implementing Agile in their culture because of its overall success. According to the 15th Annual State of Agile Report released in 2021 by Digital.ai [11] the overall company experience with Agile shows that 52% of people questioned said that almost all the teams within their organization have adopted Agile. Moreover, 94% of organizations have been using Agile for a year or more time. Also, the report shows that Agile adoption is not only used for software development. In the top four reasons why organization are using Agile, it is possible to find: accelerate product delivery, the management of changing priorities, increase in productivity and project visibility. Agile gives guidance on how to improve the project management in different types of projects that organizations might have, however, the success of Agile lays in the commitment of each team member. Managers, team leaders and team members must be on board to follow the approach that Agile gives, have a fluent and transparent communication, be open minded, be able and ready to adapt to quick and difficult changes that might arise in the development of solutions.

Annotated bibliography

Layton, Mark C. (2012). Agile Project Management for Dummies. New Jersey: John Wiley & Sons, Inc: This book provides an explanation of the Agile Methodology and how to implement it as a Project Manager. Starts explaining what Agile is and continues exploring different methods that use Agile in their setting. Finally, the book provides an insight on how to succeed with Agile as a Project Manager.

Freedman, R. (2016). Th e Agile Consultant: Guiding Clients to Enterprise Agility. Kansas, United States: Apress: This book provides information on how to succeed as a consultant applying Agile methodology to improve the overall performance in an organization and to carry the development of the transition to the Agile approach.

Agile Manifesto Copyright 2001: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas: This book provides the foundation, values, principles and set up of the Agile methodology.

Hosseini, Ali; Kishawy, Hossam, A.; Hussein, Hussein, M. (2015). Lean Manufacturing. In Mobile and Wireless Technology (249-269). Springer International Publishing: This book chapter explains the concept of Lean manufacturing and its importance in the industry. Provides information about the origin, background and how to prevent and eliminate waste.

Kniberg. E. & Brandsgård, T. (2016). Planning as a Social Event. February 2022, from Corporate Agility Web Site: https://corporateagility.com/wp-content/uploads/2020/07/LEGO_update.pdf: This article explains the implementation of Agile methodology in LEGO to improve the overall performance of the product teams within the organization.

Digital.ai. (2021). 15th State of Agile Report. February 2022, from Digital.ai Web Site: https://digital.ai/resource-center/analyst-reports/state-of-agile-report: This report shows the 2021 results obtained from surveys, with the objective of evaluating Agile methodology implementation, success and continuous use within organizations.

References

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 Layton, Mark C. (2012). Agile Project Management for Dummies. New Jersey: John Wiley & Sons, Inc.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 Freedman, R. (2016). The Agile Consultant: Guiding Clients to Enterprise Agility. Kansas, United States: Apress.
  3. 3.0 3.1 Agile Manifesto Copyright 2001: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas.
  4. Hosseini, Ali; Kishawy, Hossam, A.; Hussein, Hussein, M. (2015). Lean Manufacturing. In Mobile and Wireless Technology (249-269). Springer International Publishing.
  5. Maximini, D. (2015). The Scrum Culture. Springer International Publishing.
  6. Putta, A.; Paasivaara, M.; Lassenius, C. (2019). How are agile release trains formed in practice? A case study in a large financial corporation. From Agile Processes in Software Engineering and Extreme Programming (154-170). Springer Verlag.
  7. Brown, T. (2009). Designers -- think big! February 2022, from TEDGlobal Web Site: https://www.ted.com/talks/tim_brown_designers_think_big
  8. Kniberg. E. & Brandsgård, T. (2016). Planning as a Social Event. February 2022, from Corporate Agility Web Site: https://corporateagility.com/wp-content/uploads/2020/07/LEGO_update.pdf
  9. Krush, A. (2018). 5 Success Stories That Will Make You Believe in Scaled Agile. February 2022, from ObjectStyle Web Site: https://www.objectstyle.com/agile/scaled-agile-success-story-lessons
  10. Rigby, D.; Sutherland J. and Takeuchi, H. (2016). Embracing Agile. February 2022, from Harvard Business Review Web Site: https://hbr.org/2016/05/embracing-agile
  11. Digital.ai. (2021). 15th State of Agile Report. February 2022, from Digital.ai Web Site: https://digital.ai/resource-center/analyst-reports/state-of-agile-report

Complementary references

N.A. (2021). The Agile Release Train. February 2022, de Scaled Agile Sitio web: https://www.scaledagileframework.com/agile-release-train/

H. P. Rakshith & A. P. Patil. (2013). An improvised perspective to agile methodology. IEEE 3rd International Conference on System Engineering and Technology, 2013, pp. 381-384, doi: 10.1109/ICSEngT.2013.6650204.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox