Implementation - Sprinting Flashcards
Sprinting
What is Sprinting?
Sprinting is part of the agile development method
The Process:
1) After User Stories are generated (Product Backlog of Requirements) , some of these are selected to be completed during sprint-> Sprint Planning
2) Sprint backlog (which is a subset of product backlog)
3) Daily Scrum Meetings -> Development for 2 Weeks (Sprint)
4) Sprint Review with Product Owners/Stake holders
5) Repeat process
What are the Agile values?
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
What is a product backlog?
The product backlog is a list of what is needed in the software product. All features
Once you have a product backlog:
1) Determine how long an item will take to complete/implement – Determine the “size” of the item
2) Rank the importance of the items in the backlog – Already done as part of ranking the requirements
This is a very rough conversion scale. It is good enough to start a conversation. After several sprints, you get an idea of what a story point equates to in terms of time.
What are Story Points?
Story points are units of measure for expressing an estimate of the overall effort required to fully implement a product backlog item or any other piece of work
This is different from traditional estimates in a time format; I.e. days, weeks, months etc.
What is T-Shirt Sizing?
T-Shirt sizing is a relative scaling process: Judge how long a task will take based on categorizing as: S,M,L,XL, XXL…
How can Poker help with estimating tasks?
For a particular task: Members in the game make estimates related to the task by playing a numbered card face-down to the table
The cards are then revealed, and the estimates are then discussed.
Figures are hidden to avoid the cognitive bias of anchoring (the first number spoken aloud sets a precedent for subsequent estimates
The cards have numbers on them (Fibonacci sequence)
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
In Agile Development, who is responsible for product quality and timely delivery
The Engineering Team
In Agile Development, who is accountable for the success of the product features in the market?
The Product Owner
how does the product owner decide priority in the backlog?
Firstly, If you let one customer dictate priority, you are not destined for long term commercial success.
There are several methodologies you can use with a set of customers/stakeholders:
Likert Scale rating of features:
Very Important
Important
Neither Important or Unimportant
Unimportant
Irrelevant
Pairwise comparison of features:
Force ranking a list by expressing preference in each pair
MoSCoW
What does MoSCoW stand for?
Must have
Should have
Could have
Won’t have
What is the sprint backlog?
The sprint backlog is what the scrum team commits to getting done in the current sprint
What happens during a sprint planning?
At a sprint planning meeting at the start of the sprint cycle you will generally take the highest priority items from the product backlog and move those into the sprint backlog until you have consumed the expected velocity of the team
The team will generally turn features into user stories. User stories force good structure and testability into the requirement with minimum detail.
Sprint velocity is generally measured into story points
Select the stories you want to work on in the sprint
Assign a person to work on the story to develop the feature in the program
Use your work management software (e.g. Trello for the product backlog)
How to establish Velocity for Your Team?
A team’s velocity is equal to the amount of work that a team can complete in one sprint
If you’re trying to determine the velocity for a newly established team, track your team’s deliverables and story points from sprint to sprint to gauge how much can be expected from your sprint team
What is a Scrum Burndown Chart?
A Burndown chart is a graphic representation of how quickly the team is working through the user stories
The burndown chart shows the total effort against the amount of work for each iteration
Often Y axis is story points
Product Management Software (for agile development) can produce burn-down charts for you – the team enters in what has been completed each day.
How to go about examining team availablity?
Before fully committing to a sprint schedule, make sure to address your team’s capacity to complete proposed workload.
Ask team members to confirm any planned vacation time, commitments to other projects, and other possible time restraints
If team members can’t fully commit to the sprint workload, adjust the workload accordingly.
What to do before a sprint begins?
Any known issues or setbacks should be factored into agile sprint planning
And addressed with the team before the sprint begins.
What does the scrum master do?
The Scrum master should take care of who, what, when, and where of the sprint planning meeting.
This preparation includes deciding on the meeting’s date and time, as well as its attendees.
Trello has a sprint board.
In sprinting, how do we deal with Bugs?
Bugs are where software is not working according to specification.
Everything you fix introduces the risk that you destabilize something else
Plan capacity for bug fixes from prior releases in upcoming release plans
Option 1: Have two backlogs:
Development features
Bug Fixes
Option 2: Include within the sprint backlog
Put some placeholder “Tasks” in the sprint backlog
How to Deal with requests for new features?
Stakeholders may request new features
The product owner is responsible for ordering the priority of the features, as well as enhancements and bugs, that are going into this release
The distinction between features and enhancements is generally one of scale.
Customers will always be requesting new capabilities in your products:
Some might be quite small: call these enhancements
Some might be quite big: call these features
What happens during sprint planning?
Select the stories you want to work on in the sprint
Assign a person to work on the story to develop the feature in the program
What is a Scrum meeting?
Scrum meetings (sometimes called standups) are a daily check-in from the Scrum team members to review the work since the last scrum and plan the work until the next scrum.
It is facilitated by a Scrum Master.
The scrum master should be very good at keeping the team productive, removing obstacles and distractions. The scrum master should be good at keeping proceedings within a time box
It is briefly minuted, just to ensure that follow ups are done and people don’t use the meeting for things that should be done elsewhere.
The scrum meeting is for the members of the scrum team.
Who should attend a Scrum meeting?
Engineers
Quality Assurance
User interface Design
Scrum Master
Optional:
Product Owner
What happens in a Scrum meeting?
Everybody speaks
Everybody listens
What I have done since last standup
What I plant to do before next standup?
Any obstacles that I am facing
If you are speaking for more than 2-3 minutes, something needs to be taken outside of the Scrum meeting.
What is a Scrum board?
It is a customary to have the scrum meeting somewhere that you can see the Scrumboard.
The Scrumboard is a simply visual planning board showing what is in the backlog, work is currently being worked on and what is done.
Done means all tasks in the DOD (Definition of Done) are complete.
Given that there is a collective commitment to the sprint backlog, you should be able to see what is in work in progress so that you can help clear work in progress (WIP) rather than something new from the sprint backlog.
Split out new tasks according to the definition of done, until the sprint backlog item can safely be put in the done column.
It is much better to have something to demo at the end of the sprint to start to confirm sprint velocity. Ending the sprint with everything in WIP is zero velocity.
What is a scrum meeting not?
It is not a status meeting.
It is not a management briefing.
It is not a review.
It is not a demo.
It is not an investigation.
It is not a teaching session.
It is not long.
It is not boring.
It is not dominated by any individual.
It does not last longer than necessary.
How long should a Scrum meeting last?
15 minutes is normal
10 minutes is good
30 minutes means you do not understand how to run an agile team
30 minutes means you have an ineffective scrum master
30 minutes means that you are inviting inappropriate people to a scrum meeting
30 minutes means that you have some personality issues in the team
30 minutes means your development team must factor out some productive time to attend a meeting
What can go wrong in a Scrum meeting?
People don’t arrive on time
People can’t say what they did
People don’t know what to pick up from the scrum board next
People try to resolve problems in the scrum meeting
The wrong people are at the scrum meeting, so you start giving status or explaining the features
A dominate personality wants to speak for too long
People lose focus on the purpose of the scrum
The scrum team expand to fill a vacuum of time
Too many people get invited to the scrum
The scrum team is too big
The people are nervous of each other and will not admit they are stuck
Follow ups are noted by not actioned