Agile development and scrum

Agile Manifesto Values

  1. Individuals and Interactions over process and tools
  2. Working product over comprehensive documentation
  3. Customer collaboration over contract operation
  4. Responding to change over following a plan

12 Agile Manifesto Principles (1)

  1. Customer satisfaction by early and continuous delivery of valuable software
  2. Welcome changing requirements, even in late development
  3. Working software is delivered frequently (weeks rather than months)
  4. Close, daily cooperation between business people and developers
  5. Projects are built around motivated individuals, who should be trusted
  6. Face-to-face conversation is the best form of communication (co-location)

12 Agile Manifesto Principles (2)

  1. Working software is the primary measure of progress
  2. Sustainable development, able to maintain a constant pace
  3. Continuous attention to technical excellence and good design
  4. Simplicity—the art of maximizing the amount of work not done—is essential
  5. Best architectures, requirements, and designs emerge from self-organizing teams
  6. Regularly, the team reflects on how to become more effective, and adjusts accordingly

Scrum

  1. Framework implementing Agile Software Development
  2. Sprints (30 days or less, commonly 2 weeks)
  3. Cross functional team (vertical. Not horizontal)
  4. Delivering/Demonstrating working software at each iterations

Scrum Roles - Product Owner

  1. demonstrates the solution to key stakeholders who were not present at a sprint review
  2. defines and announces releases
  3. communicates team status
  4. organizes milestone reviews
  5. educates stakeholders in the development process
  6. negotiates priorities, scope, funding, and schedule
  7. ensures that the product backlog is visible, transparent, and clear

Scrum Roles - Scrum Master

  1. Helping the product owner maintain the product backlog in a way that ensures the needed work is well understood so the team can continually make forward progress
  2. Helping the team to determine the definition of done for the product, with input from key stakeholders
  3. Coaching the team, within the Scrum principles, in order to deliver high-quality features for its product
  4. Promoting self-organization within the team
  5. Helping the scrum team to avoid or remove impediments to its progress, whether internal or external to the team
  6. Facilitating team events to ensure regular progress
  7. Educating key stakeholders in the product on Scrum principles
  8. Coaching the development team in self-organization and cross-functionality

Scrum Workflow - Sprint

The Sprint is a timeboxed effort.

 

  1. Sprint planning
  2. Daily scrums
  3. Sprint Review
  4. Sprint retrospective

Scrum Workflow - Sprint Planning

  1. Mutually discuss and agree on the scope of work that is intended to be done during that sprint
  2. Select product backlog items that can be completed in one sprint
  3. Prepare a sprint backlog that includes the work needed to complete the selected product backlog items
  4. The recommended duration is four hours for a two-week sprint (pro-rata for other sprint durations)
  5. Once the development team has prepared their sprint backlog, they forecast (usually by voting) which tasks will be delivered within the sprint.

Scrum Workflow - Daily Scrum

  1. All members of the development team come prepared.                                   - starts precisely on time even if some development team members are missing                                                                                                                                   - should happen at the same time and place every day                                     - is limited (timeboxed) to fifteen minutes
  2. During the daily scrum, each team member typically answers three questions:

- What did I complete yesterday that contributed to the team meeting our sprint goal?
- What do I plan to complete today to contribute to the team meeting our sprint goal?
- Do I see any impediment that could prevent me or the team from meeting our sprint goal?

Scrum Workflow - Sprint Review

  1. Reviews the work that was completed and the planned work that was not completed
  2. Presents the completed work to the stakeholders (a.k.a. the demo)

Scrum Workflow - Sprint Retrospective

  1. Reflects on the past sprint
  2. Identifies and agrees on continuous process improvement actions
  3. Two main questions are asked in the sprint retrospective: What went well during the sprint? What could be improved in the next sprint?
  4. This event is facilitated by the scrum master

Scrum - During the Sprint

  1. Execute assigned tasks
  2. Finish them 1 by 1 if possible
  3. Don't get distracted. Finish a task before going to the next one.
  4. Seriously, finish the task. 90% done is often 50% done.
  5. Try to not start something that the team didn't agree to. If it's not in the sprint, then it is not important.
  6. If you think the team is missing an important item, add it to the backlog and it will be prioritized for the next sprint.
  7. The goal is to focus and burn down tasks as good as possible.

deck

By Ambroise Couissin