Project Management and Scrum - A Side by Side Comparison
Project Management and Scrum - A Side by Side Comparison
by Anne Loeser, October 2006 For decades, software development projects have followed the classic waterfall method in which software development initiatives were carefully analyzed, designed, documented, coded, tested, and ultimately delivered to the customer sometimes years after inception. By then, it was not uncommon for business needs to have changed and for the resulting system to fall short of customers expectations. According to the Standish Group, software development projects have an overall success rate of 34%. In response to this rather disappointing approach to software development, Agile methodologies which are light on documentation and formality began to emerge in the 1990s. Scrum, which is one of several Agile approaches, was first developed and presented in 1995 so it is relatively novel when compared with traditional software development processes which have been used for decades. The purpose of this paper is to compare traditional waterfall project standards and deliverables with those in Scrum, and to contrast the Project Managers role with that of the Scrum Master.
Scrum at a Glance:
Scrum is one of several Agile methods for developing and deploying software, although it may be used for nonsoftware initiatives whenever people need to work together to achieve a common goal. The primary objective of Agile development is to deliver value early in the Project Lifecycle based upon customer and market
1
PMI Standards Committee, Project Management Body of Knowledge, Library of Congress Cataloguing-in-Publication data, 1996, page 10
12/6/2006
Page 1
demands. The ability to deliver value early and often, yet readily adapting to change, is considered to be a major contributor in making Agile Development one of the more rapidly growing trends in technology. Below is a list of Scrum characteristics in contrast with traditional waterfall attributes:
A dynamic Product Backlog of prioritized work to be done. Although not specifically mentioned in traditional project management above, this backlog may be loosely compared with traditional projects or smaller initiatives that are waiting to become active. Together with the Release Plan, the Product Backlog is jointly compiled by the busines Product Owner and the Development Team. A Release Plan to deliver larger initiatives across multiple Sprints, with the highest priority first. The Release Plan is similar to the traditional Project Schedule in that it identifies product features and the corresponding timeframes (possibly phases) in which features will be delivered, albeit at a higher level than traditional Project Plans. Quality-related features, risks, dependencies, constraints, assumptions and issues may also be identified and documented as part of the Release Plan, which is generated by the Product Owner and Development Team. A Sprint Planning Meeting in which backlog items are selected for iterations(s) called Sprints (which are usually 30 days in length). Product Owners and the Development Team finalize features and identify related tasks to be completed within the Sprint, and provide task estimates as part of planning. When applicable, the Release Plan will be referred to during the Sprint Planning Meeting. Risks and issues are also discussed at the Sprint Planning Meeting. The resulting Sprint consists of condensed Planning, Development, Testing and Release Project Lifecycle tasks and activities. A living Sprint Backlog or Sprint Plan of tasks to be done within the Sprint. When tasks are identified in the Sprint Planning Meeting or during a Sprint, they are entered into the Sprint Backlog. The Sprint Backlog is related to the Project Scope mentioned above in traditional projects because it encompasses activities and deliverables that need to be completed within the Sprint. When a particular Sprint is part of a Release Plan encompassing multiple Sprints, its backlog may be compared to the deliverables within a traditional project phase. The product Owner and Development Team create the Sprint Backlog. A brief daily Sprint Meeting or Scrum, at which each team members progress is disclosed, upcoming work is described and committed to, and impediments are raised. The Sprint Backlog is updated at the Sprint Meeting, and business partners are frequently members of the Scrum team. The daily meeting is the primary formal means of communication among the team, although informal meetings and other forms of communication throughout the day are encouraged. A Demo at which Product Owners (and occasionally developers) demonstrate accomplishments during the Sprint. Each Sprint should deliver a usable product increment. The Demo has no equivalent in traditional projects. A Retrospective, at which team members reflect about the past sprint and make recommendations about future improvements or changes. The Retrospective may be loosely compared with PostImplementation Reviews in traditional projects.
Scrum is facilitated by a Scrum Master whose primary responsibility is to remove obstacles hindering the team from delivering the Sprint goal. The Scrum Master is not the leader of the team because the Sprint team is selforganizing. Instead, the Scrum Master acts as a facilitator for issues resolution and communication, rather than as a manager controlling the team. The Scrum Master notes and removes obstacles, safeguards the Scrum process, facilitates collaboration, and acts as a sheepdog for the team. Whereas the Project Manager is held ultimately accountable for traditional projects, the entire Sprint team - including the Scrum Master - shares responsibility for consummating the Sprints objectives. Relatively little has been written about budget and cost control with respect to Scrum. Some corporations consider cost to be a factor when considering which features to include in a Sprint. Generally the organization itself is left to decide who will be in charge of monitoring the budget for a Scrum initiative. 12/6/2006 Page 2
Scrum utilizes an empirical approach. Unlike waterfall methodologies, Scrum accepts that a software initiative cannot be completely understood or fully defined up-front, and that requirements will change over time. Scrums purpose is to maximize the team's ability to respond in a responsive manner to change, and to produce a working product increment which is demonstrated to and accepted by the user in every Sprint. It is obvious that Scrum diverges from the approach to Project Management exemplified in the Project Management Body of Knowledge (PMBOK) - which has as its goal quality through application of a series of prescribed processes, documentation, and controls overseen by the Project Manager. In contrast, the Agile movement espouses that people and their interactions with each other are the key to creating value. According to the Digital Focus Agile 2006 Market Survey, which incorporates 136 executives across 128 organizations ranging in size from under 25 employees to over 5,000 employees, 46% of mid-size companies and 12% of large companies are using Agile practices company-wide. In the large company category, 44 percent are using Agile practices on one or more projects.
12/6/2006
Page 3
. There is no equivalent of a Vision statement in waterfall projects, although a corporate Strategic Directive may be derived to specify direction and ultimately the projects that support it. . There is no specific equivalent of a Roadmap in waterfall projects, although companies may generate their own internal Strategic Plans in support of Strategic Directives. . Once a project has been justified and approved, the PM leads the requirements gathering and time estimation effort by holding extensive meetings with Business Analysts, designers, architects, IT, Product Owner(s) and key stakeholders. The PM oversees the creation of documentation-related deliverables such as Feasibility Studies, Statements of Work, Communication Plan, Contracts, Requirements Documents, etc. . The PM creates the Project Plan to derive a preliminary project schedule and subsequently baselines the plan after reviewing it with project team members and management.
. Roadmap (a brief document consisting of 1 years worth of high level features) created by the Product Owner & Executives
. Release Plan to deliver larger initiatives across multiple Sprints, compiled by the Product Owner and Development Team. The effort is usually facilitated by the Scrum Master.
. A Sprint Plan identifying all tasks & estimated task hours is created by the Product Owner & Development Team not by the Scrum Master. It is updated daily by the team at the Scrum meeting once the Sprint commences. Only estimated hours outstanding are tracked actual hours are neither requested nor recorded. . Daily Sprint Meeting or Scrum. (15 min.) which is facilitated by the Scrum Master. This is the main means of ongoing team communication. The Scrum Master asks each team member what was committed to yesterday, what is being committed to today, and if there are any obstacles. The Scrum Master records obstacles and oversees their removal. The Sprint Plan is updated with estimated hours outstanding. . Line Management allocates Sprint resources. Negotiation prior to the beginning of the Sprint may or may not be possible, depending upon corporate adaptation of Scrum. Scrum team composition does not change during the course of the Sprint. . Project schedule is derived via the Release Plan if appropriate. Each Sprint is of fixed duration, and the highest priority items are delivered in the initial Sprint(s).
. The PM meets with the project team periodically (as specified within the Communication Plan) to update the Project Plan with actual hours and revised estimates, and to discuss risks and/or issues. The PM is chartered with documenting risks and issues and overseeing their successful closure.
. Line Management decides upon project team resource allocations. The PM may negotiate with management at any time for resources if available resources are insufficient to deliver the project scope within the prescribed schedule. . The project is usually end date-driven and generally incorporates as many requirements as possible.
12/6/2006
Page 4
. Changes to requirements are typically managed through a Change Control Process overseen by the Project Manager. Activities include, sizing, and obtaining management approval. . The Project Manager is responsible for Risk Analysis and Contingency Planning, and usually maintains and publishes a Risk Document.
. Only the Sprint team can change features and tasks within a Sprint, and only if jointly agreed by all members of the Sprint Team. Otherwise the requested item is added to the Product Backlog. . The team performs risk management activities before starting development work. Risk may be discussed during Release, Sprint Planning, and/or daily Scrum Meetings. . Team members create, sign up for, and estimate tasks in lieu of being assigned to tasks by the Scrum Master. There is no baselining in Scrum.
. The PM creates a Project Plan with tasks, assignments, and estimated hours. The Project Plan is reviewed with the Project Team and baselined once all parties concur. Deviations from the baseline must be explained and addressed by the PM. . The PM periodically updates the Project Plan with actual hours and new estimates, as well as with additional tasks based upon team input.
. Team members may adjust estimated outstanding hours and add, transfer, or cancel tasks during the daily Sprint Meeting. Actual hours are not tracked only hours outstanding. . The Scrum Master facilitates the team but typically does not coach or lead team members, who are considered self-managing. . Scrum promotes a fixed 30 day timeframe for deliverables. If it appears that a deliverable(s) may be delayed, the item(s) will be added to the Product Backlog and will most likely be carried forward to the next Sprint. The Sprint itself is never extended, nor does the Scrum Master negotiate for additional resources or time. . At the beginning of each Sprint, the Product Owner may be asked how much they want to spend on the Sprint. Based upon the answer, the team may use cost as a guideline when selecting an appropriate amount of work from the Product Backlog to be done in the Sprint. . No mention could be found in Scrum materials regarding Sprint-related budgets. It is assumed that each corporation adopts its own practices with respect to software development costs.
. The PM acts as a coach and leader for the project team and assists team members in overcoming obstacles. Project Overruns (Schedule) . If the completion date of the project or phase appears to be in jeopardy, the PM is responsible for negotiating one or more of the 5 following items: Scope (reduction) Schedule Cost Resources Quality . Typically, a project must provide ROI in order to be launched, at which point a Project Budget is derived.
. The PM usually manages the Project Budget, which includes resource costs, technical costs, consultancy, departmental charge backs (if appropriate), and other expenses. Potential overruns must be justified and approved, and/or the PM must negotiate adjustments to the aforementioned 5 items in order to meet budget. Project Control (Quality) . From the customers perspective, quality means ontime system delivery, to spec, and within budget and schedule.
. In Scrum, quality entails the delivery of a working product increment by the end of the Sprint in accordance with the specified feature(s). In cases where expense is a factor, cost constraints must be adhered to as well. . When applicable, quality-related features may be identified in Release and/or Sprint Planning Meetings, and they are built during the Sprint. As with any other feature, the entire Sprint team is accountable for providing the quality feature.
. Quality Management Plans and Checklists are often used to document and cross-check quality requirements. Although the PM might not be personally accountable for drafting these, s/he is responsible for ensuring that quality requirements and metrics are actualized by the project. . In waterfall projects, QA personnel typically
12/6/2006
Page 5
Requirements
. A Cost Benefit Analysis (CBA) may be submitted and approved in order for a project to be done. The PM may or may not be chartered with compiling this document. ROI is typically a key factor with respect to whether an initiative is approved for development. . Related documents include but are not limited to: * Feasibility Study * Statement of Work * Project Scope *. Requirements Document * Functional Design * Detailed Design * Test Plans and Test Cases, which are sometimes done at the Requirements Definition Phase . The PM is generally chartered with overseeing that the necessary requirements-related documentation is compiled and approved.
. In Scrum, there are 3 requirements-related items as described on page 2 of this document: * Product Backlog * Release Plan * Sprint Backlog/Plan
. All three items are compiled by the Product Owner and Development Team, although the Scrum Master may facilitate the meetings. . Once a Sprint is underway, the entire team must concur upon a change before it is accepted. Other changes may be added to the Product Backlog at any time. . There is no equivalent to the Communication Plan in Scrum.
Change Control
. PM is accountable for overseeing that changes to original project scope are documented, submitted, and approved. . PM compiles and disseminates a Communictaion Plan depricting project communication-related deliverables (such as Team Meetings and Steering Committee Status Reports), specifying who will receive or be involved in them, and how often. . Generally the PM is accountable for overseeing and reporting the Project Budget. . The PM is accountable for compiling and updating the Issues Log and for overseeing that issues are resolved. . The PM is accountable for compiling and updating the Risk Analysis and Contingency Plan, and for navigating the team safely through the risks in order to deliver the project successfully. . The PM uses the Project Plan to derive the preliminary project schedule. The PM then baselines the schedule and meets periodically with the team to update the Project Plan with actual hours and revised estimates/tasks. . The PM generates and delivers Project Status Reports as warranted.
Communication Plan
Risk Analysis
Project Plan
Status Reports
Test Plans
. Quality Management Plans and Checklists are often used to document and cross-check quality requirements. Although the PM might not be personally accountable for drafting these, s/he is responsible for ensuring that quality requirements and metrics are actualized by the project. . Although the PM may not actually write test plans, the PM is responsible for ensuring that test plans are documented and successfully deployed.
. The author could find no mention of Project Budget maintenance with specific respect to Scrum. . Issues/obstacles can be raised at any point, and the Scrum Master is responsible for documenting them, removing obsacles, and overseeing their closure. . Risks are documented by the Product Owner and Development Team in the Release Plan. The entire Sprint Team is responsible for resolving risks throughout the Sprint. . The Sprint Plan (tasks & hours per Sprint) is created by the Product Owner &Dev Team not by the Scrum Master. It is updated daily by the team once the Sprint begins. Only estimated hours outstanding are tracked. The Sprint Plan is not baselined. . Scrum does not specifically address project status reports. Scrum is generally light on documentation; it emphasizes personal interaction which would normally entail status-related information. . When applicable, quality-related features may be identified in Release and/or Sprint Planning Meetings and built during the Sprint. As with any other feature, the entire Sprint team is accountable for providing the tasks and activities to support quality-related items. . Scrum acknowledges that a viable product increment must be delivered and accepted in a Sprint. It is up to the Product Owner to determine and ultimately test for viability within the Sprint.
12/6/2006
Page 6
PostImplementation Support Team Meetings Steering Committee Status Meetings Team Meetings
. The PM is responsible for ensuring that postinstallation support is available to the product recipient. . For high-visibility, high-risk endeavors, the PM will set up and participate in regularly scheduled Steering Committee Meetings (as per the Communication Plan) at which the status of the project is discussed. . As per the Communictaion Plan, the PM will usually schedule regular team meetings to discuss progress, actuals/estimates, issues, and risk. Such meetings may last an hour or more. . There is no equivalent to the Sprint Demo in traditional waterfall projects.
. A stabilizing Sprint may be planned for in the Release Plan and executed where appropriate.
. The author could find no mention of Steering Committee Meetings with respect to Scrum.
. In Scrum, the 15-minute daily Scrum meeting is the key vehicle for discussing progress, roadblocks, and upcoming commitments as well as obstacles. . At the end of each Sprint, a Demo is held at which the product recipient demonstrates the usable product increment created during the Sprint. . A Retrospective is held, at which team members reflect about the past Sprint and make recommendations about future improvements or changes. The Scrum Master typically hosts the Retrospective.
PostImplementation Review
. It is common for the PM to hold a Post Implementation Review with the Project Team at the end of the project in order to document what went well and what could be improved upon.