Tuesday, January 18, 2022

Adopting an Agile mindset: The Agile Manifesto

 In this reading, we will introduce you to that manifesto, which is made up of four values and 12 principles that define the mindset that all Agile teams should strive for. 

The history of Agile

Agile as a project management approach was introduced to the world in 2001 in the United States. At a ski resort in the Wasatch mountains of Utah, 17 self-proclaimed organizational anarchists came together and combined several lightweight processes to create what we know today as the Agile Manifesto. The creators of Agile intended it to be a set of values and principles that would improve upon and transform existing software development processes, but companies in various industries quickly saw the value of Agile, too. Soon, Agile was adopted across all fields. 

Agile values and principles

In the last video, you explored the Agile Manifesto—the guiding force behind all Agile teams—in-depth. You learned that Agile is a highly collaborative approach suited for very complex and competitive projects. In this reading, we’ll briefly explore the four values and 12 principles of the Agile Manifesto. 

The Agile values refer to the following four statements: 

  • Individuals and interactions over processes and tools

  • Working software over comprehensive documentation

  • Customer collaboration over contract negotiation

  • Responding to change over following a plan

Agile experts see these values as important underpinnings of the highest performing teams, and every team member should strive to live by these values to apply the full benefits of Agile.

The same is true for the 12 principles, which are at the core of every Agile project:

  • “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” Whether you are working to create a product for your company or for a customer, chances are that someone is awaiting its delivery. If that delivery is delayed, the result is that the customer, user, or organization is left waiting for that added value to their lives and workflows. Agile emphasizes that delivering value to users early and often creates a steady value stream, increasing you and your customer’s success. This will build trust and confidence through continuous feedback as well as early business value realization.

  • “Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.” When working in Agile, it’s important to be agile. That means being able to move swiftly, shifting direction whenever necessary. That also means that you and your team are constantly scanning your environment to make sure necessary changes are factored into the plans. Acknowledging and embracing that your plans may change (once, twice, or several times) ensures that you and your customers are maximizing your success.

  • “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.” Delivering your product in small, frequent increments is important because it allows time and regular opportunities for stakeholders—including customers—to give feedback on its progress. This ensures that the team never spends too much time going down the wrong path.

  • “Business people and developers must work together daily throughout the project.” Removing barriers between developers and people focused on the business side of the project, builds trust and understanding and ensures that the developers, or those building the solution, are in tune with the needs of the users. 

  • “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.” A successful Agile team includes team members that not only trust each other to get the work done but are also trusted by their sponsors and executives to get the work done. Teams build better solutions when they are empowered and motivated to deliver difficult projects.

  • “The most efficient and effective method of information to and within a development is face-to-face conversation.”There isn’t anything quite like face-to-face communication. Face-to-face communication allows us to catch certain cues, body language, and facial expressions that are sometimes lost when using forms of communication like email, chat, or the phone. However, we can’t always be face-to-face. Establishing effective communication norms—no matter the format—is essential to effective teams. 

  • “Working software is the primary measure of progress.” In Agile teams, the main way to demonstrate meaningful completion of work is to show a working piece of the solution. In software teams, that might mean a functional piece of software. In non-software teams, that might mean a critical portion of the solution that is ready to be demonstrated to users or their representatives in order to collect feedback. This is in contrast to traditional or Waterfall projects, where the completion of project documents could be used to measure progress. In Agile project management, it is not enough to say that the team is 80% done with an activity if there is no working, demonstrable artifact available to review.

  • “Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.” Maintaining a steady but careful pace will prevent errors along the way. Also, you never want your team to feel overworked or overwhelmed. On the flip side, a team that is underutilized may become bored and lose the creative spark to innovate. The Agile ideal is to achieve a steady pace of effort for the team that avoids overtime and burnout.

  • “Continuous attention to technical excellence and good design enhances agility.” This principle conveys that just because the team is working fast doesn’t mean they sacrifice quality. By emphasizing quality and design throughout the project development phase, the agility, efficiency, and speed of the team will be increased. When a team delivers a well-built solution, they can quickly respond to user feedback and new information. However, if the product is low quality, implementing changes can become problematic, complex, and slow down the entire team. 

  • “Simplicity—the art of maximizing the amount of work not done—is essential.” The team should avoid implementing extra features into the solution that weren’t explicitly requested by the user or product owner. This includes removing procedures that are no longer necessary, and reducing unnecessary documentation. 

  • “The best architectures, requirements, and designs emerge from self-organizing teams.” Team members should be able to get their work done by designing their own work processes and practices, without a manager dictating how they operate. Team members should also feel empowered to speak up with questions, concerns, or feedback.

  • “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” In Agile, it is important to acknowledge that learning from successes and failures is continuous. No team is perfect. There will be mistakes, challenges, trials, and triumphs. Teams should reflect on all of these different aspects of their activities so that they can make necessary adjustments. 

For additional information, read more on the 12 principles here.

Would love to know your thoughts around this topic, please comment below.

No comments:

Post a Comment

Project Management: Closing: Guiding questions and tips

  Project closing consists of ensuring the team completes all project work, executing any remaining project management processes, and obtain...