So many fantastic ideas to build
Sadly, none of them is a time machine
Everything is locked in up-front
Teams spend months designing, architecting, developing
Right before completion, pieces are put together and tested
At the very end, it’s presented to the customer, who of course, loves it and says it’s exactly what they always wanted.
Individuals and interactions
Working software
Customer collaboration
Responding to change
processes and tools
comprehensive documentation
contract negotiation
following a plan
over
over
over
over
Good for teams working toward milestones and deliverables
Timeframe and effort based
Good for teams with small tasks and tight turnaround (Ops, e.g.)
Issue count based
The goal is not to do as many tasks as possible. The goal is to have as great an impact as possible by doing as few tasks as possible.
- Agile Manifesto Principles
Responsible for the Product and the Development team
The sole person responsible for managing the Product Backlog
Cross-functional, with all of the skills as a team necessary to create each increment
7 (+/-2) people, typically
Responsible for ensuring process is understood and enacted
Exists to protect the development team and the process
Vision
Roadmap
Release
Sprint
Day
yearly or more
biannual
quarterly
bi-weekly to monthly
daily
The broadest picture you can paint of the future.
Further planning will detail the vision & may divert from the vision because the future will bring us a changed perspective.
Communicate the whole picture
Determine and communicate when releases are needed
Determine what functionality is sufficient for each release
Focus on business value derived from the releases
Used when there are multiple teams with dependencies.
Creating a “Done”, useable, and releasable increment.
Sprint Goal: objective that will be met, why the team is building this increment
Daily Planning is part of the Sprint*
an ordered list of everything that might be needed for the product
Product Owner is solely responsible for it
Dev Team provide rough effort estimates for everything on the backlog
Smaller, broken down issues to work on first, huge generic ones further away
Primary issue type is something called a User Story
a plain English, first person description of a feature
"As an [Email User], I want to [Archive Messages] so that [my Inbox isn't crowded.]"
User stories continue to get refined into more and more discrete chunks as you get closer to the point when you have to build that feature.
1, 2, 3, 5, 8, 13, 20
A really rough numerical scale for estimating effort on User Stories
Numbers get wider apart the more effort something takes to accept that stuff takes longer
Bigger items need to get broken down into smaller chunks
Only developers get to estimate how much effort something is.
Sprint Planning
Daily Scrums
the development work
Sprint Review
Sprint Retrospective
A meeting before each new sprint
What can be delivered this sprint?
Product Owner discusses objective and backlog items that would achieve it
How will we get it done?
Development team forecasts what it can do in the upcoming sprint
Break down stories into sub-tasks of no more than a day or two for the first things you plan to tackle
A max 15-minute daily meeting for dev team and Product Owner
Three questions to answer:
Often followed by more detailed discussions amongst team members to adapt or re-plan
Informal at the end of the sprint
Includes dev team, product owner, stakeholders
Result is a revised backlog to help plan the next sprint
Before next Sprint Planning
Includes dev team, product owner, scrum master
Meant for team to provide self feedback and establish process improvements
It sounds much worse than it is.
Focus is talking with each other during development, not about the number of meetings you have.