Noffke.com

Agile, Scrum, and the ScrumMaster

by on Aug.13, 2010, under Software Development, Thoughts

Agile project methodology promotes the concept of an iteration and release in order to bring flexibility and adaptability into the software development life-cycle. In Scrum, the iterations are called sprints. Iterations are delivered in short 2-4 week cycles that combine to deliver the release. This is easy enough to understand and most all of us know that Agile methodologies rest on a set of common attributes that emphasize working software over comprehensive documentation and use self-organizing, cross-functional, self-managed teams. The team then is able to adapt itself to the build and deliver the right product with the correct balance of structure.

Scrum distinguishes itself from the generic agile methodology. The Scrum framework is comprised of several core concepts: Roles, Time Boxes and artifacts. These are the topics that are the focus of the Certified ScrumMaster seminar.

Roles

Roles of the project team are designed to emphasize individuals and interactions over processes and tools. Though co-location of the entire project team is not a pre-requisite to establishing a project team, it has its obvious benefits to meet this goal. The Product Owner is a key role and one that must be available for conversations with the developers throughout the sprint as well as being an active participant in the planning process. To have a single person act as the product owner can help the overall project velocity, but is also very dependent on the environment. Stakeholders and business owners contribute to the success of a Scrum project and are encouraged to participate in some time boxing activities, however they do not have a formally defined role within the team.

ScrumMaster has the task of managing the overall health of the project. This is to maximize the overall productivity of the team with a balance of the team’s efforts. This role addresses the two main priorities: calcification and inhibitors. Even budgeting can lead to calcification of the process by demanding a BEUF (big effort up-front), which although is very comforting to management and the business owner, must be managed through this role. The ScrumMaster is responsible for minimizing detractors or inhibitors in order to help the team grow from forming to storming to norming to performing.

Storming? At this point, it’s clear that one can spend an entire career studying the organizational behavior dynamics of the team and worker productivity as well as historical successes. From Taylorism to boss-worker mentality, just identifying collaborative inhibitors is helpful to the project team. Enabling team maturity will also affect the success of a project and individual productivity; however this has a lot to do with the team members and minimizing outside distractions. These too are responsibilities of the ScrumMaster.

The Development Team is optimally sized at 7 ± 2. This size is significant in that it balances the number of developers so that it doesn’t get so big that it sub-groups, while not being too small as to not benefit from the use of a ScrumMaster, thus no longer being Scrum, but another form of Agile. The team should be well-formed and comprised of team members that are capable of performing any task necessary to meet the sprints goals.

Time Boxes 

Scrum defines several Time Boxes that are key elements of the process. They create a sense of urgency during the project, and occur during various points along the overall project timeline. Release Planning can take a significant time and investment in order to determine what defines the product. Sprint planning occurs at the beginning of each sprint. The first part of the planning session must include the Product Owner. This will help prioritize the stories delivered during a project sprint. The team negotiates the stories to be taken on in each sprint based on the availability of each member. From this, a second planning session can take place. Each story is refined into individual tasks for the sprint. Each of these meetings can take up to 4 hours depending on the overall team maturity, health and mutual trust.

The Sprint is then the 2 to 4 week work cycle. Each day would normally consist of a Daily Scrum where each team member answers 3 basic questions: What did you do? What are you doing? And, are there any barriers in your way?

When the sprint time box is complete, the sprint review occurs. The entire project team has a walkthrough of the completed work effort. This too can take up to 4 hours. After the review, the project team completes the Sprint Retrospective. Though the retrospective can take up to 3 hours in itself, this can be one of the more difficult tasks for a ScrumMaster. It’s at this point that a mature team can discuss calcification or inhibitors that occurred during the sprint. The team should openly review the process and modify it as necessary in order to balance the overall product quality and project velocity. Depending on the health of the project team and number of inhibitors the team can collaborate and will respond to any project changes. Depending on how planning sessions are scheduled, team members may not be up for a 7 hour meeting, so scheduling is yet another SrumMaster challenge.

Artifacts

Artifacts are the things that the project produces. The more important ones to the ScrumMaster are the Product Backlog, the Sprint Burndown and the Release Burndown. Product Backlog is the product of the release planning efforts. Sprint Backlog is determined at the beginning of each sprint. This is normally a bunch of post-its and on a white board. These post-its serve as place holders to the tasks and provide a summary of sprint progress at a glance. Other artifacts include documentation and of course running, integrated, and tested code.

All of these pieces fit together in an effort to deliver a product that should be considered deliverable at the completion of each sprint. This product better matches the product owner needs by adapting itself at any point along the way. Where to next? This is clearly just a quick overview of the topics covered during a recent certification seminar, which was facilitated by a great trainer, Douglas Shimp. For your next steps, please lookup Agile Manifesto, Mountain Goat Software, 3Back Consulting, The Scrum Alliance, and of course Ken Schwaber.

- Chris Noffke

:,

15 Comments for this entry

2 Trackbacks / Pingbacks for this entry

  • Fantastic Sams Coupons

    Haircut Coupons…

    [...]listed below are a handful of hyper-links to internet pages which I link to as we believe they are really worth browsing[...]…

  • Unusual

    I enjoyed reading this a lot…

    I really hope to read more of your posts in the future, so I’ve bookmarked your blog. But I couldn’t just bookmark it, oh no.. When I see quality website’s like this one, I like to share it with others So I’ve created a backlink to your site (from …

Leave a Reply

You must be logged in to post a comment.

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!