Having been indoctrinated in the use of Agile principles a long time ago in a galaxy far far away, it was about time that I became Scrum certified. To that end, I just finished attending a week long class which was delivered by Rod Claar (from RippleRock) and Doug Shimp (from 3Back). Scrum is quite a large topic and although a week sounds extremely lengthy, more time could easily be added to fully understand the ins and outs of using this methodology.
Using a combination of white board sessions, PowerPoint presentations and lots and lots of sticky notes, the concepts that Scrum embodies were conveyed. Combine this type of teaching with a fictitious project on a compressed time schedule and what was once foggy became clear as day.
This test project was composed of two Sprints with an initial analysis and grooming session. Each Sprint contained 15 minutes of planning, 3-30 minute “days” and a 2 minute standup. At the end of the sprints there were 10 minute reviews and retrospectives. This provided an immense amount of feedback into how to conduct a Sprint in order to showcase the completed work. The retrospective was a great time to talk about “what worked and what did not.” This last part was essential since this being a training course after all; if you couldn’t identify mistakes now then those same mistakes were bound to occur when put into practice. This is the last thing you want to happen when working on a business critical system.
While I've been using these techniques for quite some time now, it was refreshing to see it being validated by others in the industry who have successfully applied them from small to large size projects. There was also no shortage of "Fail Fast" examples.
As for tooling, the tools should be agnostic in nature, however Team Foundation Server (TFS) was highlighted and used as it was the foundation for process management (i.e. work item creation), source control and build integration. I can’t really complain about the choice as I’m a big proponent of TFS but I’m sure you surmised that already from previous blog posts.
One of the best “drive it home” sessions of this training (outside of the Sprint simulations) was when Doug illustrated how the flow of work would occur. This meant understanding who and what the Product Owner (PO) represented, how the product backlog was constructed, proritization/ordering of the user stories that would encompass the Sprint and ultimately what work was completed. Having different colored sticky notes, blue painters tape and a large whiteboard really helped understand this process.
Although the training is presented logically there seemed to be extra emphasis paid on Test Driven Development (TDD). This is certainly an important topic but spending more than a day on this area seemed excessive. I would’ve liked to focus more on the underlying principles of Scrum and the mechanics of conducting Sprints then coding unit tests. That said, on the last day an adjustment was made to the training based upon feedback and we discussed “going through the motions” which more than made up for what I deemed time lost.
Obviously with time comes experience and this is true when talking about a good Scrum Master. There was an analogy in the class about painting. I’m paraphrasing a bit but it went something like this: No matter how many times you show someone how to paint, unless they do it themselves they’re not going to fully grasp how to be a good painter and avoid some of the pitfalls that are presented while doing it. This is precisely why putting these patterns and practices into use often is vital to hone your Scrum skills.
I’d definitely pick up Doug’s book “Exploring Scrum: The Fundamentals” as it’s a must have when questions arise about Scrum practices and the interactions between the people and the product(s) being used. Even better, if you get a chance to attend one of Doug or Rod's training sessions, do it as it’s a worthwhile endeavor and as you can tell the training evolves based upon the class. A nice format as this lends itself quite nicely to the students and not a rigid structure for teaching a class. Not to mention that after a week’s time, you’ll be like me and join the ranks of the Scrum Lords.