Scrum is a framework for developing, deliverin and sustaining complex products.
Definition : A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.
Scrum teams + roles / events / artifacts / rules
Technology and markets, environment are more and more complex and interactions have increased -> Scrum is more and more useful
Especially effective in iterative and incremental knowledge transfer
Small teams of people are more flexible, more adaptive (networks of teams).
Scrum is founded on empirical process control (empiricism) : knowledge comes from experience and making decisions based on what is known. Iterative and incremental approach to optimize predictability and risk control.
Pillars : Transparency / Inspection / Adaptation
Transparency : Common standard and common understanding, i.e common language referring to the process shared by the participants
Performers and Inspectors for an increment must share a common definition of “DONE“
Inspection : Frequently inspect scrum artifacts and progress toward a sprint goal to detect undesirable variance
Adaptation : deviation -> adjustment, as soon as possible to limit further deviation
Four formal events for inspection and adaptation :
- Sprint planning
- Daily Scrum
- Sprint review
- Sprint retrospective
Scrum values :
- Commitment
- Courage
- Focus
- Openess
- Respect
Scrum Team : Self organizing, cross functional, autonomy concerning decisions and skills. Flexibility, creativity, productivity
Deliver products iteratively, increments deliveries of “Done” useful versionsof working products.
Product owner : Responsible for maximizing the value of the product resulting from work of the dev team. Sole person responsible for managing the product backlog.
Content, ordering and understanding of the product backlog. Product owner is one person, everbody needs to respect his decisions.
Development team : Delivering a potentially releasable increment of “Done” product at the end of each Sprint.
Self organizing, no one tells the dev team how to turn product backlog into increments of potentially releasable functionality. Cross functional, all skills, all equal, no sub teams, accountability lieson then whole eam. Size between 3 and 9 people.
Scrum master : Helping everyone understand scrum theory, practices, rules and values. Help understand which interactions are helpful and which are not.
- Service to P.O : maximize value by explaining and inproving understanding
- Service to D.T : Coaching and facilitating
- Service to Orga : Scrum adoption, scrum implementation, causing change
Scrum Events
All events are time-boxed, every event has a maximum duration. Once a sprint begins it cannot be shortened or lenghtered. Sprint is a container for all other events, other events are a formal opportunity to inspect and adapt.
- Sprint
- Sprint planning
- Daily Scrum
- Sprint review
- Retrospective
The Sprint : a time-box of one month or less during which a “Done”, useable and potentially releasable product increment is created. A new sprint starts after the conclusion of the previous sprint.
Sprint :
Planning -> Daily scrums + Dev works -> Review -> Retrospective
During a sprint no changes are made that would endanger the sprint goal. Quality goals do not decrease, scope my be clarified and re-negotiated between P.O and devs.
Only P.O can cancel a sprint if sprint goal becomes obsolete. In this situation product backlog items are reviewed, if part of the work is potentially releasable it is done.
Sprint Planning : Done by the whole team, max 8hrs for 1 month sprint. Scrum master ensures that the event takes place and attendants understand the purpose + teach to keep within the time box.
Topic one : what can be delivered in the increment during the sprint ?
Input : product backlog + latest incremewn + projected capacity of the dev team + past performence of the dev team
Output : dev team assess what it can accomplish + sprint goal “objective that will be met within Sprint”
Select product backlog items for the Sprint
Topic two : How will the chposen work get done ? Dev team decides how it will build the functionality into a “Done” product increment
Product backlog items selected + plan for delivery = Sprint backlog.
P.O can help clarify the product backlog items and renegociate with dev team. Dev team can invite other people to provide advice.
End of meeting = Dev team can explain to P.O and S.M how they will work to accomplish sprint goal + increment
Daily Scrum : 15 min every day for dev team, at same place and same time to decrease complexity and push for habit. D.T plans work for the next 24 hoiurs + inspects work since last daily scrum. Inspect progress to Sprint goal often followed by detailed meeting. Internal meeting for D.T, S.M makes sure it is time boxed and that no external disruption + improve communication, eliminate other meetings, identify impediments, highlight and promote quick decisions, improve level of knowledge.
Sprint review : End of the sprint to inspect increment and adapt product backlog. Informal meeting, intended to elicite feedback and foster collaboration. Maximum of 4 hours for 1 month Sprint. S.M time box and improve understanding. Includes : done ? not done ? what went well ? demo , product backlog, what next ? market changes ? What is more valuable to do next ? Review of timeline, budget, potential capabilities.
The result of the meeting is the revised product backlog
Sprint retrospective : Create a plan for improvement to be enacted during next Sprint. Max 3 hours. S.M as usual + ensure meeting is positive and productive and encourages people. The scrum team inspects last sprint -> identify improvements -> create plan to implement improvements.
End : Scrum team should have identified improvements for next sprint
Artifact : Work or value definitionto provide transparency and opportunities for inspection and adaptation
Product backlog : Ordered list of everything thatis known to be needed in the product. The P.B evolves as the product andthe environment evolves. It is dynamic. It lists : all features, functions, requirements, enhancements, fixes. Multiple Scrum teams often work on the same product backlog.
Refinement : adding detail, estimates and order to items. Dev team is responsible for estimations.
Status on different items -> “Ready” -> to be put in Sprint backlog
P.O tracks total work remaining at least every Sprint review. Assess progress, information is then shared to all Stakeholders.
Sprint Backlog : Set of product backlog items selected for the sprint, plus a plan for delivering the product increment and realizing the sprint goal.
It includes at least one high priority processs improvement identified in the previous retrospective meeting.
With enough detail to be used in daily scrum. Only dev team changes the sprint backlog, it is a highly visible, real time picture of the work that the dev team plans to accomplish in the sprint.
By tracking the remaining work throughout the sprint the dev team can manage its progress.
Increment : Sum of all the P.B items completed during a sprint + the value of the increments of all previous sprints.
At the end of a Sprint, the new increment must be “done”, it is a body of inspectable, done work that supports empiricism.
Scrum master’s job is to work with the scrum team and the organization to increase transparency of the artifact.
“Done” : Everyone must havr the same understanding of what “Done” means. Shared understanding if what it means for work to be completed.
Each increment is additive to all prior increments and thoroughly tested, ensuring that all increments work together.
Definition of done matures and expends to include more stinger criteria for high quality.