Last year I attended MIX10 conference in Las Vegas, because MIX is very near (Yes, I'm GOING!!!!). I decided to plan my strategy of winning (I lost the last time…) in “Black Jack” based on Scrum Methodology.
Many thanks Yaniv Kessler for helping me finish this article.
So before I reveal My Custom Scrum Methodology, let's talk about? ->
What is Scrum?
Scrum is an iterative, incremental framework for project management and agile software development.
Although Scrum was intended for management of software development projects, it can be used to run software maintenance teams, or as a general project/program management approach.
Really what is Scrum?
[Full Article] SCRUM is a loose set of guidelines that govern the development process of a product, from its design stages to its completion.
It aims to cure some common failures of the typical development process, such as:
- Chaos due to changing requirements - The real or perceived requirements of a project usually change drastically from when the product is designed and until it is released. Under most product development methodologies, all design is done at the beginning of the project, and then no changes are allowed for or made when the requirements change.
- Unrealistic estimates of time, cost, and quality of the product - The project management and the developers tend to underestimate how much time and resources a project will take, and how much functionality can be produced within those constraints. In reality, this cannot be predicted accurately at the beginning of the development cycle.
- Developers are forced to lie about how the project is progressing - When management underestimates the time and cost needed to reach a certain level of quality, the developers must either lie about how much progress has been made on the product, or face the indignation of the management.
Among the most important ideas of scrum are developing in short iterations and having daily meetings with your team. These ideas help tackle and fix problems quickly, help measure the project’s velocity and finally allows for a more accurate estimation of the project’s completion date.
If you want to know more about Scrum in couple of minutes, I'll recommend you to see Scrum in under 10 min by Hamid Shojaee.
Let’s Get Started – Scrum Vegas Style
Everyone who comes to Vegas and wants to gamble has a “Product” ready:
Product = “ Earn A Lot Of Money & Have A Great Time” -> It is the “What” that will be built or achieved.
So with this idea in mind, I started planning my Product Backlog (integrating some important lessons from the last visit) by filling my wish list:
Sprints – Define How Long You're Going to Play
The general recommendation is that iterations should be as short as possible, in Scrum max 30 days for sprint, each Sprint should contains the Goal of a specific sprint – My was – Not Losing!
Because my Vegas trip is limited only for 4 days, I decide to schedule 8 Sprints (it’s also recommend to create at least 4 sprints).
* You need to define the total time (Money) you can afford to achieve your Product. – My was 1000$ or 4 Days.
Sprint duration will be no more than 7 hours (Normal is between 3-30 days) and will include between 125$ - 250$ (In Development, this is Work Remaining) – It is Very Important not to exceed the amount above – if so, this is the Time to speak with your Scrum Master (See below about Roles) and discuss how to continue with our Sprints and check if the Product release will be delayed or worst will not achieved? (Depends on how much money you lost :-()
After each Sprint, you need to perform a 1 hour break (the normal is 15 minutes) that will include a stand up meeting (Monitor your progress – Burn Down Chart – See Below) with your Scrum Master (As I wrote above, discuss all your problems and plan ahead), Pipi time, Search for another Table (Change Table change Luck) and Rest, because each day contains 2 Sprints (Not Normal).
Roles & Tips
This "Product” cannot rely solely on your shoulders, So Let’s meet the Team
The main roles in Scrum are:
- The “ScrumMaster”, who maintains the processes (typically in lieu of a project manager)
- The “Product Owner”, who represents the stakeholders and the business
- The “Team”, a cross-functional group of about 7 (Default) people who do the actual analysis, design, implementation, testing, etc.
In our “Product”, I'll have the “Product Owner” role (After all, I know what I want and it’s my Money :-D) and the “Team” role (I'm not letting anyone play with my money….).
But the “ScrumMaster” has to be someone you trust (anyone beside you) in helping you. Now, you're probably asking yourself why would you need someone’s help?
- If you are losing too much money, you become a “compulsive gambler” and you don't want to stop or can't – your Scrum Master is needed to pull you back to your room until the next sprint.
- On the gambling floor, the Drinks are FREE, if you can't control yourself - counting cards becomes impossible – the Scrum Master will help you count the cards.
- You're gambling and manage to control yourself from drinking alcohol, but than a Show comes up and couple of Beautiful Ladies are dancing just around your table and cause you to lose focus – Again, the ScrumMaster has to be there and ask those ladies to go and wait in your room, No No No – the ScrumMaster should help you continue your game by removing those obstacles!!!
- The ScrumMaster has to be someone you Trust and even in very bad situations, such as when you are drunk. His words must have a deep effect on you. (Thanks Adam)
- Buy your return Flight Ticket before and make sure this is “No Refund Ticket” – so you can't use your way back home as stakes in a gamble.
- Don't come to play with 10$ (If you don't know how much you can spend, use a subject expert matter to examine your budget and define a reasonable amount to Play – Same as Estimated Work) this is still a game of luck (Same as Life), have a basic amount to help you cross the BadMojo. :-D
Start and Track
After each sprint, it’s very important to monitor your progress (This is what you do in the Stand Up Meeting) using “Burn Down Chart” - The “Burn Down Chart” is the number 1 reason for Scrum popularly, Burn Down shows remaining work (or Remaining Money) in the sprint backlog, this will help you see if your product is progressive smoothly.
Using the “Burn Down Chart” and it’s very easy to calculate the “Burn Down Velocity” - Velocity only helps you make achievable commitments in future iterations.
Finally “Burn Down Chart” helps you to provide a good estimation about the project’s completion date.
For example: If you allocate between 125$-250 (Developer = Remaining Work) for each sprint and from Sprint 1 to Sprint 2 I lost 500$ (1400$ - 900$), I could use the “Burn Down Chart” to see that in the current velocity (the velocity in which you lose money) you are going to lose all of it when we get to the 4th Sprint. (This is good for Development Team because this means that on the 4th Sprint, the remaining work will be 0 and you're done, but certainly not good for me.)
You might say to yourself that it is only an approximation and not the real thing- You are absolutely right - Burn Down shows "ESTIMATION" but the graph below shows the same result in life as it shows in the graph above.
I hope this article helped you to understand Scrum from a different perspective and made you think about moving to developing\playing with Scrum.
Next time I get to Vegas, I'll try my Black Jack Scrum Methodology and you can be sure I'll let you know how it fared!
Enjoy - Winner Winner Chicken Dinner
Shai Raiten is VS ALM MVP, currently working for Sela Group as a ALM senior consultant and trainer specializes in Microsoft technologies especially Team System and .NET technology. He is currently consulting in various enterprises in Israel, planning and analysis Load and performance problems using Team System, building Team System customizations and adjusts ALM processes for enterprises. Shai is known as one of the top Team System experts in Israel. He conducts lectures and workshops for developers\QA and enterprises who want to specialize in Team System.
My Blog: http://blogs.microsoft.co.il/blogs/shair/