Sprintometer User Guide
Sprintometer User Guide
Users Guide
Table of contents Table of contents ........................................................................................................... 2 System Requirements ................................................................................................. 3 Tool Purpose ............................................................................................................... 3 Quick start of SCRUM (XP) project tracking ................................................................ 3 Common GUI features & tips....................................................................................... 4
Tree structure ........................................................................................................................................ 4 Coding, Testing & Change Requests in spreadsheet ........................................................................... 5 Work completeness color legend ........................................................................................................ 5 Check mark for finished items............................................................................................................... 6 Smart navigation ................................................................................................................................... 7 Base Task spreadsheet ........................................................................................................................ 7 Daily time reporting about work spent/left (SCRUM) or done (XP) ...................................................... 8 Export to Microsoft Excel ...................................................................................................................... 9 XML format of local files ........................................................................................................................ 9 Two level saving of data in right pane ................................................................................................. 9 Undo ...................................................................................................................................................... 9 On-line validation .................................................................................................................................. 9 Spreadsheets ...................................................................................................................................... 10
Charts ........................................................................................................................ 16
Burn-down chart .................................................................................................................................. 16 Sprint/Iteration track upon work left/complete ..................................................................................... 17
Reports ....................................................................................................................... 18
Story Readiness report ....................................................................................................................... 18 Summary report .................................................................................................................................. 19
Glossary ..................................................................................................................... 20
-2-
System Requirements
Microsoft Windows XP, Windows 2003 and Windows Vista are supported. Because application client has modern GUI in Microsoft Office 2007 style, supports themes and efficient forms refresh Windows 2000 and earlier versions of Windows are not supported. For export from Sprintometer to Microsoft Excel you should have installed on client computer Microsoft Office XP, 2003, 2007 or later. Microsoft Office 2000 and earlier versions are not supported.
Tool Purpose
Sprintometer is a simple and user friendly application for Agile projects management and tracking. It can be used for management of SCRUM and XP projects. To simplify data exchange with external programs all charts and spreadsheets in Sprintometer can be exported to Microsoft Excel. XML format for local files can be used also. The following main features are supported by Sprintometer: SCRUM & XP projects tracking Unique Burn-down chart with statistical prediction Unique Track upon work left/complete chart with statistical prediction Tracking of sprint/iteration with variable team composition Separate tracking of development and testing tasks Change requests tracking Prediction of deviation from scheduled sprint/iteration plan Calculation of daily scope for developers & testers to be on track Export to Microsoft Excel for all charts and spreadsheets Data stored in local file or in a shared DB on public server www.sprintometer.com Secured HTTPS connection to public server Modern and user friendly GUI in Microsoft Office 2007 style Assignment of resources to Tasks and User Stories Password protected tracking of project budget Numerous reports with all important Agile parameters Extremely quick application response time Saving/Loading of project data in XML format Quick printing option Sample SCRUM and XP projects are included
site for free download. Open a sample file from application and review all tabs in the right pane for different nodes selected in the left pane tree. 1. 2. 3. 4. 5. Download the latest version of application from site www.sprintometer.com. Extract content of ZIP archive into a local subdirectory. Run file Sprintometer.exe (installation procedure is not required). Select New item from application ribbon bar. In popup window select project type for example SCRUM and Tracking Units for example Perfect Hours, click OK. 6. For the newly created project node enter your project name on the General tab in the right pane then click Apply button or just press Enter key to apply your changes. 7. Right click to the project node in the left pane and select Add Sprint in popup menu. 8. For the newly created sprint node enter your sprint name on the General tab in the right pane. 9. Select required Start Date and End Date of your sprint in Schedule combo-boxes. 10. In the auto-populated Work Dates list select dates which are not actually work days (like weekend or vacations) and move them to the right list called No Work Days by clicking a button with arrow. You can use Ctrl or Shift + left mouse click for multiselection in the lists. 11. Click Apply button in the right pane to save sprint properties. 12. Right-click to sprint node in the left pane tree and select Add Story in popup menu. 13. Enter Story properties in the right pane and click Apply button. 14. Right-click to story node in the left pane tree and select Add Task in popup menu. 15. Enter Task properties in the right pane including task estimation in perfect hours and click Apply button. 16. Repeat steps 14-15 for all Tasks of the parent User Story. 17. Repeat steps 12-16 for all User Stories included into your Sprint together with their Tasks. 18. Select Sprint node in the left pane tree and select General tab in the right pane. 19. In the field Last Reported Date which defines which day of tracking is currently the last one select first development day of the sprint and click Apply. 20. Select Stories tab in the right pane. In cells with dotted background you can enter daily time reporting for tasks in format Spent time/Left time.
Now all agile parameters and charts including Burn Down Chart will be calculated automatically on the base of entered Spent time/Left time information for passed days. Every evening you should just increase Last Reported Date and enter time reporting in the appended date column of Stories spreadsheet.
TIP: During filling of cells with time reporting for SCRUM project slash / and following value
of Left time is optional. If single value is entered in cell then it will be treated as Spent time while Left time will be automatically calculated from current task estimation and displayed inside the same cell automatically.
Application GUI has Microsoft Explorer style with tree in the left pane and tabs containing properties of a selected tree node in the right pane. Tree hierarchy has typical for Agile project structure: Project->Sprint (or Iteration for XP project)->User Story->Task. A Task can either be a development or testing task. For better visibility tasks of different types are marked in tree by different icons. A Task can additionally be a Change Request which is marked in tree by dimmed icon of correspondent type.
Sprint level User Story level Coding Task Testing Task
Coding, Testing & Change Requests in spreadsheet User can review and change time reporting information in editable cells of spreadsheets located in the right pane on the level of Sprint/Iteration (tab Stories), User Story (tab Tasks) and Task (tab General). Editable cells are always marked in application by dotted background while read-only cells are indicated by solid background Coding tasks are indicated by black text while testing tasks have blue color. Additionally change requests are highlighted by italic font.
Read-only cell
Coding task
Editable cell
-5-
Color highlighting is widely used in application to indicate percentage of work done in relation to work current estimation for SCRUM project and in relation to work original estimation for XP project. Fort color legend similarity with traffic lights is used: 0% of work is done - red color 50% of work is done yellow color 100% of work is done green color
0% is done
50% is done
100% is done
All intermediate percent values are presented by interpolated colors. Check mark for finished items If Task, User Story or Sprint/Iteration is completely finished it is indicated by check mark in the left area of correspondent cell:
User Story coding is done The whole User Story is done
Task is done
-6-
Smart navigation User can quickly navigate down in hierarchy Project->Sprint/Iteration->User Story->Task by clicking to correspondent item in cell of spreadsheet or report if it is displayed underlined:
Click here to go to Story 1 details
Navigation up to a parent User Story, Sprint/Iteration or Project can be done by clicking to Go to Upper Node button in application ribbon bar.
In Sprintometer application Task is the smallest atomic object of the whole Agile project tracking. Therefore General tab on Task level presents very important basic information for project tracking. Parent spreadsheets Tasks on the level of User Story and Stories on the level of Sprint/Iteration actually contain similar information but with added totals for coding, testing and the whole development.
-7-
Optional detailed task description Task can be either coding or testing Initial estimation of task during Planning Game
Current estimation of task for SCRUM project Change request flag & issue date Sprint/Iteration work day Done percents (absolute units)
6 perfect hours were spent for task in Apr 28 & 4 are left
At the end of every sprint/iteration work day manager or users should enter into Sprintometer time information for tasks they were working on. This can be done is editable spreadsheets on Sprint/Iteration, User Story of Task level. Usually time reporting takes place in the rightmost vertical column of spreadsheet which contains editable cells for the current (last one so far) day of sprint/iteration. Both in SCRUM and XP projects tasks can be closed partially which means user can report that for example he/she spent 5 perfect hours working on task originally estimated in 10 perfect hours. In case of SCRUM project 2 values separated by slash (/) should be entered in task cell for correspondent date. In accordance with SCRUM first value indicates how much time user was working on specific task today while second value indicates how much time he/she believes is left to do. For quicker input slash and second value can be skipped. In this case time left will be automatically calculated taking into account time spent during the day and current task estimation and displayed in the same cell. In case of XP (Extreme Programming) project single value should be entered in task cell for correspondent date. In accordance with XP this value indicates how much time of original estimation is done. -8-
For all spreadsheets, reports and charts displayed in the right pane of application export to Microsoft Excel is supported. If you see ribbon bar button Export to Excel enabled just click on it to get correspondent data in Excel spreadsheet. This feature can be useful for further data procession, customized reporting or flexible printing. Microsoft Excel should be installed on user machine to use this functionality. All modern versions of Microsoft Excel are supported including Microsoft Excel 2007.
XML format of local files Sometimes experienced users would like to implement custom handling of Agile project data for example in their own programs which could read Sprintometer local file. To enable this approach Sprintometer supports format of local file as uncompressed or compressed XML. Just click to the icon in the left upper corner of application, select menu option Save As and choose required type of XML file to be saved. Compressed XML type is used to reduce size of XML file which can be rather big for long Agile projects.
To get maximum performance while working with application two level saving of data is implemented in Sprintometer. When you change data in right pane enabling of Apply button located in the pane indicates that there are some unsaved modifications. However click on Apply button changes only project data cached in memory but not project data in permanent storage which can be either local file or database if server mode of application is used. To commit all changes made during tabs edition to permanent storage user should click Save button in ribbon bar. Application will also prompt user to save modified data if any on document/application closing. Because of caching Apply is a very quick operation while Save can take longer time especially if server mode is used and your Internet connection is slow. For faster user input click on Apply button can be replaced by pressing of Enter hot key while right pane has input focus. Undo If you have some changes in the left pane you can click Undo button to revert all editions to the state which was after the last successful Apply click. For faster user input click on Undo button can be replaced by pressing of Escape hot key while right pane has input focus. On-line validation -9-
To display validation errors instantly Validate while typing feature is supported for all edition in right panes of application. When input is wrong label on Apply button instantly changes to Validation! and red text in application status bar provides detailed information about validation error. After click on Validation! button user will see the same validation error description in popup message box. Spreadsheets
User can fill information about spent time/left time (for SCRUM projects) of done time (for XP projects) in convenient spreadsheets available for inline edition on Sprint/Iteration, User Story and Task levels. On Sprint/Iteration level and on User Story level spreadsheets additionally contain correspondent time reporting totals for coding, testing and the whole development. Detailed legend for tab Stories on Sprint/Iteration level in case of SCRUM project is presented below:
Sprint work day
User Story ID
User Story Name Coding is black Testing is blue Task current estimation
Editable cell: spent time/left time Underlined text means link to Story Details Change Request from May 4
- 10 -
How to:
How to create schedule for the new sprint/iteration
To calculate numerous Agile parameters and build charts program should know schedule of sprint/iteration work days and current (the last one so far) day. This information can be entered in tab General on Sprint/Iteration level: 1. Select Start Date and End Date in Schedule control group. After this action list Work Dates will be auto-populated by all intermediate dates from start date till end date. 2. Some dates in the list Work Dates (like weekends) will not be actually the work days so select all of them by left-mouse click and move to the list No Work Dates by click on button with arrow. For multi-selection in date lists you can press additionally Ctrl or Shift key. 3. There are some specific dates in sprint/iteration which are work days from the point of view of budget but development will not be done during these days and therefore they should be excluded from tracking. Good sample of such days are days of Sprint Planning Session (Planning Game). You can define such dates in the list Not Tracked Budget Dates to have your sprint/iteration budget calculated correctly. 4. Click Apply button. Unlike some others project tracking tools Sprintometer does not use current date from computer clocks. Automatic usage of date from computer clocks reduces flexibility in time reporting and can cause problems if Sprintometer is used in Server mode from different time zones. Therefore in Sprintometer before daily time reporting user should manually adjust last reported date which actually defines date of the last vertical column in spreadsheets on Sprint/Iteration, User Story and Task level available for input. For this purpose there is a correspondent field called Last Reported Date in tab General on Sprint/Iteration level. Typically at the end of each sprint/iteration work day user just scrolls date to the next work date of predefined sprint/iteration schedule. To simplify this task a button Select Next Reported Date can be used. Click to this button increases date in Last Reported Date field skipping no work dates. During appending of a new date column in spreadsheets time reporting values from the previous work date are used by default. Accidentally user can forget to scroll date to the next work day of sprint/iteration and therefore he/she can erroneously start time reporting in column of previous date. To detect such situation easily current date in spreadsheets is always highlighted by pink background:
- 11 -
All data of Agile project are presented in hierarchy Project->Sprint/Iteration->User Story->Task displayed as a tree in the left pane of application. After selection of a node in the left pane tree user can view and edit its properties in tabs in the right pane. To add or delete node user can select correspondent command in context menu appeared after right mouse click to a tree node:
Alternatively while input focus is set to tree pane hot keys Insert and Delete can be used for child node insertion or current node deletion accordingly. User can easily sort Sprints/Iterations, User Stories and Tasks in tree by Drag & Drop and clone them by using Ctrl + Drag & Drop. - 12 -
TIP: If you have many independent Change Request tasks in XP project you can create a
dummy User Story called Change Requests and put all of them in it.
Resources and budget can be defined in Resources & Budget tab on Sprint/Iteration level. Additionally information about the whole project Resources & Budget is available as report in tab Resources & Budget on Project level. Access to these tabs can be password protected by using ribbon bar commands Set Password and Remove Password. To add a new resource like for example Developer Smith click to Add Resource button on tab Resources & Budget and provide Resource Name, Type and Hourly Rate in popup dialog. To delete a resource select correspondent line in Resources & Budget tab and press Delete key. After addition of all required resources user should enter correspondent values of man days for each editable cell of Resources & Budget tab. Application supports variable team size during sprint/iteration just provide variable man days in accordance with team members vacations for example. After filling of all resources editable cells you can see automatically calculated daily budget and sprint/iteration accumulated budget in the upper area of Resources & Budget tab. IMPORTANT: Sprintometer supports calculation of such important XP parameter like Load Factor which is a proportion between calendar time required for implementation of some task and its estimation in perfect hours. However to calculate Load Factor correctly program should know who is a developer, who is a tester and who does not close perfect hours at all (like Project Manager). Therefore if you want to track Load Factor you should fill resources and assign to them Resource Types correctly. Load Factor is also used in charts for correct extrapolation in case of variable team size. If you do not need budget, resources and Load Factor information you can leave tab Resources & Budget unfilled. Dates which are marked in tab General on Sprint/Iteration level as Not Tracked Budget Dates are displayed in tab Resources & Budget with slightly darker background. How to assign resources to Tasks and User Stories
If it is necessary resources can be assigned to tasks. This can be done in General tab on Task level in combo-boxes Assigned To. Because pair programming is often used in Agile projects up to 2 persons can be assigned and in case of 2 persons application assumes equal distribution of work between them. Content of combo-boxes for resources assignment is defined by list of resources in Resources & Budget tab on Sprint/Iteration level. - 13 -
Sometimes it is convenient to assign resources to the whole User Story. This can be done in General tab on User Story level in combo-boxes Assign ALL coding and Assign ALL testing for coding and testing work accordingly. Similar to task assignment up to 2 persons can be assigned to each work type. Actually assignment of person on the level of User Story is completely the same as assignment of this person in General tab on Task level for all User Story child Tasks of correspondent type. Thus GUI for assignment on User Story level is just for convenience and quick assignment of resources to child tasks. If all User Story child tasks of the same task type have the same person assigned then this person will be auto-selected in assignment combo-box on User Story level. Otherwise combo-box Assign ALL coding or Assign ALL testing will contain text - DIFFERENT -. After assignment of persons to Tasks and User Stories user can track personnel workload in Workload Report tab on Sprint/Iteration level where not-assigned time will be presented by a separate line. However you should be careful with measuring of personnel productivity because such reporting can cause tension inside team and damage team spirit very important for Agile projects.
How team can work with shared data located in public Sprintometer Server
Sprintometer can work in two modes: with local files like for example Microsoft Excel (local file mode) or with data stored in shared database located on public Sprintometer Server (server mode). In second case connection to Server via Web Services is used and it works from any location with Internet access. For strict data security HTTPS connection to Sprintometer Server is used. For work in both modes and for registration on Sprintometer Server the same Sprintometer.exe binary file can be used. At any moment user can change work mode from local file mode to server mode and vice versa. In server mode local files can also be used as backup of project information normally stored in Sprintometer Server DB.
- 14 -
6. In the new popup dialog type Login, Name of the new user and a valid e-mail where password will be automatically sent and click to button Register. 7. Copy the Login and Password you will get in the e-mail into correspondent fields of Security tab of Server Configuration dialog and set flag Remember Login and Password on this PC to reuse it in future.. 8. Click OK button of Server Configuration dialog. Important that user login name should be unique for Sprintometer Server. User can change password later if necessary by using the same Server Configuration dialog.
TIP: Usually project manager creates new project on server, registers all unregistered future
project users on Sprintometer Server, assigns them to the newly created project and sends by email login information to all project participants. Project users can change their passwords later if necessary. Assignment of registered users to project on Server can be done by the following steps: 1. Run Sprintometer.exe from location where Internet connection is available. 2. Make sure you have correct Internet connection settings and Login/Password in Server Configuration dialog. 3. Open an existing project from server by clicking to icon Open in Remote Server ribbon bar group or create a new project on server by clicking to icon Save As in Remote Server ribbon bar group after creation of project locally. 4. Select the topmost 'Project' node in the left pane tree of application. 5. Select tab called 'Server Project Users' in the right pane of application. 6. Click button 'Add User'. Type in the Popup dialog login name of some already registered on the server user you would like to assign the project. This user should preliminary register on the Public Sprintometer server and inform you about his/her unique login name. 7. IMPORTANT: Click Save icon in General ribbon bar group to submit new project assignments to Server. TIP: Once you were registered on server and assigned to a project you should not type login/password every time you open a project from Sprintometer Server. Just click to icon in the left upper corner of application and select project from Recently Opened Document.
- 15 -
Charts
There are two very useful charts in Sprintometer application. Both charts can be exported to Microsoft Excel for further custom procession or flexible printing. Burn-down chart Classical Burn-down chart is located in tab Scope Chart on Sprint/Iteration level. User can switch between Burn-down for coding, for testing or for the whole development by clicking to radio-buttons below the chart. Horizontal dash line indicates sprint/iteration original estimation. Yellow bars highlight scope of Change Requests appeared during sprint/iteration. Change Requests are typical for XP project but Sprintometer allows them for SCRUM project also. Note that usually Change Requests during sprint are prohibited for SCRUM project. Red solid line indicates extrapolation of Burn-down chart taking into account average scope closed daily during passed days and scope of left tasks. Note that Sprintometer supports variable team composition defined in Resources & Budget tab on Sprint/Iteration level and therefore extrapolation can differ from straight line. Additionally taking into account statistical dispersion of team velocity for passed days Sprintometer calculates and displays as white sector possible deviation of extrapolation assuming 95% confidence.
- 16 -
Burn-down extrapolation
Extrapolation deviation with 95% confidence Change Request Work dates of sprint/iteration
Sprint/Iteration track upon work left/complete This chart in tab Track Chart on Sprint/Iteration level displays 3 curves: 1. Team Velocity (perfect hours or other estimation units done during a day) for each day of sprint/iteration (green line). 2. Deviation from ideal project progress skipping Change Requests appeared during development (magenta line). 3. Deviation from ideal project progress taking into account Change Requests appeared during development (blue line). Depending on selection of radio-button below the chart these three curves can be calculated for coding, testing or the whole development. For Track upon work left and Track upon work complete extrapolation is automatically calculated and displayed by dotted lines. The extrapolation is based on average daily done time and left scope.
- 17 -
Due to changes team is 9 perfect hours below track Work dates of sprint/iteration
Reports
There are several useful reports in application which provide information about all important Agile parameters. All reports can be exported to Microsoft Excel for further custom procession or flexible printing. Story Readiness report This report is especially useful to customers. Customer can see which User Stories are ready for review (coding tasks are finished but testing tasks and not finished yet) and which User Stories are ready for testing (both coding and testing tasks are finished). If User Story is ready for review customer can check already its functionality to provide feedback faster but detected bugs should not be reported to developers because testing of the User Story is still unfinished.
- 18 -
If User Story is ready for testing this means customer can both review and test it. In case of bugs they should be reported to the development team because team testers have missed them or they are specific for customer environment.
Summary report Summary report is especially useful for development team because it contains all important parameters of Agile project together with statistically predicted deviation from sprint/iteration end date. Usually during morning standup meeting Agile project manager informs team about the following important parameter from this report: Work days left for current sprint/iteration How many perfect hours (or other estimation units) developers and testers made during a previous day How many perfect hours developers and testers should do today to keep project on track
If project is an XP project and coding/testing resources are defined in Resources & Budget tab then Sprintometer calculates Load Factor for developers, testers and the whole team. By definition Load Factor is a proportion between real time required for implementation of some work and estimation of this work in perfect hours assuming ideal work conditions. Load Factor usually varies from 2 till 4 depending on team speed and professionalism. Team Velocity is another important Agile parameter displayed in this report and by definition means number of perfect hours (or other estimation units) made by team daily.
- 19 -
Glossary
Term/Acronym XP SCRUM Perfect hours Load Factor Meaning Extreme Programming, Agile methodology Agile methodology similar to XP but focused on high level processes. Can be efficiently combined with XP. Estimation of coding or testing task assuming hypothetical ideal conditions for work Ratio of time required for task implementation in real life conditions to time required for task implementation in hypothetical ideal conditions. Typically it varies from 2 till 4 for different persons or teams. Number of perfect hours (or others estimation units) specific team can do during a work day Brain storming with participation of all team members and customers to clarify business requirements for sprint/iteration defined as User Stories, to split them into technical tasks and to estimate them. Normally takes from 1 to 3 days. In SCRUM it is very similar to XP Planning Game Period of SCRUM projects to be planned and estimated during Sprint Planning Session. Sprint normally lasts 3 weeks. It is XP equivalent of Sprint from SCRUM methodology. Period of XP projects to be planned and estimated during XP Planning Game. Normally varies from 2 till 4 weeks. Customer description of some relatively independent business requirement presented as black box functionality described from the point of view of application user. In SCRUM or XP project customer defines requirements as set of User Stories. In turn development team splits every User Story into low-level coding or testing technical tasks required for its implementation. Additional Task or User Story which was not presented at Planning Game but appeared during implementation. Change requests are normal for XP iteration but SCRUM usually does not allow Change Requests during a sprint.
Iteration
User Story
Task
Change Request
- 20 -