Solution Starter: Scrum for Project 2003
and Stanford University
Microsoft Office Project Professional 2003
Microsoft Office Project Standard 2003
Microsoft Office Project Server 2003
Microsoft Excel 5.0 or later
Microsoft Visual Basic 6.0
Summary: Learn to use the Scrum template for Microsoft Office Project 2003 to create a product backlog and/or sprint backlog for an Agile project management environment. The COM add-in generates burn-down graphs and cumulative flow diagrams in Microsoft Office Excel. (13 printed pages)
Download Project 2003 Tool: Scrum Solution Starter (pj11ScrumSolutionStarter.exe).
Introduction to Scrum
Scenarios for Scrum
System Requirements for the Scrum Solution Starter
Installing and Using the Scrum Solution Starter
Extending the Scrum Solution Starter
Functional Specifications of the Scrum Project Template
The COM Add-in for Scrum
About the Author
Scrum is an Agile project management practice designed around short iterations and continuous improvement. The Scrum Solution Starter (pj11ScrumSolutionStarter.exe) extends Microsoft Office Project Professional 2003 or Project Standard 2003 and enables project managers to perform basic Scrum work. The Scrum Solution Starter includes a Project template that is set up for a product backlog and/or a sprint backlog, and the source code for a COM add-in that exports the project data to Microsoft Office Excel and generates burn-down graphs and cumulative flow diagrams.
Note The Project 2003 Tool: Scrum Solution Starter is available from the Microsoft Download Center.
Project managers can graph the data in Microsoft Office Excel on a time-phased basis. If an enterprise project management system with Microsoft Office Project Server 2003 is available, team members can also report work on tasks with Microsoft Office Project Web Access. This article includes a recommended workflow for setting up and using Project Web Access for Scrum reporting.
In this article, we show how to compile, install, and use the COM add-in, and provide information about extending the add-in. Interpretation of the Scrum charts in Excel is beyond the scope of this article.
Figure 1 shows the architecture of the Scrum solution starter.
Figure 1. Scrum solution starter architecture and workflow
Note Project Server is not required to use the Scrum template and COM add-in in the Project Professional or Project Standard client.
Scrum, founded by Jeff Sutherland and Ken Schwaber in the mid-1990s, is one of the Agile methods of project management. Other Agile methodologies include Extreme Programming, Adaptive Software Development, Crystal Clear, Dynamic Systems Development Method, Feature Driven Development, and Lean software development. Scrum and Extreme Programming are more widespread than the others. The Microsoft Solutions Framework (MSF) includes process guides for Agile methodologies. The software project management tools in Microsoft Visual Studio 2005 Team System also support MSF. For more information, see Microsoft Solutions Framework (MSF) for Agile Software Development, Beta and Visual Studio 2005 Team System: Microsoft Solutions Framework.
Scrum is generally used for—but is not limited to—managing software development projects. Scrum is an alternative to traditional project management that achieves quality through a series of prescribed processes. Traditional project management specifies the processes for product planning, design, development, test, and launch phases. Instead, Scrum asserts that most problems cannot be fully understood in planning phases and enables teams to adopt an empirical approach to deal with emerging challenges.
To make progress in the project and avoid unnecessary or unwanted features, Scrum teams aim to complete feature sets in iterations to deliver and showcase just enough value to satisfy customers. Scrum generally enhances productivity in smaller teams and granular views, but can be problematic for large-scale projects and bigger-picture views.
The key characteristics of Scrum include the following:
- A living product backlog of prioritized work items and a burn-down chart
- Completion of a set of backlog items in a series of short iterations or sprints each week or month
- Small interdisciplinary teams in close contact and frequent communication, for example, developers, testers, and project manager (or the Scrum master)
- A brief daily or weekly team meeting (sometimes called a scrum) at which each team member answers variants of the following questions: What have you done? What do you plan to do? What impediments do you have?
Following are several scenarios for using the Scrum solution starter.
Managing the Backlog
Jeff is an avid Scrum master in the IT organization of a financial services company. He has been using Excel to manage his scrums and has limited experience with Project 2003. Jeff downloads the Scrum solution starter, opens the Scrum.mpt template in Project Professional 2003, and experiments with the fields and values. In about 20 minutes, he copies and pastes his current Excel Scrum into Project 2003 and reformats the task names, dates, priority, assignment owners, actual work, remaining work, and hyperlinks, and then inserts other custom fields.
Jeff uses summary tasks to categorize particular sprints, introduces dependencies, and begins to enter remaining work for some tasks. Jeff is delighted. He knew that Project 2003 was a robust solution, but now he realizes that he can manage his scrums, sprints, and individual tasks for his team members more easily, and he can take advantage of the scheduling engine and generate custom reports.
Jeff goes to his daily Scrum meeting and decides to show off the new Scrum Chart Generator to his team members. Jeff regularly updates the Scrum project plan in Project 2003 and he wants to generate burn-down charts in Excel. Jeff adds the COM add-in to the Project toolbar and runs the wizard, which automatically generates the burn-down graph. Jeff tweaks the burn-down graph, saves the Excel file in a Microsoft Windows SharePoint Services team site, and then sends the URL in an e-mail message to his team before the meeting.
Team Member Daily Web Updates
Jeff decides that his team members are ready to use Microsoft Office Project Server 2003 so they can update their remaining work and actual work on a daily basis. Jeff requests a Project Server installation and then publishes his Scrum projects to Project Web Access. He sets permissions in Project Web Access for the team members to access their tasks. Now all team members can log onto Project Web Access on a daily basis and update their actual work completed and remaining work for each task.
The Scrum solution starter works with the following operating systems:
- Microsoft Windows 2000 with Service Pack 3
- Microsoft Windows Server 2003 or later
- Microsoft Windows XP with Service Pack 1 or 2
The Scrum solution starter works with the following applications:
- Microsoft Office Project Professional 2003 with Service Pack 1 or later (recommended)
- Microsoft Office Project Standard 2003 (recommended) with Service Pack 1 or later (activities related to Project Server do not apply)
- Microsoft Office Project Web Access 2003
- Microsoft Office Project Server 2003 and Project Server 2003 Service Pack 1
- Microsoft Office Excel 5.0 or later
Compiling the COM add-in source code requires Microsoft Visual Basic 6.0. We strongly recommend Visual Basic Service Pack 6.
Table 1 shows the files that are included in the Scrum solution starter download (pj11ScrumSolutionStarter.exe). You must first compile the COM add-in, and then install the add-in for the Project client.
Table 1. Files in pj11ScrumSolutionStarter.exe
|ReadMe.htm||Instructions from the download page|
|Scrum.mpt||Scrum project template|
|Visual Basic project files for the COM add-in|
|AnalyzeScrumWithExcel||modSharedCode.bas||Visual Basic code module|
|AnalyzeScrumWithExcel||frm[*1 – 5].frm
|Visual Basic form and form resource files|
|Visual Basic designer and resource files|
Download and install the Scrum solution starter on the computer where you have installed Project Professional or Project Standard. The default download installation directory is
[Program Files]\Microsoft Office 2003 SDKs\Microsoft Office Project 2003 SDK\Solution Starters\Scrum.
After you install the download, you need to compile and install the COM add-in. You will need Visual Basic 6.0 with Service Pack 5 or 6. (We strongly recommend Service Pack 6.)
To compile the COM add-in for the Project client:
- In Visual Basic 6.0, open the Scrum.vbp file.
- In the Scrum – Microsoft Visual Basic window, on the Project menu, click References. If the Project 2003 client and Visual Basic are installed on your computer, you can see check marks by the following items in the References – Scrum.vbp dialog box:
- Visual Basic for Applications:
[Program Files]\Microsoft Visual Studio\VB98\VBA6.DLL
- Visual Basic runtime objects and procedures:
- OLE Automation:
- Microsoft Add-In Designer:
[Program Files]\Common Files\Designer\MSADDNDR.DLL
- Microsoft Office 11.0 Object Library:
[Program Files]\Common Files\Microsoft Shared\OFFICE11\MSO.DLL
- Microsoft Project 11.0 Object Library:
[Program Files]\Microsoft Office\OFFICE11\MSPRJ.OLB
If the Microsoft Office and Project references are not available, you need to install Project Standard 2003 or Project Professional 2003. You can also copy the Microsoft Office and Project libraries to your development computer from another computer.
- Visual Basic for Applications:
- On the File menu, click Make Scrum.dll. The COM add-in compiles to the Scrum.dll file. You can now exit Visual Basic.
To install the COM add-in for the Project client:
- Open Project Standard or Project Professional.
- If you do not see COM Add-Ins on the Tools menu, do the following to add it:
- Click Customize, and then click Toolbars.
- In the Customize dialog box, click the Commands tab, and then in Categories, click Tools.
- Drag COM Add-Ins from the Commands box over the Tools menu on the menu bar. When the Tools menu commands appear, drag to where you want the COM Add-Ins command to appear, and then release the mouse button.
- In the Customize dialog box, click Close.
- On the Tools menu, click COM Add-Ins.
- In the Add-Ins available list, do one of the following:
- Select the box next to Analyze Scrum Data in Excel.
- If the add-in is not in the list, click Add, locate the add-in, and then click OK.
- To unload an add-in from memory, but keep its name in the COM Add-Ins list, clear the check box next to its name.
- To remove an add-in from the list and from memory, click its name, and then click Remove.
To use the COM add-in for Scrum analysis:
- Open the Scrum.mpt template in your Project client.
- On the View menu, click Gantt Chart.
- If you want to analyze tasks, select specific tasks you want to export or analyze the entire project.
- On the View menu, click Toolbars, and then click Analysis.
- To start the Scrum Wizard (shown in Figure 2) on the Analysis toolbar, click Analyze Scrum Data in Excel.
Figure 2. Scrum Wizard COM add-in
- In Step 2 of the wizard, from the Available fields list, select the fields you want to export to Excel. By default, the Cumulative Actual Work, Cumulative Work, and Remaining Work fields are in the Fields to export list. If you want, you can remove them.
In general, a field is a location in a sheet, form, or chart that contains a specific type of information about a task, resource, or assignment. For example, in a sheet, each column is a field. In a form, a field is a named box or a place in a column.
- In Step 3, set the date range and time units (days, weeks, months, quarters, or years).
- In Step 4, you can graph the timescaled data in Excel.
- In Step 5, the wizard exports the data, starts Excel, and shows a chart of the data you selected. For example, Figure 3 shows the default Scrum burn-down graph of the entire Scrum project template.
Figure 3. Default Scrum chart in Excel
For more information about steps in the Scrum Wizard, see The COM Add-in for Scrum. For more information about interpreting the Scrum charts in Excel, and for references about Agile project management, see Additional Resources.
If your team uses Project Server, you can set up Project Web Access to report task data for Scrum analysis.
To install the Scrum solution starter with Project Web Access:
- Open Project Professional and log on to Project Server.
- On the Tools menu, click Customize, and then click Published Fields.
- In the Customize Published Fields dialog box, change the method that resources should use to report progress on tasks to Actual Work Done and Work Remaining, and then click Set as Default.
Note If the other options are disabled, the Project Server administrator can change the time period default in Project Web Access and tracking settings. In Project Web Access, see Customize Project Web Access in the Admin section, and click Tracking settings in the side pane. For more information about tracking settings, see the Microsoft Office Project Server 2003 Administrators Guide in the Microsoft Office Project Server 2003 Resource Kit.
- Open the Scrum.mpt template and publish the project to Project Server. On the Collaborate menu, click Publish, and then click All Information.
Note A dialog box notifies you if the Scrum template has a different base calendar and project currency than your enterprise global template. If you see this dialog box, accept the enterprise calendar and overwrite the project currency to match. Also, synchronize with the protected actuals if you receive that notification when you publish the Scrum project to Project Server.
- In Project Web Access, set permissions for the Scrum team members as Project Server users to allow them to see their assigned tasks and update status for actual work and remaining work.
- After the team member saves timesheet changes and updates tasks, the project manager and task owner logs onto Project Web Access and clicks Updates. The project manager sees the team member updates and can accept or reject them.
- Project Web Access sends e-mail notifications to both the team member and the project owner.
Note Detailed information about using Project Server and Project Web Access is beyond the scope of this article.
The Scrum solution starter includes a complete Visual Basic project for the Analyze Scrum Data in Excel COM add-in. You can modify the code and use it as a template to create your own COM add-in.
The COM add-in is modified from code in the download Microsoft Project 2002 SDK: Analyze Time-scaled Data in Excel that was published in 2003 for Microsoft Project 2000. In addition to text edits in the source code, the primary modification enables export of the Remaining Work and Cumulative Actual Work fields to Excel and graphs the data appropriately.
Remaining Work and Cumulative Actual Work are not time-phased fields in Project 2003, and the new add-in architecture allows these fields to be calculated dynamically. Cumulative Actual Work is calculated by summing each successive Actual Work value. Remaining Work for each day is calculated by subtracting Cumulative Actual Work from Cumulative Work.
Note The Analyze Time-scaled Data in Excel COM add-in is for use in Microsoft Project 2000. The Visual Basic project files in the Scrum solution starter have the same file names as the original COM add-in; however, the code is heavily commented for the Scrum adaptation to help you modify it as required.
Debugging a COM Add-in
You can debug the COM add-in by running the project within the Visual Basic 6.0 development environment. With the project in run mode, you can load and use the COM add-in from within the Project 2003 client to test and debug with any of the debugging tools in Visual Basic.
To debug a COM add-in in Visual Basic 6.0:
- Open the add-in project in Visual Basic.
- Place any desired breakpoints, Stop statements, or watches in the code.
- On the Run menu, click Start with Full Compile. This command compiles your project, alerting you to any compilation errors, and then puts the project into run mode.
- Open the intended host application for the COM add-in, for example Project Standard 2003.
- If you set the add-in load behavior to Startup or Load at Next Startup Only, the add-in loads as soon as you start the application.
- If you set the add-in load behavior to None or Load on Demand, open the COM Add-ins dialog box, and then select the check box next to your add-in to load it.
When the add-in loads, the OnConnection event occurs. Enter break mode for the add-in project in Visual Basic to begin debugging the code.
The Scrum.mpt template contains sample tasks under three sprint summary tasks (Figure 4). The sample tasks are organized with the following fields:
- Task Predecessor
- Task Name
- Resource Names
- Baseline Work
- Actual Work
- Remaining Work
- % Work Complete
- Sprint #
Figure 4. Scrum template in Project 2003, Tracking Gantt view
The COM add-in for Scrum adds an Analyze Scrum Data in Excel button to the Analysis toolbar in the Project 2003 client. Click Analyze Scrum Data in Excel to start the Scrum Wizard. Running the Scrum Wizard results in the following actions:
- Select tasks
- Entire project
- Currently selected tasks (users can use this to graph only a particular sprint)
- Select fields to export
- Remaining Work (recommended for generating a Scrum burn-down)
- Cumulative Work and Cumulative Actual Work (recommended for generating Pseudo-Cumulative Flow Diagram.)
- Other Scrum relevant fields, including Actual Work, Work, and Baseline Work
Note The Baseline Work field operates differently in Project 2003 than in most Scrum implementations, limiting the ability of the add-in to generate a cumulative flow diagram accurately. For more information, see About baselines on Microsoft Office Online.
- Select date range
- The default is the current date because most Scrum burn-downs are generated daily.
- If the current date is after the finish date of the project, the default becomes the project finish date.
- The default units are days; the user may also graph over weeks, months, quarters, or years.
- Choose to graph or not
- Export the data to Excel
For an example of a Scrum burn-down graph, see Figure 3.
The project template and the COM add-in for Scrum enable you to use Microsoft Office Project Standard 2003 or Project Professional 2003 with Project Server 2003 to track tasks and analyze project data using the Scrum methodology for Agile project management. The COM add-in exports Project data to Excel, and then automatically creates the burn-down graphs for Scrum analysis. Project 2003 can easily support different project management methodologies such as the Scrum methodology described in the Microsoft Solutions Framework.
For more information, see the following resources:
- Service Pack 6 for Visual Basic 6.0
- Project on Office Online
- Project in the Microsoft Office Developer Center
- Downloads for Office 2003 and Office Update on Office Online
- Transcript: Agile Development in the Enterprise
- Microsoft Solutions Framework
- Visual Studio 2005 Team System: Microsoft Solutions Framework
- Testing Methodologies in Microsoft Patterns and Practices
- Microsoft Solutions Framework (MSF) for Agile Software Development, Beta
- Microsoft Project 2000 SDK: Analyze Time-scaled Data in Excel
- Create a COM Add-in for Microsoft Office Project 2003
- Creating Managed Add-ins for Microsoft Office Project 2003: Overview
- Microsoft Office Project Server 2003 Resource Kit (includes the Project Server 2003 Administrator's Guide)
- Scrum (management) (Wikipedia)
Aneto Okonkwo is a senior at Stanford University in Palo Alto, California, majoring in Management Science and Engineering. He worked at Microsoft Corporation in 2005 as a Program Manager intern in the Microsoft Office Project group.