Upload
elad-maimon
View
219
Download
0
Tags:
Embed Size (px)
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