Agile Project Management and Scrum framework.
1. Introduction
Agile Product Ownership in a Nutshell, whole drawing
Agile: An iterative, flexible process that incorporates necessary changes throughout the process and is based on foundational values and principles.
Feature | Waterfall | Agile |
---|---|---|
Requirements | Fixed, documented upfront, resistant to change | Dynamic, evolve with feedback, welcome change, frequent |
Documentation | Extensive, formal, detailed | Minimal, focused on need-to-know, adaptable |
Deliverables | Released at the end of the project | Released in smaller increments, frequent releases |
1.1 👑 Agile Manifesto
The four values:
- Individuals and interactions over processes and tools.
- Work together; Collaborate; Help each other; Value individuals.
- Working software over comprehensive documentation.
- Focus on things that creates value.
- Customer collaboration over contract negotiation.
- Customer has the highest priority. quickly react and adapt to feedback.
- Responding to change over following a project plan.
- Change is inevitable. Adapt to change.
The 12 principles link:
- Value Delivery.
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software (solutions).
- Deliver working software (solutions) frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Working software (solutions) is the primary measure of progress.
- Simplicity–the art of maximizing the amount of work not done–is essential.
- Continuous attention to technical excellence and good design enhances agility.
- Business Collaboration. (Collaboration with customers)
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Business people and developers must work together daily throughout the project.
- Team Dynamics and Culture. (inclusive, supportive, empowering)
- 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.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- Retrospective and Continuous Learning.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
VUCA environment: Volatility (rate of change). Uncertainty. Complexity. Ambiguity.
1.2 Scrum
Key characteristics:
- The New New Product Development Game
- The Scrum framework includes cross-functional teams who come together to build deliverables and deliver value to users.
- The Scrum framework is based on a rugby scrum, where the team puts their heads down and works to get the ball down the field.
- Elements :
- Product Backlog : the center artifact, where all possible ideas, deliverables, features, or tasks are captured for the team to work on.
- Sprint (iteration) : a time-boxed iteration in Scrum where work is done.
- Usually two weeks.
- Daily Scrum (Stand up) : a meeting of 15 or fewer minutes every day of the Sprint.
1.3 Kanban (看板)
Kanban has two key benefits. (1) it offers transparent visual feedback about the status of work in progress. (2) it ensures the team only accepts a sustainable amount of in-progress work.
With Kanban, project managers use sticky notes or note cards on a physical or digital Kanban board to represent the team’s tasks with categories like “To do,” “In progress,” and “Done.”
1.4 XP (Extreme Programming)
Extreme programming is an Agile project management methodology that targets speed and simplicity with short development cycles and less documentation. The process structure is determined by five guiding values, five rules, and 12 XP practices (which we’ll break down further on in this article).
- Aims to improve product quality and the ability to respond to changing customer needs.
- Takes best practices for the development process to “extreme” levels.
1.5 Lean
Lean uses the 5S quality tool to eliminate eight areas of waste, save money, improve quality, and streamline processes. Lean’s principles state that you can do more with less by addressing dysfunctions that create waste. Lean implements a Kanban scheduling system to manage production.
- Define value : identify and focus on what the customer wants and include the customer.
- Map value stream : map out the steps to production and challenge all wasted steps.
- Create flow : ensure the product flows through the value stream efficiently, eliminating waste throughout the cycle.
- Establish pull : ensure the customer is “pulling” on the product through this stream by asking for features and incremental deliveries.
- Pursue perfection : push the team to continuously improve the first four process steps.
1.6 The Spotify model
Teams are broken down into what they call Squads - self-organizing and collocated. They work together to achieve a long-term mission.
2. Scrum Theory
The Scrum Guide (Empiricism: each decision are made based on real experiences or hard data)
- The three pillars:
- Transparency
- Inspection to detect potentially undesirable variances or problems.
- Adaptation adjust to face challenges.
Five values: Commitment, Courage, Focus, Openness, Respect.
Team roles and traits:
- Scrum Master: build the thing fast. facilitate Scrum events and coach the Scrum Team. helping the team be their very best.
- Traits: Organizational skills; Supportive leaders; Facilitate productivity and collaboration; Coach team members; Great communicators.
- Product Owner: ensure the team is building the right thing.
- Traits : customer-focused, decisive, flexible, optimistic and positive, available, collaborative.
- Development Team (developers). build the thing right.
- Traits : cross functional, self-organizing, supportive, customer-oriented.
3. Implementing Scrum
3.1 Product Backlog
Guide and Roadmap. (the Product Owner’s job) The center artifact, where all possible ideas, deliverables, features, or tasks are captured for the team to work on. Template.
- Features: (1) Living artifact. (2) Owned and adjusted by the Product Owner. (3) Prioritized list of features.
- Elements: Item description; Value; Order (priority); Estimated efforts.
- effort estimation : T-shirt sizes and story points.
User stories are short, simple descriptions of a deliverable told from the perspective of the user. To develop always centered around the user’s needs and overall experience. Template.
- The typical template for a user story looks like this: As a user role, I want this action so that I can get this value.
- Elements: (1) User persona; (2) Definition of Done; (3) Tasks; (4) Any feedback already provided.
- I.N.V.E.S.T. criteria (checklist):
- Independent: The story’s completion is not dependent on another story.
- Negotiable: There is room for discussion about this item.
- Valuable: Completing the user story has to deliver value.
- Estimable: The Definition of Done must be clear so that the team can give each user story an estimate.
- Small: Each user story needs to be able to fit within a planned Sprint.
- Testable: A test can be conducted to check that it meets the criteria.
3.2 Scrum Events
- The Sprint (timeboxes)
- Sprint Planning. Example
- Daily Scrum (Stand up)
- Sprint Review
- Sprint Retrospective (email example)
- Ask open-ended, probing questions.
- Consider diverse styles of communication and participation.
- Cover the many aspects of the Sprint when conducting a retrospective.
- Consider reflecting periodically on Scrum theory and values by asking specific questions.
3.3 Scrum Tools
- Burndown charts : time - work done.
- Velocity : The measure of how many points the team burns down in a given Sprint on average.
- 👌 Be careful when sharing velocity with external stakeholders.
- 🚫 Don’t use velocity as a performance metric, nor comparison metric.
- 👌 Proceed with caution when using velocity as a metric for project delivery date.
- Kanban boards.
4. Apply
Maximizing value-driven delivery : (1) build the right thing, (2) build the thing right, (3) run it right.
- Following a Value Roadmap : where to go, how to get there, what to accomplish along the way.
- Product vision, Product roadmap, Release plan.
Change management.
- Create a sense of ownership & urgency. Facilitating organizational change to Agile.
- Three keys to influence : Clarify measurable results; Find vital behaviors; Use the six sources of influence.
Coach :
- Design the “plays” with the team.
- Provide feedback to the team.
- Celebrate and learn with the team.