Scrum in practice at klarna

Preview:

DESCRIPTION

How to do SCRUM and how are we doing it in practice at Klarna TLV. Covering the next topics: sprints, retro + demo, standup, pair programming, code quality, MVP, continuous integration, continuous deployment, and more...

Citation preview

Scrum in practiceBy Elad Maimon

Manifesto for Agile Software Development

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

Rugby team…

SCRUM ?

״אתה מתחיל לרוץ הכי מהר שלך, ולאט לאט אתה מגביר…״

Scrum Overview

Key Principles

● MVP (“good is enough”)

● Team empowerment

● Short feedback loop (fail fast)

● Trust

● Continuous delivery

● Continuous improvement

● Keep WIP low

Follow it by the book…

Scrum in Klarna - How ?

● Responsible for everything!○ Requirements, UI, architecture, test, deploy, monitor

● No one in the team is more important or has a stronger say.

● Yet, different responsibilities (roles):○ Product Owner (PO) - owns the backlog, prioritize,

approve every deployment.

○ Scrum Master - ensures the Scrum process used as intended.

○ The Team - deliver, deliver, deliver…

It’s All About The Team

Sprints

● 1-2 weeks sprint

● Planing

● Daily standup - no discussions, only status!

● Demo + Retro

● Using Jira …or

Planing

● PO prioritises and decides what gets into the sprint backlog

● Team estimates story points by voting

● Team velocity measured by story points of last sprints

● Engineering stories in every sprint

User Story

● Must have a product value○ Demonstrate it in the sprint demo

● Done == deployed

● Elephant carpaccio○ Stories are 1-5 days long. Bigger ? Split !

● Work only if it is in the sprint backlog

Pair Programming

It is awesome !

Pair Programming - cont.

● Driver - Navigator model● Switch frequently● Code quality much higher● Knowledge sharing is much less

necessary● Stronger developer helps the other

to improve● Challenges - need to practice

○ http://www.wikihow.com/Pair-Program

Quality

● Built in development process

● No QA organization

● TDD - red green refactor

● Code review for each line

● Continuous integration

● Test coverage - we strive to 100%

● Zero bug mentality

Think Agile - MVP

● Agile is not just set of rules, it is a state of mind.

● You can’t declare yourself Agile - you feel Agile.

● “I won’t build a mechanism that supports future requirements”

● “Instead, I’ll build the minimum required, and refactor it later if necessary”

Think Agile - Elephant carpaccio

● If a feature is too long, break it down and deploy it, even if there’s no real use in the partial implementation

● Keep the product value for each story

(Partners admin page example)

Think Agile - Keep WIP low

● If story get stuck, don’t hold it while continuing working on new stories

● Instead, find the product value of current state, deploy as is, and create a new story in backlog to fill the gap later

● If not possible - reject the story

Think Agile - Short feedback loop

● It is hard to be sure that you are not writing bugs

● Thus, you must trust your tests.

● Get a short feedback loop, don’t be afraid to fail, it is better fail fast than continue working on the wrong direction

● We use Ruby on Rails.○ Designed to support rapid web development.○ Pick technology that supports RAD

● We use Chef for provisioning○ Infrastructure as a Code

● We love open source

● We contribute back

● Hackathons

● Sustainable productivity

What Else ?

Our Values

Play as a team

Craft like an artist

get things DONE

Thank you

Recommended