Sunday, August 15, 2010

Scrum (Part 1: Planning & Poker)

One of the things I have really enjoyed here at Sony is working within a Scrum.  I plan on covering this topic in three separate posts.

1. Sprint Planning Meeting
2. Daily Scrum
3. Pros/Cons

Lets start with the basics... What is a Scrum? As Wikipedia says:

Scrum is an iterative, incremental framework for project management and agile software development.
That seems a bit wordy.  I typically read at a 5th grader's reading level, so from my perspective: its a process for breaking up a large project into manageable bites.  In Sony's case, 2 week 'sprints'.

At the beginning of each sprint we hold a Sprint Planning Meeting, which is the official title for figuring out what the hell we need to do in the next two weeks to meet our deadline.  This meeting usually starts by prioritizing the list of 'stories' we need to complete and estimate how long each one should take.  A story could be 'I would like to able to log in and out of the game.'

We (anyone involved in this story) then estimate how long this story will take to complete by using Planning Poker.  Planning Poker involves giving each person a deck of cards with numbers on them representing days of work.  Each deck has cards with numbers (1,2,3,5,8,13,20,40,100,?).  Each person decides how many days he/she thinks the task will take, finds the appropriate card (rounding up), and then at the same time everyone flips over their cards.  So if you think a task will take 6 days, then you will find the 8 card and flip it over.  If everyone agrees, great, move on to the next story.  Otherwise, the people with the highest and lowest estimates plead their cases on why they think it should take as long as they estimated and then everyone gets a chance to pick a new card and flip again... this process continues until there is a compromise/majority.  Once a good chunk of stories have been estimated we look at how many days of production we have available for this sprint and figure out how many stories we can tackle.  This entire process of choosing and estimating stories usually takes most of our morning.

In the afternoon we meet with our teams (in my case, the client team or Flash team) and we break down each story into tasks.  A task might be 'Create a modal for when you get disconnected from the server."  For each task we then estimate how many hours we think it will take, using a similar process as above although we are usually less formal at this point.  We give ourselves 6 hours of work each day to buffer for everything that comes up during a normal day as well as to help counter underestimating on tasks.  Tasking out all of the stories for the two weeks usually takes the remainder of the day.

Thus, we just spent 10% of our two week sprint in initial planning alone.  From here, we jump into our work while monitoring our daily progress.  I will explain in more detail in a future post.


Josh said...

Looking forward to more posts on this subject. It's interesting to see how other companies are utilizing scrum.

Ryan said...

I am 'testing' a Scrum project for my employer. We were 'trained' on it via some massive IBM created PowerPoint slides. Sadly, while upper management is pushing us to prototype a project using Scrum (versus our normally long and annoying project management methods) we are still being constrained by corporate IT. Even though we are in theory doing Scrum, 90% of what we have done is the same as normal.

If you choose to try Scrum, make sure you don't have to follow your typical documentation, approvals, code release cycles, etc. or it is a joke.

(I'm at a big telecom company)

poker tips said...

This sounds very interesting, I'll be sure to check this one out. Thanks.

Oliver Drend said...

Thank you for sharing such great information with us. http://roulette-gamedownload I really appreciate everything that you've done here and am glad to know that you really care about the world that we live in :)

George said...

We recommend major sites among Toto sites. We only recommend safety parks and recommend sites that guarantee superspeed exchange within 5 minutes of coupons and currency exchange. 안전놀이터

Halina Ford said...

The blog is quite awesome that has provided me the best knowledge Joinsini.

Ethan Ryan said...

Idiotic and additionally trusting people at the same time can be an obstacle, on aged and also fully grown folk assembled also will follow a complication. Age and also embryonic concern together. 파워볼엔트리

Alessa Hall said...

I need to to thank you for ones time for this particularly fantastic read!! I definitely really liked every part of it and i also have you saved to fav to look at new information in your site. 해외배팅사이트

Oliver Mir said...

I'm impressed, I must say. Very rarely do I come across a blog thats both informative and entertaining, and let me tell you, you ve hit the nail on the head. Your blog is important.. 에볼루션카지노

Mark weins said...

Casino gorilla recommends Korea's top online casino major casino site. We will make your choice of casino site the best by faithfully acting as a verification site that will not only allow you to make mistakes. 카지노사이트

kenwood said...

This content is written very well. Your use of formatting when making your points makes your observations very clear and easy to understand. Thank you. 언오버먹튀