Showing posts with label MS Project Agile. Show all posts
Showing posts with label MS Project Agile. Show all posts

Saturday, September 30, 2023

Mastering MS Project Agile: Task Board without Sprint Associated Tasks – How To Do It?


I frequently interact with Agile and Hybrid-Agile practitioners who use my Mastering MS Project Agile course and/or Certified Hybrid-Agile Master Professional (CHAMP) certification course. For interactions, I mostly use direct video calls because that way one can quickly learn the problems faced by them and whenever possible, I can provide a quick solution then and there. Both these courses are of high quality, go from beginner mode to an expert level and put you in a path of solid skills on Agile and Hybrid-Agile management, respectively.

One of the recent questions I faced is the below one:

“There are a number of Sprints in my Agile plan. But when I open the task board, all these tasks are shown in the Task Board view. I don’t want to see them there! What should I do?”

The above question is by a keen learner, Ravi O'Reilly. You can read her review and experience.

This article will demonstrate how to achieve this result and get the solution to the problem.

The Fundamentals

First, a few lines on the basics or the fundamentals. MS Project Agile has many board and sheet views for working with Scrum (Sprint), Kanban and Waterfall. Specifically, irrespective of the methodology or framework used, Task Board is available under View tab > Task Views > Task Board view. 

By default, this board view will show all the tasks that entered in another view, say the Gantt Chart view. In the below case, I’ve added five tasks to the project plan and they are represented below. 


As you can see, we have five tasks – Task 1 to Task 5, and they are not associated with any Sprints. 

Now, when I go to the Task Board view, we get all the tasks in that view.  

But the requirement is not to show any “No Sprint” task or “Sprint 1, Sprint 2, … Sprint N-1” task in the Task Boards. Simply put:

  • Tasks which have “No Sprint” should not be shown in the Task Board view. 
  • In addition, any task is associated with Sprints, they should also not be shown at all in the Task Board view!

So, what to do?

Let’s see the solution!

Create A Custom Filter

The Task Board does NOT have a filter applied. However, one can create a custom filter and apply it to the task board.

There are two scenarios.

First Scenario: You don’t want to show the “No Sprint” items. This is actually the question that we started with. Hence, I’ll try to address that first. 

In our custom filter, we will have the following conditions:

  • Show on Board field equals Yes
  • Summary equals No
  • % Work Complete does not equal 100%
  • Active equals Yes
  • Sprint does not contain No Sprint

The last field condition informs the “Sprint” field (available in MS Project Agile) will not contain “No Sprint”. This is depicted in the below figure.


As shown above:

  • The filter name is Custom Task Board Filter. To create a filter, you have to go to the View tab > Data group > No Filter drop down and choose 'New...' filter command. 
  • This filter has all the needed conditions, including the condition which will not show the Sprint containing the “No Sprint”.
    • Again, do note the last condition. This will filter out all the tasks, which are not associated with any Sprints.

Apply Custom Filter To the Task Board View

Now, you have to apply this filter to the Task Board view in MS Project Agile and the result is shown below.

If you want you can create a Custom Task Board view and apply the recently created Custom Task Board Filter into the custom view. This is also an accepted practice and indeed, a good one. However, to keep it simple, I'll use the existing Task Board view.


As you can see, all the tasks which are having “No Sprint” in the Sprint field are no longer visible.

Another Scenario

There can be another scenario as well, which can come-up.

Second Scenario: You don’t want to show not only the “No Sprint” items, but also tasks associated with any Sprint. In other words, you don’t want to show any Sprint related items (No Sprint, Sprint 1, Sprint 2, … Sprint N-1) in the view.

This is also asked by my course users. Because they want to see the Scrum/Sprint related items only in the Sprint related board views such as Sprint Planning Board view, Current Sprint Board view etc. However, they want to show the Kanban related items in the Task Board view.

This also can be done and you just have to change the filter conditions, which will exclude any string containing “Sprint” word. 

For example, in our list of tasks items, we have the following tasks associated with various Sprints.

As shown above:

  • Task 1 and Task 2 are associated with Sprint 1
  • Task 3 and Task 4 are associated with Sprint 2 and Sprint 3, respectively.
  • Task 5 is not associated with any Sprint.

When you switch to the Task Board view, we get the following.


The Custom Task Board filter has been applied, but we have still 4 tasks visible! 

How is that possible?

This is because the filter condition tells not to display the task associated with "No Sprint". But, all other tasks will be shown. Hence, we have to change our custom filter - more precisely the last condition! The modified filter will be the following. 


Next, when you apply this modified Custom Task Board filter to the Task Board view, you can fully filter out the tasks associated with any Sprint (Sprint 1, 2, 3 … N-1) or No Sprint. 

Is is not simple and very effective? 

You can customize the view anyway you want.

MS Project Agile and Customization

MS Project Agile provides high flexibility with custom boards, custom views, custom filter, custom group and of course, you also have many programming options with various custom fields and functions.

You can effectively use them to apply in your job in a leadership role and/or as a management professional.

The Mastering MS Project Agile course has a dedicated lesson for this purpose. It’s part of the Lesson – 7: Custom Agile with MS Project Agile. 

To see the complete index of this course, including the customizations possible in MS Project Agile software, you can refer to this link


References:

[1] Master Course: Mastering MS Project Agile, by Satya Narayan Dash.

[3] Video Course: Microsoft Project Live Lessons, by Satya Narayan Dash.


Monday, June 05, 2023

Step-by-Step Closing of A Sprint with MS Project Agile

Want to master MS Project Agile? Learn in and out of it?

Course available at a very low cost: ðŸ‘‰ MASTERING MS PROJECT AGILE

The course comes with a full money-back guarantee!

The free article follows.

--

Takeaway: A Sprint is considered to be a mini-project within a Scrum project. Like every project has to be closed, a Sprint, also has to be closed. However, many Agile practitioners do not follow this practice. In this article, we will take a scenario for Sprint in a Scrum project and follow the steps needed to close a Sprint Project.

We will begin with a scenario for a project, proceed with various steps to close the Sprint within a release, and learn a variety of functionalities available in MS Project 2019 Agile. Then, I will demonstrate the closing steps. Keep in mind that closing a Sprint differs significantly compared to the closing of a traditional project with MS Project.


Our Project Scenario *** UPDATED ***

In our project, there are a number of releases, and each release has a number of Sprints. The decomposition pattern can be in a variety of ways, such as:

  • Product > Epics > Features > Iterations > User Stories
  • Product > Iterations > User Stories
  • Product > Releases > Iterations > Features
  • Product > Releases > Iterations > User Stories 
  • Product > Features > Releases > Iterations > User Stories
  • Product > Features > Epics > Iteration > User Stories, among many others

In our case, the pattern will be: Product Backlog > Project > Releases > Sprint/Iteration > Features > Tasks. This is to maintain consistency with my earlier piece on Agile release planning. If you are working with any other decomposition pattern, you can still follow the steps laid out in the below video [duration: 4m:55s]. I’ve prepared the video in support of this article, so that readers will have understanding of the scenario. For the best experience, you may want to go full-screen HD and plug-in your earphones.


When using MS Project with its Agile features, the following depiction is visible in the Sprint Planning Sheet view. This view shows multiple releases within a project and multiple Sprints in every release. 


You may be wondering about the empty Resource Names column. It’s empty because resources are assigned to tasks, not the Releases, Sprints, or features. The features (or stories) will be summary tasks because they are finally broken down to tasks, to which resources will be assigned.

Specifically, for Sprint 1, which is under consideration in our case, we have the following view using the Current Sprint Planning Sheet view. 

In the above figure, I’ve applied a custom grouping: Sprint and Features. This enables a better visualization. I’ve also added the % Complete in-built column.

Looking at the above figure:

  • Sprint 1 has three features: ‘Login to the online trading system’ (100% complete), ‘Create a new user’ (100% complete) and ‘Edit an existing user’ (40% complete).
  • The feature of ‘Edit an existing user’ has a number of incomplete tasks, as the Scrum team could not complete these tasks.
  • The Daily Scrum events are not all complete. Hence, the summary task of ‘Daily Scrum’ is shown to be 88% complete.

Set the Status Date *** NEW ***

This update is as on the final day of the Sprint, i.e., September 23, 2022. The status date can be set by going to the Project tab > Properties group > Project Information dialog box and setting the ‘Status date:’ field.


You can also set the date by selecting ‘Status Date: command’ under the Status group of the Project tab. Some practitioners find this way to be quicker.

As you complete the task items, or move the items across the workflow states, it’s likely that some of the items will remain in a Not-Done, or unfinished state. Items with unfinished status can be tracked in ‘Sprint Backlog,’ ‘Next Up,’ ‘In Progress,’ or any other custom state or column you define. This situation leads us to our next step.

Move the Incomplete Items to Next Sprint

The tasks or items which are planned for the current Sprint, but could not be completed, are usually moved to the next Sprint. This can be done in the Current Sprint Board view. 


As shown above, we have a number of tasks under the feature, ‘Edit an existing user,’ in the Sprint Backlog. All these incomplete tasks should be moved to the next Sprint by selecting the task item and choosing the ‘Move to Next Sprint’ command after right-clicking. This has to be done for all incomplete tasks.

Check the Daily Scrums

Incomplete Daily Scrum events need to be closed. Otherwise, they will remain on the Board and Sheet views, which may create problems while managing and tracking the next Sprint.

For a two-week Sprint, there will be a number of Daily Scrums, as explained in the article, Building A Sprint Backlog with All Scrum Events in MS Project Agile. To complete these events, enable the filter option in the Current Sprint Planning Board view.

The filter option is available at the far-right part of the board view. Select the ‘Daily Scrum’ summary task to display all the Daily Scrum events, as shown below. 


With the filter applied, the incomplete Daily Scrum events will be visible in the board view. Select the incomplete ones and simply move them across to the Done state.

Complete All Sprint Events

Other than the Daily Scrum event, there are events such as Sprint Planning, Sprint Review, and Sprint Retrospective. The Sprint Planning event happens on the first day of the Sprint. By this time, the event should have been closed. If it’s not done already, you must close this event’s associated task.

However, the last two events of Review and Retrospective happen on the final day of the Sprint. It’s easy to forget to close these two events as the current Sprints ends, and the next immediately starts.

These last two events can be closed in the Current Sprint Board view. 


As shown, we now have only two tasks in the Sprint Backlog workflow state: the events of Sprint Review and Sprint Retrospective, which are highlighted. These events can be closed by dragging and dropping them into the Done column.

Ensure the Sprint’s Completed Features

At this stage, all tasks have been closed or have been moved into the next Sprint, if they remain incomplete. We have also closed various Sprint events. Now, it’s a good idea to review the features with the associated task to ensure that the percent completion is 100% at the overall Sprint level.

This will look like the figure below, in the Current Sprint Sheet view. At the highest level – after applying the grouping for the Sprint – we have 100% completion for the entire Sprint. 

Note that for the ‘Edit an existing user’ feature,’ we have only one completed task: ‘Design and develop.’ Remaining tasks have been moved into the next Sprint, which in our case is Sprint 2. This synchronizes with the previous step and confirms that it is complete.

  • After completing this step, you may have the following questions:
  • Where can one see the tasks (associated with features) moved into the next Sprint?
  • Are the tasks properly placed as part of the next Sprint?
  • Are the tasks properly associated with the Release?
  • Will the workflow state (anything other than Done state) be preserved when moved into another Sprint and Release?

To answer the above questions, we will move to the next step.

Review the Sprints within a Release

The Sprint completion within a release can be confirmed with the Sprint Planning Sheet and Sprint Planning Board views. In MS Project, when a Sprint gets completed, both the Sprint and Sprint work items are removed from these Sheet and Board views. Though it may be confusing initially, in fact, it’s quite logical: because the Sprint has been completed!

For our case, the current release plan after Sprint 1’s completion is shown below in the Sprint Planning Sheet view. This not only ensures that the concerned Sprint (Sprint 1) has been completed but also ensures its reflection in the release plan. 

As shown:

  • Sprint 1 items are complete. Hence, the Sprint and its associated items are not reflected in the Sprint Planning Sheet view. However, you can change the built-in filter to display the items.
  • The tasks under ‘Edit an existing user’ feature are now part of Sprint 2. These items are highlighted under the Task Summary Name column.
  • The other feature items such as ‘Buy a stock’ and ‘Sell a stock” were previously planned to be part of Sprint 2, and they are highlighted.
  • The Feature flag is showing as enabled for both of the above two feature work items, whereas the flag is disabled for the task items moved from Sprint 1.
  • All the tasks are not only properly associated with the next Sprint (Sprint 2) but also with the release (Release 1).

You can also cross-verify this in the Sprint Planning Board view, which is shown below. The Sprint 1 column in this view is now completely empty. 

In MSP, it is by design that a completed Sprint is not available in the Spring Planning Board. This is because in both the Sprint Planning Board and Sprint Planning Sheet views, the filter applied is Sprint Planning Filter.

If you want to see all the Sprints plus all the associated features and tasks with % completion, you can customize the filter and apply it to the view or create another custom view. The video below explains this process in more detail.


Plot the Velocity Histogram *** NEW ***

Another practice that is followed by Agile practitioners using MS Project is to build a Velocity Histogram. The velocity histogram is one of the most used reports used by Scrum Masters, Product Owners or Agile Project Managers – the last one considering Hybrid Agile project.

Velocity histogram is a vertical bar chart with a pair of bars showing velocity metrics over a series of Sprints. The first part of the pair is usually the planned velocity, whereas the second part of the pair is the actual velocity.  When plotted together, one can quickly infer and interpret the data, which can also be used for forecasting. A sample velocity histogram is shown below. 


You can learn more about building the velocity histogram in this article.

Demonstration, Review and Analysis

We covered the major steps to close a Sprint for a Scrum project. Now we will demonstrate, review, and analyze the steps that we have learned so far. The below video [duration: 6m: 21s] is taken from my course, Mastering MS Project 2019 Agile, and explains how to close a Sprint in more detail.

Conclusion *** UPDATED ***

Closing a Sprint is an important step that should be done diligently by the Agile Project Manager or the Scrum Master.

Leaving the tasks and events open, directly updating the % Complete column field for the tasks without moving the tasks across the board, or updating the previous Sprint’s tasks in the current Sprint creates confusion for your team members. It also results in wrong reports, such as the Velocity Report, Burndown Chart, or Burnup Chart. More importantly, your plan will no longer be correct.

It’s also pertinent to note that only the features which are completed will count towards velocity, not the ones which are partially complete. Even one task item remaining incomplete should not count toward velocity. If you are using stories and story points to estimate for planned and actual velocity, then your project plan should have the proper velocity calculation in MS Project.

Everything you need to close a Sprint for a Scrum Project is available at your fingertips with MS Project. Go ahead and close your Sprint rapidly and elegantly…and sprint for the next Sprint!

--

This article was first published by MPUG.com on 11th October, 2022. This is an updated version.


References

[1] Online Course: Mastering MS Project 2019 Agile (Scrum, Kanban and Scrumban), by Satya Narayan Dash

[2] Certification Course: Certified Hybrid-Agile Master Professional (CHAMP) with MS Project, by Satya Narayan Dash


Monday, April 17, 2023

Building A Velocity Histogram with MS Project Agile

 

Like velocity is one of the widely used metrics in Agile, the velocity histogram is one of the most used reports used by Scrum Masters and Product Owners. It’s simple, effective and acts as an information radiator.

I frequently interact with professionals who use my CHAMP certification course or Master Course for MS Project Agile. This came as a question from one of the aspiring CHAMPs and hence this post. Before getting into this article, I’d definitely suggest that you read the below two:

To download and use the MS Project Agile, you can use the following step-by-step installation guide.

Step-by-Step Guide: Install, Set-up and Run MS Project Agile

 Now, let's start with the histogram basics.

Histogram Basics

Histograms are widely used by management practitioners – product, program, portfolio or otherwise. It can defect histogram, resource histogram, earned value measurement (EVM) histogram, among others. 

Simply put, it’s a graphical representation of numerical data, and it’s usually a vertical bar chart. Nevertheless, variations exist. 

Considering Velocity Histogram, it’s a vertical bar chart showing two bars for every Sprint in a release and/or project. While one bar is for the Planning Velocity, the other one is for Actual Velocity. A simple velocity histogram is shown below. 


Use A Histogram Template

To create a new velocity histogram using MS Project Agile:

Go to the Reports tab > View Reports group > New Report > Chart. 

As shown above, the chart selected has a histogram figure and it’ll create a histogram with certain default fields. 

In the popped-up Report Name (shown below), enter the report name as Velocity Histogram Report. This will create the report with three default fields:

  • Actual Work
  • Remaining Work
  • Work


As you’d have correctly guessed, we are not going use to these fields, but MS Project Agile will have these fields. We are going to change these fields in a moment. 

Removing the Histogram’s Default Fields

As you can understand, velocity has nothing do with the fields of Actual Work, Work or Remaining Work. Hence, we have to remove these fields. To remove these fields, select the chart area of the created report, right click and use Show Field List command from the drop-down menu. 


Now, in the right pane of Field List, we have the individual fields of Actual Work, Remaining Wok and Work. Right-click on them one-by-one and use the Remove Field command to remove those fields. Now the chart area will be completely empty. 


Customizing the Histogram with Velocity Fields

Next, we are going to customize this histogram (completely empty) with the needed fields. As we have seen earlier and mentioned in the two linked articles of this post, we need only two fields:

  • Planned Velocity: The velocity planned for the Sprints across the releases or the entire project.
  • Actual Velocity: The determined actual velocity for the Sprints across the releases or the entire project.

We are going to make use of those fields now.

In the right pane of Field List:

  • Go to the Number field.
  • Go to the Custom field under Number field. 
  • Choose Planned Velocity and Actual Velocity, both custom number fields.  


As you can see in the above figure, we now have Planned Velocity and Actual Velocity fields available in the chart area of our histogram. Next, change the Grouping the field list to Group by: Sprint. This will result in the following view. 


Removing the Non-Sprint Columns

As you’d have noticed above, there is a non-Sprint column and we don’t need that. To do so: 

  • Select the chart area.
  • On the right-hand side three small icons will come-up. Select the last Filter (Funnel) icon.
  • In the popped-up Values pane, deselect the category of Sprint: No Sprint.
  • Click on the Apply button below. 

 

With it, we will only the data related to Sprint 1, Sprint 2 and Sprint 3. If you have planned for more Sprints, then those data will also be available. 

Adding the Data Labels 

Now that we have the needed fields and only Sprints’ related velocity data, let’s customize the available velocity histogram a bit more. For this purpose, select the vertical blue bar (for planned velocity), right click, and select Add Data Labels as shown below.  

Similarly, select the other vertical orange bar (for actual velocity), right click and add the data labels. With these changes, as you can see, our first cut of Velocity Histogram for the three planned Sprints (Sprint 1, Sprint 2 and Sprint 3) is available.  

Interpreting the above figure, you can see the planned velocities for Sprint 1, Sprint 2 and Sprint 3 are 16, 10 and 3 respectively, whereas the actual velocities for Sprint 1, Sprint 2 and Sprint 3 are 8, 0 and 0, respectively.

Customizing the Data Labels 

Next, let’s customize this chart more with the color coding changes. As we make a few more adjustments, you will have the following view. 

To generate this report, I’ve:

  • Filled the vertical bars with different colors.
  • Formatted the data labels with a lighter version of respective colors.
  • Filled the color coding for the report label: Velocity Histogram Report.


Conclusion

MS Project Agile comes with a large number of reports, which you can use to your advantage. For example, this chart can be created in a matter of seconds, if you know the software tool well. 

Also, you don’t have to update the Velocity Histogram as you keep completing the Sprints and sprint for upcoming Sprints. The histogram will take the latest data and reflect them in the report. 


As shown in the above figure, we now have the inputs from Sprint: Sprint 2 and they are reflected in the Velocity Histogram report. 

And of course, you can export to a PDF format to share it with other stakeholders, team members and make them available as part of your project repository. 


References:

[1] Book: I Want To Be A PMI-ACP: The Plain and Simple Way, by Satya Narayan Dash

[2] Master Course: Mastering MS Project Agile, by Satya Narayan Dash

[3] Video Course: Microsoft Project Live Lessons, by Satya Narayan Dash.



Thursday, April 13, 2023

Calculating Velocity with User Stories in MS Project Agile (Scrum)


Velocity is a widely used metrics by Scrum practitioners, though velocity is not specifically mentioned in the Scrum Guide, 2020. With MS Project Agile software you can have this metric quite quickly, if you are working with user stories and story points. 

This came as a question in one of the recent international webinars, where participants wanted to know on the applicability of velocity. As per the question, the development is happening with work items estimated in stories, and they are not breaking them down into individual tasks. Can velocity be calculated in such a scenario?

You can watch the webinar and related questions here:

Practical Scrum using MS Project Agile (3 of 3) by MPUG

To answer the question on velocity: yes, absolutely you can have velocity metrics in MS Project Agile! In this article, we learn about this capability. To download and use the MS Project Agile, you can use the following step-by-step installation guide.

Step-by-Step Guide: Install, Set-up and Run MS Project Agile 

In-depth explanation with Velocity, User Stories, Velocity Histogram, Release Histogram etc. are explained in the following course:

Mastering MS Project Agile – Scrum, Kanban and ScrumBan

Important Note: Before proceeding further with this article, I’d strongly recommend that you understand the basics of User Stories and Story Points and how they are used with MS Project Agile (Scrum). The link is below:

Working with User Stories and Story Points in MS Project Agile (Scrum)

Velocity Basics

Velocity is simply the sum of stories delivered at the end of the Sprint, considering you are using the Scrum framework. There are no complicated formulas to calculate. Simply add the number of story points! 

Let’s take an example to understand.

You have three work items planned for the upcoming Sprint 1, estimated with following story points:

  • Work item 1:  5 story points
  • Work item 5: 8 story points
  • Work item 9: 5 story points

Why not work item 1, followed by work item 2 and work item 3? This is because of prioritization of bcklog work items, which you can also do with MS Project Agile.  

In the previous linked article with respect to working with User Stories, we have already created the Story Points custom field. We will build-upon that custom field. 

“Planned Velocity” Custom Field

The “Planned Velocity” custom field is not available by default in MS Project Agile. To have this custom field:

Go to the Task Sheet Tools > Format tab > Columns > Custom Fields command.  

The created custom field for Planned Velocity is shown below. As you can see, it’s just below the Story Points custom field that we have created earlier.  

As you create this custom field, do note the following:

  • It’s a number custom field, specially I’ve used Number 3.
  • The formula applied is simple. It directly equals “Story Points” custom field earlier or specifically Number 2.
  • Do note that roll-up has been applied for the calculation of summary tasks. And, when you use the roll-up, have the Sum function

“Actual Velocity” Custom Field

The “Actual Velocity” custom field is also not available by default in MS Project Agile. To have this custom field, again:

Go to the Task Sheet Tools > Format tab > Columns > Custom Fields command. 

Again, with the custom field command we will create this new “Actual Velocity” custom field. It’s quite simple and straightforward. This is shown below. 

As you create this custom field, do note the following:

  • It’s a number custom field, specially I’ve used Number 4.
  • The formula applied is simple. If the percent of complete (% Complete field) is 100%, then Actual Velocity will equal Planned Velocity, otherwise it won’t.
  • Again, do note that roll-up has been applied for the calculation of summary tasks. And, when you use the roll-up, have the Sum function

Backlog with User Stories, Planned Velocity and Actual Velocity

As we have added these custom fields, we can now visualize them in the Task Board Sheet view, Sprint Planning Sheet view or even the Gantt Chart view. You can choose any view you want. 

Considering the Sprint Planning Sheet view, which has information for all the Sprints, we will get the following view. While going for the view, I’ve applied the built-in Sprint grouping. Re-read the last line. It’s important! 


Obviously, as we have not tracked any item, the “Actual Velocity” for Sprint 1 is informed to be zero, whereas the Planned Velocity is 16.

Switching to the Gantt Chart and applying the Sprint group again, we have the following view. Do note that I’ve added a new column of % Complete. 


Interpreting the above figure, we can say:

  • Sprint 1 has three items estimated at 5, 8 and 3 story points, respectively.
  • When rolled-up the Planned Velocity is 16, which is basically the summation of all stories, i.e., 16 story points = 5 story points + 8 story points + 3 story points.
  • The Actual Velocity is 0, because we have not tracked any work items. In other words, the team has not started working on the items.

Track the Work Items – Current Sprint 

After you have planned for the current Sprint (Sprint 1 in our case), you can track the items in the Current Sprint Board view. For tracking, you have to just drag and drop the work items across the workflow states. 

Consider that we are on the final day of the current Sprint (Sprint 1) and we have made progress on a number of story items. This is shown below. 


Interpreting the above figure, we can say:

  • The work item of “As a user, I can log into the online systems…” has been completed, so also the work item of ‘As a user, I can buy a stock…”. These are 100% complete.
  • The work item of “As a user, I can create a new user…” is still under progress and it’s 50% complete. 

Visualize Actual Velocity – Current Sprint 

Now, you can switch back to the Gantt Chart view to see the Actual Velocity value being populated based on % Complete. This is shown in the below figure. 

Interpreting the above figure, we can say:

  • Sprint 1 has three items estimated at 5, 8 and 3 story points, respectively. Hence, the Planned Velocity is 16. We have seen this earlier. 
  • The Actual Velocity is 8, because we two work items estimated at 5 and 3 story points, respectively are now complete. Hence, the rolled-up value is 8.
  • One work item is 50% complete and it doesn’t count towards velocity, i.e., the work item of “As a user, I can create a new user…”. 

Conclusion

Is it really that simple to calculate velocity with MS Project Agile? Yes, it is!

As we saw in this article, with a minimal set of steps, you can calculate the velocity for any Sprint in a Scrum project. All you have to do is to have a couple of custom fields and use the available views and group to calculate the velocity for you.

If you want to see use the Current Sprint Sheet view, there too you can visualize the Planned Velocity and Actual Velocity.  


Another question that comes up: 

Can one plot a Velocity Histogram with these values? 

Yes, absolutely you can. As the fields are properly populated, you can quickly create a histogram with Report functionality of MS Project Agile. 


I hope this article helps you in planning your Sprint or Backlog plan with velocity and it helps in your work. If you have any comments or inputs, do put them below in the comment section.

References:

[1] Book: I Want To Be A PMI-ACP: The Plain and Simple Way, by Satya Narayan Dash

[2] Master Course: Mastering MS Project Agile, by Satya Narayan Dash

[3] Video Course: Microsoft Project Live Lessons, by Satya Narayan Dash.

Friday, February 10, 2023

Working with User Stories and Story Points in MS Project Agile (Scrum)


Want to master MS Project Agile? Learn in and out of it?

Course available at a very low cost: ðŸ‘‰ MASTERING MS PROJECT AGILE

The course comes with a full money-back guarantee!

The free article follows.

--

Recently, while interacting with many Agile practitioners in a webinar, a number of questions came-up on the capability of MS Project Agile software with respect to user stories and hence, associated tasks. MS Project has features, tasks and as you’d know the features can be broken down into tasks. However:

  • Can MS Project Agile have items in user story format?
  • Can the stories be estimated in story points?
  • Can the stories be broken down into tasks?

You can watch the international webinar here:

Practical Scrum using MS Project Agile (2 of 3) by MPUG

Yes, absolutely you can! In this article, we learn more such capabilities with MS Project Agile. To download and use the MS Project Agile, you can use the following step-by-step installation guide.

Step-by-Step Guide: Install, Set-up and Run MS Project Agile 

In-depth, hands-on explanation with User Stories and how to address them have been explained in the below video course:

Mastering MS Project Agile – Scrum, Kanban and ScrumBan

User Story Basics

A story is written on a stick note, a simple piece of small paper, a card or an electronic card, if you are using a sophisticated software tool. A user story has three aspects:

  • Who – Who wants this?
  • What – What is wanted to be done by this?
  • Why – Why does someone want it?

A user story is written in this format: 

As a <role>, I want <need>, so that <value or benefit>.

The first role part is about “who”, the second need part is about “what” and the third value or benefit part addresses “why”.

You can learn more on various types of stories in this article of Stories about Stories in Agile Development. 

“Story Points” Custom Field

The Story Points field is not available by default in MS Project. You have to create a custom number field for this purpose. To assess the custom field:

Go to the Task Sheet Tools > Format tab > Columns > Custom Fields command. 


 A number custom field has been used as story points are calculated in numbers. If you are not going with story points, you can have feature points or simply, points. This is shown below. 

Backlog with User Stories 

Let’s say currently in our Product Backlog, we have the following items. This is shown in the Sprint Planning Sheet view. (click to enlarge the view)

As you see in the above figure, while the higher ordered items towards the top of the backlog are written in user story format, and they are estimated in story points, whereas the lower ordered items towards the bottom of the backlog are not in user story format. They are also not detailed or estimated in story points. 

This is expected as we plan for two to three upcoming Sprints, while refining the product backlog. You’d have noticed the items written in Story formats are estimates as 3, 5, 8 story points. 

More Refined User Stories

Many Agile/Scrum practitioners break-down stories into tasks and I’ve also noted it in the earlier linked article of stories. This can be done quickly with MS Project software. 

For example, the below story (first one in the list):

  • As a user, I can log into the online system, so that I can access.

This can be broken down into multiple user stories, if you want to provide access in a number of ways. For example, it can be:

  • As a user, I can log into the online trading system with my Email account, so that I can access it via my Email ID.
  • As a user, I can log into the online trading system with my payment wallet, so that I can access it quickly.
  • As a user, I can log into the online trading system with my social media XYZ account, so that I can access it via social media XYZ.

In such a case, you just have to write them down in the text area of the Task Name field in the Sprint Planning Sheet view.

Backlog with User Stories and Tasks

Many Agile/Scrum practitioners take the user stories and break them down into tasks. This happens during the Sprint Planning meeting. As shown earlier, we have many stories for the upcoming Sprint or Sprint 1. It’s shown in the below Board view. (click to enlarge the view)

Now we are going to break them into individual tasks. I’m going to use a boiler-plate set of tasks for these stories and break-down each story into tasks. For example, consider this user story:

  • As a user, I can log into the online system, so that I can access.

One can break them down into individual tasks, such as:

  • Task – 1: Design and develop
  • Task – 2: Implement UI
  • Task – 3: Prepare test plans
  • Task – 4: Execute test plans
  • Task – 5: Integration work
  • Task – 6: PO Review

All these can be done in the Sprint Planning Sheet view or Gantt Chart view. Once you have created the tasks under the stories, it will come as shown below in the Gantt Chart view.  

This also can be seen in the Sprint Planning Sheet view or Current Sprint Sheet view with a grouping applied.  


As shown:

  • The story has been broken down into individual tasks.
  • The story name is shown as the Task Summary Name, which is correct.
  • Both the story and the related tasks are associated with the Sprint.

Video - User Stories and Story Points

You can watch the following video [duration - 5m:30s]. to see a demonstration how user stories are written, estimated in story points, broken down to tasks, tracked and managed using MS Project Agile software tool.


 

Conclusion

As we saw in this article, the MS Project (Agile) software has the needed functionality to write each (product) backlog item in the form of user story. A story can be broken down into a set of tasks, and each task can be estimated with duration, start and finish dates.

Next, you have to assign the resources to the tasks and start Sprinting for your project. As you Sprint, you have to just drag and drop the cards in the Current Sprint Board view to complete them. 

As you move the cards across the board, it’ll come as shown below. 

Is it that simple to write with user stories in MS Project Agile? Yes, it is! 

You can quickly write the stories, break them into individual tasks and track them to completion. 


References:

[1] Book: I Want To Be A PMI-ACP: The Plain and Simple Way, by Satya Narayan Dash

[2] Video Course: Mastering MS Project Agile, by Satya Narayan Dash

[3] Video Course: Microsoft Project Live Lessons, by Satya Narayan Dash.