Agile development and scrum
Agile Manifesto Values
- Individuals and Interactions over process and tools
- Working product over comprehensive documentation
- Customer collaboration over contract operation
- Responding to change over following a plan
12 Agile Manifesto Principles (1)
- Customer satisfaction by early and continuous delivery of valuable software
- Welcome changing requirements, even in late development
- Working software is delivered frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- Face-to-face conversation is the best form of communication (co-location)
12 Agile Manifesto Principles (2)
- Working software is the primary measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Best architectures, requirements, and designs emerge from self-organizing teams
- Regularly, the team reflects on how to become more effective, and adjusts accordingly
Scrum
- Framework implementing Agile Software Development
- Sprints (30 days or less, commonly 2 weeks)
- Cross functional team (vertical. Not horizontal)
- Delivering/Demonstrating working software at each iterations
Scrum Roles - Product Owner
- demonstrates the solution to key stakeholders who were not present at a sprint review
- defines and announces releases
- communicates team status
- organizes milestone reviews
- educates stakeholders in the development process
- negotiates priorities, scope, funding, and schedule
- ensures that the product backlog is visible, transparent, and clear
Scrum Roles - Scrum Master
- 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
- Helping the team to determine the definition of done for the product, with input from key stakeholders
- Coaching the team, within the Scrum principles, in order to deliver high-quality features for its product
- Promoting self-organization within the team
- Helping the scrum team to avoid or remove impediments to its progress, whether internal or external to the team
- Facilitating team events to ensure regular progress
- Educating key stakeholders in the product on Scrum principles
- Coaching the development team in self-organization and cross-functionality
Scrum Workflow - Sprint
The Sprint is a timeboxed effort.
- Sprint planning
- Daily scrums
- Sprint Review
- Sprint retrospective
Scrum Workflow - Sprint Planning
- Mutually discuss and agree on the scope of work that is intended to be done during that sprint
- Select product backlog items that can be completed in one sprint
- Prepare a sprint backlog that includes the work needed to complete the selected product backlog items
- The recommended duration is four hours for a two-week sprint (pro-rata for other sprint durations)
- 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
- 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
- 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
- Reviews the work that was completed and the planned work that was not completed
- Presents the completed work to the stakeholders (a.k.a. the demo)
Scrum Workflow - Sprint Retrospective
- Reflects on the past sprint
- Identifies and agrees on continuous process improvement actions
- Two main questions are asked in the sprint retrospective: What went well during the sprint? What could be improved in the next sprint?
- This event is facilitated by the scrum master
Scrum - During the Sprint
- Execute assigned tasks
- Finish them 1 by 1 if possible
- Don't get distracted. Finish a task before going to the next one.
- Seriously, finish the task. 90% done is often 50% done.
- Try to not start something that the team didn't agree to. If it's not in the sprint, then it is not important.
- If you think the team is missing an important item, add it to the backlog and it will be prioritized for the next sprint.
- The goal is to focus and burn down tasks as good as possible.
deck
By Ambroise Couissin
deck
- 86