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.
R3 BacklogWhen 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 BacklogTop 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 BacklogThe 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.
ScrumMasterFor 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 OwnerHe 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.
TeamThe 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.
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 ScrumA 15-minute meeting every morning involving the Product Owner, ScrumMaster, and Team. The ScrumMaster asks 3 questions:
- What have you done since the last Daily Scrum?
- What do you plan to do between now and the next Daily Scrum?
- Is anything impeding you?
RetrospectiveAn internal meeting to review the completed Sprint. The ScrumMaster asks 2 questions to each Team member:
- What went well during this Sprint?
- What could be improved in the next Sprint?