LevelTen Agile Concepts

LevelTen Agile Concepts

As LevelTen has been transitioning from a waterfall model to , we’ve not only learned a whole different viewpoint on process, but a new vocabulary to go along with it. The terms "daily scrum" and "sprint" are thrown around so much in the office, that we end up using these new terms around our clients and friends who then look at us like we are speaking a foreign language. I'd like to share a few of these concepts, but first, a short overview. There are several agile methods out there – Scrum, Extreme Programming, Agile Unified Process, etc., but the one LevelTen has focused on has been Scrum. This is not the time to tell you all about Scrum or why LevelTen decided to move towards the Scrum process, but I will give a quick rundown: Scrum's focus is taking one bite at a time; focusing on small features instead of attacking the whole beast at the start. We work in Sprints, or periods of time, often 2 weeks with our projects. At the start of a Sprint, we plan, and the last day of each Sprint, we evaluate and plan for the next Sprint. Scrum is best used for projects that are constantly changing, evolving, and require intermittent feedback. Most of the terms below are derived from Scrum, although some implementation has been tweaked to meet our needs at LevelTen.

Documentation:

R3 Backlog

When we first started implementing Scrum, Tom, our Director, asked me to come up with an R3 Backlog for a client. I said “sure” and went to my computer and googled "R3 Backlog." Surprisingly, nothing came up. I should have known that the "R3 Backlog" is a Tom-invented term. The 3 "R's" stand for Requirements, Requests, and Revisions. We use the R3 Backlog as an informal way to document any possible feature that we may implement in the future.

Product Backlog

Top priority features from the R3 Backlog are moved to the Product Backlog. The features are then prioritized for the Sprint at hand. The Product Backlog is a much "cleaner" place than the R3 and allows us to focus on the most important features.

Sprint Backlog

The Team decides on feature commitments from the Product Backlog and these are then moved to the Sprint Backlog. The Sprint Backlog is a definitive list of features that will be designed/developed during the current Sprint.

Roles:

ScrumMaster

For comparison, he can be considered the "Project Manager" of the project, but the idea is for him not to "manage" at all. Instead, he takes the role as the implementor of the Scrum process. He is responsible for teaching and making sure everyone is following Scrum methodology.

Product Owner

He is the owner of the R3 Backlog and the Product Backlog. He works with the client to prioritize features, set value scores, etc. He is client-focused, therefore maximizing ROI for the client is the ultimate goal.

Team

The Team is responsible for designing/developing/testing features from the backlog. In contrast to most definitions of a team, Scrum methodology defines a "Team" as a self-managing, self-organizing, and cross-functional entity. Instead of a Manager giving orders to the Team, the Team decides what features they can tackle within the next Sprint and manages themselves to complete the features within the Sprint.

Meetings:

Sprint Planning – Part I (1st day of every Sprint)

This is a client meeting with the whole team involved. Beforehand, we ask the client (with assistance of the Product Owner) to copy over any top priority features from the R3 backlog, and to then prioritize the Product Backlog. During the meeting, the ScrumMaster reviews the Product Backlog, and the client and Team discuss functionality involved with each feature. No commitments are made during this meeting for what will be done during the given Sprint.

Sprint Planning - Part II (1st day of every Sprint)

The client is dismissed, and the Team starts breaking out the features into individual tasks. At this point, the Team has a good idea of what they can commit to, and the Sprint Backlog is created.

Daily Scrum

A 15-minute meeting every morning involving the Product Owner, ScrumMaster, and Team. The ScrumMaster asks 3 questions:
  1. What have you done since the last Daily Scrum?
  2. What do you plan to do between now and the next Daily Scrum?
  3. Is anything impeding you?
In Scrum, the idea is to have a 15-minute Daily Scrum for each project. Since LevelTen has a multitude of projects at any given time, we hold a Daily Scrum every morning and go through the 3 questions for each project. We cap the meeting at 30 minutes.

Retrospective

An internal meeting to review the completed Sprint. The ScrumMaster asks 2 questions to each Team member:
  1. What went well during this Sprint?
  2. What could be improved in the next Sprint?

Review

A client meeting to present the completed features from the Sprint Backlog. These are the main concepts we have implemented, but just as we preach, we are learning, re-evaluating, and adjusting our process. Right now we are looking into implementing other Agile concepts such as Stories, Story Points, and Task Boards to keep track of the features during each Daily Scrum. We'll keep you up to date for any new lingo we start throwing out there. Learn more about Scrum and Agile methodology: "Scrum in 5 Minutes" (PDF) "Scrum - Agile for Everyone" (PDF) "Introduction to Scrum for Managers and Executives" (PDF) Books: "Agile Project Management with Scrum" by Ken Schwaber "Agile Estimating and Planning" by Mike Cohn Websites: http://www.mountaingoatsoftware.com