Agile in Project Management
(→Introduction) |
(→Agile’s Values) |
||
Line 6: | Line 6: | ||
== '''Agile’s Values''' == | == '''Agile’s Values''' == | ||
These four values are the core of this practice [1][2][3]: | 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 in important to avoid the communication being ambiguous and time-consuming. | + | * '''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 in 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. | * '''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. | * '''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. |
Revision as of 19:57, 19 February 2022
Contents |
Introduction
The traditional approach into solving problems were based on a waterfall project management. 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. 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.
Agile is the result of a discussion held in 2001 by a group of software developers and project managers. During the meeting, they talk 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’. 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]
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 in 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 there is consideration to changes in the environment itself since the business world tends to have continuous change. Project managers must be diligent to change that will surely occur during the development of the project
Agile’s Principles
Moreover, Agile has 12 Principles that support the previous explained values of the Agile Manifesto. These principles are [1][3]:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and 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 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.
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. This people 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 design.
- 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 opened to change and to adapt to a new way of developing new products and services for the customer.
Methods where Agile is present
There are several applications that can be used to implemented Agile in organizations. These methodologies have embedded Agile in their own setting. Depending on what the teams will be developing is the one that will comply best to them. (These technologies will not be developed in the article, will just be mentioned).
- Lean [1][4]: Lean is based on manufacture 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.
- 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.
- 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.
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 Value Product (MVP): The Minimum Value 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 design 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]:
- The Scaled Agile Framework (SAFe)
- Large Scale Scrum (LeSS)
- Disciplined Agile Delivery (DAD)
To understand better the case studies 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. [6]
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 customers 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:
- Observing: focus on the customer’s behavior, the struggles behind a problem.
- Ideation: using the input form the first step, observation, start to ideate and propose possible solutions for the problem.
- Prototype: prepare possible solutions to the identified problem. Customers and users will interact with prototypes.
- Testing: here is where interactions are introduced. The possible solutions presented in the prototypes are tested. The objective is to learn from the protype and reevaluate is 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 and involving the whole organization. There are several success cases where organizations used Agile to successfully implement the digital transformation within people and business. 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 was working properly. However, when the number of products 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. To solve this issue, they implemented the Agile Release Train, specifically using The Scaled Agile Framework (SAFe). As it was explained before, each team had a different goal a set responsibility that made them to be a complement between each other. The final outcome was that the different teams, working together as one in a structure way, was able to have an improved flow of information and constant deliveries. It also made easier for teams to assess problems and improve communication to find solutions [8][9].
Conclusion
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 withing 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 give guidance on how to improve the project management in different types of projects that organizations might have. Project managers can use a variety of different methods and approach to achieve their goal. As mentioned in the article Lean, Extreme Programing, Scrum, Agile Release Train and Kanban are different methods that have Agile within them. There are activities such as the Daily standup meeting, Minimum Value Product and making the customers users that will allow the team to completely succeed into understanding the goal to achieve in the project and adapt quickly.
References
[1] Layton, Mark C. (2012). Agile Project Management for Dummies. New Jersey: John Wiley & Sons, Inc. [2] Freedman, R. (2016). Th e Agile Consultant: Guiding Clients to Enterprise Agility. Kansas, United States: Apress. [3] 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. En 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 [11] N.A. (2021). The Agile Release Train. February 2022, de Scaled Agile Sitio web: https://www.scaledagileframework.com/agile-release-train/ [12] 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