Scrum is an agile framework for managing work with an emphasis on software development.
Three pillars of scrum
Transparency
This means presenting the facts as is. All people involved—the customer, the CEO, individual contributors—are transparent in their day-to-day dealings with others. They all trust each other, and they have the courage to keep each other abreast of good news as well as bad news. Everyone strives and collectively collaborates for the common organizational objective, and no one has any hidden agenda.
Inspection
Inspection in this context is not an inspection by an inspector or an auditor but an inspection by every- one on the Scrum Team. The inspection can be done for the product, processes, people aspects, practices, and continuous improvements. For example, the team openly and transparently shows the product at the end of each Sprint to the customer in order to gather valuable feedback. If the customer changes the requirements during inspection, the team does not complain but rather adapts by using this as an opportunity to collaborate with the customer to clarify the requirements and test out the new hypothesis.
Adaptation
Adaptation in this context is about continuous improvement, the ability to adapt based on the results of the inspection. Everyone in the organization must ask this question regularly: Are we better off than yesterday? For profit-based organizations, the value is represented in terms of profit. The adaptation should eventually relay back to one of the reasons for adapting Agile—for example, faster time to market, increased return on investment through value- based delivery, reduced total cost of ownership through enhanced software quality, and improved customer and employee satisfaction.
Roles and their responsibilities
Product owner
- creation of product backlog
- assign values to items
- order items by business value
- explain the items
- measure project performance
- contact customer
Scrum master
- ensure scrum is understood
- ensure scrum is enacted (implemented correctly)
- helps with techniques (calculation of user story points, business value in product log)
- may faciliate events
- removes impediments
- helps organization to adopt scrum
Development team
- develop
- estimate sprint backlog items
- select items for sprint backlog
- measure sprint performance
- calculate velocity
- compose DoD
- make technical decisions
In scrum Developer is a person with multiple skills – developer, analyst, tester, UI designer, architect. Each member of development has different specialisation, but together the team must cover all skills.
Artefacts
Product backlog
- list of items (user stories) containing what should be done prioritised by BUSINESS VALUE
- product owner is responsible for creation and put items with highest business value on top of the list
Sprint backlog
- development team pick based on velocity (average of story points gained from previous sprints) – velocity should be used only as a guide, development team can select less or even more items based on velocity as in previous scrum iteration
- development team is responsible for creation of sprint backlog
Increment
- increment is set of tasks which is done (described by “definition of done”) at the end of the sprint
Sprint goal
- something you want to achieve at the end of the scrum
User story
User story is used to define requirements – it is responsibility of Product owner to create items and order them by business value.
User story templates
– As a <role>, I can <goal/desire>, so that <why>
– As a {user}, I want to {do something} [, so that {purpose}]
– As a (user), I want to.. (generate transaction report), so that (user can check that transactions are correct)
User story must take same action, not to have something (ie: As an admin, I want to have database – NOT user story)
Events
Sprint
- container for iteration
Sprint planning
- creates sprint backlog and sprint goal, max 8 hours (for one month sprint)
Daily scrum
- synchronisation between team members
- 15 daily standing meeting
- 3 questions
- what did I do yesterday
- what Im going to do until tomorrow
- the problems I may have.
Developers participate other can only listen (i.e. product owner CAN attend but CANNOT participate)
Check sprint backlog productivity aka burndown chart
Scrum of the scrums
- synchronisation between multiple teams
- 4 questions
- what did We do yesterday
- what We are going to do until tomorrow
- the problems We may have
- dependencies between teams
Sprint review
- max 4 hours (for one month sprint)
- show to customer and receive feedback – modify product backlog based on feedback
Sprint retrospective
- max 3 hours (for one month sprint)
- discus how can we improve process (retrospective) or product (refactor)
Comparison table for scrum events
event/scrum length
|
1 month
|
2 weeks
|
1 week
|
Planning
|
8h
|
4h
|
2h
|
Daily
|
15min
|
15min
|
15min
|
Review
|
4h
|
2h
|
1h
|
Retrospective
|
3h
|
1.5h
|
45min
|
Notes
- non functional features (security, performance, scalability, maintability) should be either put to Definition of done, or should be extracted as one feature, ie. As a seller I want to have faster loading of invoices, so that seller can be more productive
- what we do between sprints – NOTHING – they run continuously
- spring backlog CAN be change during the sprint – but work(tasks) only, user story (parent of the task) itself CANNOT be changed!
- result of sprint is to create increment – potentially releasable work
- product owner is responsible to decide when to release increment
- sprint backlog is not baseline (document, report)
- if customer wants to add change sprint backlog do not reject him, but send him to product owner
- if you finished all items (user stories) you can take one from the top of the product backlog to sprint backlog
- it’s not necessary for all teams to start and finish the Sprints in the same time (scaled scrum)
Sources:
so scrum is for involving ceo and customer?
LikeLike
More for involving customer with your development team and to make things transparent for every party.
LikeLike