ms606 / Agile-Developement

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Agile-Developement

Why are organizations adopting agile
  1. Volatility
  2. Uncertainty
  3. Complexity
  4. Ambiguity

The abbreviated term VUCA.

Organizations that go through Agile transformation have also benefited from:

Build the right products Early risk reduction Built-in quality Culture and morale

New Terms:

  • Muda: Lean principles refer to the Japanese term Muda as waste; Agile teams focus on the removal of non-value adding tasks that are seen as Muda.
  • VUCA: Volatility, Uncertainty, Complexity, Ambiguity
  • WIP (Work in Progress): The work that has been started but not yet completed
  • Growth Mindset: The mindset that an individual's abilities can grow through dedication and hard work
  • Systems Thinking: A holistic approach that looks at the way a system's components interrelate and influence each other and how these components come together within the context of larger systems to deliver a solution.
  • Agile Manifesto: The four paired Core Values and associated 12 Principles that set the foundation for all Agile Frameworks
  • Agile Principles: Practical guidance for teams to adopt Agile
  • Four Paired Core Values: The part of the Agile Manifesto that defines the values that establishes what Agile is for teams and organizations
  • Agile Manifesto: The four paired Core Values and associated 12 Principles that set the foundation for all Agile Frameworks
  • Agile Principles: Practical guidance for teams to adopt Agile
  • Four Paired Core Values: The part of the Agile Manifesto that defines the values that establishes what Agile is for teams and organizations
  • Incremental Product Delivery: An approach that utilizes a given number of steps, which go from start to finish following a linear path of progression
  • Iterative Product Delivery: An approach where product development is broken into sequences of time-boxed, repeated cycles called iterations
  • Sequential Product Delivery: A process where a defined sequence of steps must be followed as in the Waterfall approach
  • Scrum: Scrum is one of the most popular Agile frameworks for developing complex products, with an emphasis on value delivery
  • Scrum Pillars: Transparency, Inspection, Adaptation
  • Scrum Values: Focus, Courage, Openness, Commitment, Respect
  • Sprint: A Sprint in Scrum is a repeatable fixed time-box iteration during which a minimum shippable product is delivered.
  • Burndown Chart: A visual representation of work left to do versus time in an iteration
  • Burnup Chart: A visual representation of work completed versus time in an iteration
  • Ceremonies: Meetings that are leveraged to ultimately ensure that everyone associated with the project is in-sync
  • Daily Stand Up: A ceremony to create a short term plan for the next 24 hours
  • Definition of Done: The agreed-upon deliverables that must be completed before a user story can be completed
  • Product Backlog: A prioritized list of Features that an Agile team needs to work on to achieve a specific outcome
  • Product Increment: The collection of backlog items to be completed during an iteration
  • Project Vision Ceremony: A ceremony is where the business leaders identify the business need the project’s product deliverable is intended to achieve; the agenda is to discuss the project goals
  • Release Planning Ceremony: A ceremony where the Agile Team develops a Release Plan that defines when a collection of functionality will be delivered to the customer base
  • Sprint Backlog: The prioritized items that the PO has designated for the Sprint
  • Sprint Planning Ceremony: A ceremony is where the Agile Team self-organizes and plans out the work that has been prioritized by the Product Owner
  • Sprint Review/Demo: A ceremony where the Agile Team demonstrates the Sprint’s incremental work to the Product Owner, as well as possibly other business representatives
  • Velocity Chart: A chart that shows what the team has delivered in each iteration

The Agile Mindset

When we talk about an Agile Mindset, we include:

Respect Collaboration Continuous Improvement Iterative Learning Cycles Mastery and Ownership Focus on Delivering Value Adaptability to Change

Agile Manifesto

The 4 Agile Core Values

These were developed by 17 industry experts and finalized in 2001. They are:

  1. Individuals and interactions over processes and tools: Agile places more importance and emphasis on people and their interactions over processes and even tools.
  2. Working software over comprehensive documentation: Documentation requires time and resource commitment that might be wasteful.
  3. Customer collaboration over contract negotiation: Agile promotes a collaborative outlook when product owners work with their customers in reaching an agreement on the details of the product delivery.
  4. Responding to changes by following a plan:

Agile Manifesto Principles

The 12 Agile Principles The Agile Manifesto’s 4 paired core values drive the 12 Agile Principles. Let's look at the principles in detail.

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. The goal of product development is the development of successful products.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Due to the dynamic competitive landscape, requirements can and will change throughout product development.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time scale. Frequent and iterative delivery of working products provides the business with practical feedback.
  4. Business people and developers must work together daily throughout the project. The Product Owner and the Agile Team adopt practices that ensure inclusive and joint practices.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. Agile leaders build Agile teams with skilled resources who are willing to work together collaboratively with a growth mindset.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. For a product development team to succeed its members must communicate and collaborate effectively.
  7. Working software is the primary measure of progress. The primary measure of product development should be the delivery of working product increments, which meet the evolving needs of the business.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. A highly skilled team simply just cannot be expected to successfully develop a product by compelling people to work overtime for extended periods.
  9. Continuous attention to technical excellence and good design enhances agility. Built-in quality practices have enormous benefits. It allows for easier maintenance and scalability of the product.
  10. Simplicity - the art of maximizing the amount of work not done - is essential. With the guidance of the Product Owner, Agile Teams focus on high-value activities, which allows them to focus on the high business value needs.
  11. The best architectures, requirements, and designs emerge from self-organizing teams. This is a critical principle of the agile world to ensure that emerging and effective architectures, requirements, and designs are built into the product development life cycle to maximize technical excellence.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Finding concrete opportunities for improvement is a continual effort.

Stacey Diagram:

Describes in what scenario the agile methodology works and when it is useless.

Conditions Where Agile May Not Be Helpful:
  • Lack of agreement in terms of requirements and process
  • No vision and no clear roadmap
  • Near certainty on requirements and process upfront
Conditions Where Agile Works Best:
  • An environment of complexity and some uncertainty where an adaptive approach is needed
  • With complicated requirements that need iterative cycles to understand the needs of end-users

Build & Evolve Agile Teams

New Terms

  1. Innovation Hub: Proactively working towards continual improvement with no comprise on technical excellence and quality.
  2. Self-Organized: The team determines tasks and makes technical decisions about the work to be done after being given priorities by the Product Owner.
  3. Adjourning: The stage in the Tuckman Model where the Agile team’s goals have been completed, and the focus is on wrapping things up before team members get reassigned to other work
  4. Forming: The stage in the Tuckman Model when the team is getting accustomed to each other, ground rules are being established, and everyone is informed of the goals and objectives
  5. Norming: The stage in the Tuckman Model where a sense of trust develops among team members; interpersonal differences are taken care of now, and a sense of collaboration for the team's collective benefit arises
  6. Performing: The stage in the Tuckman Model where the team has matured into a well-established unit with a sharp focus on collaborative value delivery
  7. Storming: The stage in the Tuckman model where the team goes through a level of chaos in which there is confusion around the goals and objectives of the project, as well as confusion around roles and responsibilities

Why do agile teams matter?

Agile Teams are a critical vehicle to deliver valuable results because of the following:
  1. Focus on Value - Agile is driven by the goal of delivering maximum business value that is aligned with the organization’s vision.
  2. Self-Organized Teams - Agile Teams have the autonomy to make some de-centralized decisions, which allows for shared ownership of the work.
  3. Constructive Conflict Resolution - Conflicts in Agile Teams are constructively resolved because the team is driven by a shared vision.
  4. Innovation Hub - Agile Teams, with diverse and cross-functional skill sets, are an innovation hub that spurs solutions.
  5. Cultivate Mastery - Time is put aside in Agile Teams for learning and growth. This allows Agile Team members to sharpen their skills.
Tuckman Model

The Tuckman Model, which has 5 stages of team development, describes how an Agile team progresses into an awesome Agile squad.

  1. Forming - Agile Team comes together and the Facilitator helps the team form by explaining the ground rules, product vision, and expected outcomes.
  2. Storming - This is where a team’s velocity is impacted because there tends to be some confusion and ambiguity around the work to be done, roles, and other product-related questions.
  3. Norming - Agile Team members develop a sense of trust and camaraderie. There’s a healthy rapport and each team member starts to look for the collective objectives of the team’s long-term success.
  4. Performing - Once an Agile Team has successfully worked together over a few iterations they should be in a state where they have gelled together and developed a strong cross-functional work style.
  5. Adjourning - If the business leaders realize that a product is not delivering value or is no longer needed in the market, the existing Agile Team members can be re-allocated to other more valuable work in the organization.

About