What is scrum

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

Scrum 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:

1 thought on “What is scrum”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s