Agile in Project Management

From apppm
(Difference between revisions)
Jump to: navigation, search
(Agile’s Principles)
(Agile’s Principles)
Line 40: Line 40:
 
# Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
 
# 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.
 
# Continuous attention to technical excellence and good design enhances agility.
# Simplicity -the art of maximizing the amount of work not done- is essential.
+
# Simplicity, the art of maximizing the amount of work not done, is essential.
 
# The best architectures, requirements, and designs emerge from self-organizing teams.
 
# 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.
 
# At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Revision as of 18:42, 20 March 2022

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 the Agile approach. It will review the definition, values and principles of Agile, including applications, limitations and a case study of the approach in project management within organizations.


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

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 costumers 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 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.

Applying Agile in Organizations

The environment

When working with Agile is important to set the proper environment where people feel safe to speak their minds, to share ideas, challenge the creation process, being 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.

Methodologies where Agile is present

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 Agile 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 and have an open communication within the team and stakeholders.

Relevant tools in Agile

When using the methods mentioned before, there are tools and activities that help to embrace the Agile 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.

Minimum Viable Product (MVP): The Minimum Viable Product is an iterative process that depends on constant feedback from the customers and users about the hypothesis that has been proposed to solve their problem. This process allows the team to discover which are the needs behind the project without investing too many resources. Different solutions will be presented and on each delivery there are increments or improvements based on the previous feedback given.

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: 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

Nowadays, organizations are facing a digital transformation where they need to adapt quickly to prevent becoming irrelevant and not be left behind by the market. Agile plays an important role as an approach to facilitate and allow changes in an efficient way where the whole organization is involved. There are several study cases where organizations used Agile to successfully implement the digital transformation within people and business. In this case study, the application of Agile in LEGO; was to organize and align the product teams. In the beginning when there were five teams, communication and the flow of deliveries were working properly. However, when the number of product teams started to grow, they were not working efficiently together anymore.

The first solution that came up to solve this issue, 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, where interconnected between each other to achieve the common goal.

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. [8] [9]

Conclusion

Agile’s Success

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 [10] 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. 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. Agile gives guidance on how to improve the project management in different types of projects that organizations might have.

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 come from a bottom-top approach. The organization needs the involvement and engagement of their people to introduce, implement and sustain this type of mindset change. When using Agile’s practices, continuous adaptation to change and innovation are vital to keep the organization at the forefront of the business. [2]

Influence in Management

Agile’s approach in different methodologies, such as Lean, Extreme Programing, Scrum and Agile Release Train, will help managers to assess more efficiently projects, programs, and portfolio of organizations. 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 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.

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.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Layton, Mark C. (2012). Agile Project Management for Dummies. New Jersey: John Wiley & Sons, Inc.
  2. 2.0 2.1 2.2 2.3 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. 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/

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

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