The world of Project Management has been transformed over recent years by the rise of Agile methodologies. Offering a nimble and adaptable alternative to the more rigid Waterfall methodologies that were popular in the 1990s and earlier, Agile approaches have proved to be highly effective for the development and delivery of software in fast-paced environments where requirements are liable to change. Indeed, so successful have they been that Agile approaches are now increasingly being taken up and applied in contexts quite distinct from software development.
Two popular Agile frameworks are Scrum and Kanban, and both are supported at least to some extent by MS Project. Here we focus on Kanban, and show how you can adopt a Kanban approach while still using Project.
Kanban and project scheduling
The word Kanban means signboard in the Japanese language. Kanban’s methodology is a simple but powerful visual scheduling technique. It originated in the Toyota automobile factory, created by engineer Taiichi Ohno. Kanban is commonly used for an Agile non-iterative and incremental execution of the project. Scrum, on the other hand, implements short, iterative, development cycles that incrementally execute the project.
Let’s see the Kanban methodology in action:
1. Fire up Project and create an empty blank file.
2. Open the View tab on the ribbon and locate and click the Task Board view button. Refer to the following screenshot:
When you click on this button, a new view will open up:
There are a few important points to note about this Task Board view:
1. There are no tables and charts upfront. As you will soon see, this view implements an intuitive drag-and-drop feature.
2. All the Agile features within Project are mapped to existing familiar constructs such as Views and Tables.
3. Within this Task Board view there are four primary columns, labelled Not Started, Next up, In progress, and Done. As you can surmise, these columns represent successive stages of task execution.
4. Something that’s notably absent is the Gantt chart. Unlike in the other views that you’ve probably encountered, there is a New Task button. This will allow you to add a new task to the schedule.
In Kanban, the primary focus is on visualizing the project schedule’s workflow, while the secondary focus is on limiting the In Progress tasks as much as possible. With this idea in mind, let’s start adding our running project’s tasks one by one. Start by clicking on the New Task button, as shown in the following screenshot:
A new text area will open, where you can enter the task name and add the task to the Not Started column. When you add the second task, you should immediately notice that the newly added second task does not go to the bottom of the list, as you would expect, and stays on top. There is a certain relevance to this, which we will explore in the next section.
Every new task you add begins its life in the Not Started column. You can, however, drag and drop the task cards anywhere on the column list to optionally order them. This behavior emphasizes the experience of a Kanban Task Board. Experiment with re-ordering the tasks so that you get to experience the user interface.
When you are done adding all the task cards to the board, your screen should resemble the following screenshot:
Now it’s time to understand and experience the flexibility promised by Agile Kanban.
Points to note about Kanban within Project
Agile is suited to experienced teams who are in constant communication with stakeholders. A fast and autonomous decision-making process is a given. Because of this, the rigidity of Waterfall scheduling is not applicable to Kanban. This means that your Kanban board, by default, will have the following properties:
· No strict ordering of tasks required
· No resource allocation required
· No task dependencies required
· No task start date or duration required
Team members can choose tasks to execute by themselves from the Not Started column and traverse sequentially through the columns until each task reaches the Done column, which is the task’s final resting place.
For each of the columns, you can set a representative percentage task completion value, which indicates how much of the task has been executed. This is true for all columns except the Done column, which, by definition, is preset to 100% completion. A common practice is to set the columns to some meaningful sequence, such as 0% — 25% — 50% — 100%, as shown in the following screenshot:
From the preceding screenshot, we can observe the following:
1. There are several ways you can configure and use such a Task Board. It is easily possible to change the labeling and logic to anything of your choice that’s suitable. For example, the simplest design of such a board can have three columns:
Requested Features, In Progress, and Released. Right-click on the column label to delete it or give it a new name:
Now continuing, let’s consider the flow of events in a normal project:
2. Every new task that is uncovered will be entered into the Not Started column. By definition, such new tasks will be at 0% completion.
3. When a task gets logical relevance in the schedule, it is moved to the Next up column. A task gets logical relevance when, for example, a dependency is triggered on it.
4. Team members select tasks from the Next Up column, and when they are well under way, they can be moved to the In progress column.
5. When the task is 100% complete, it is moved into the Done column. This task has completed its life cycle.
6. A task can only be placed in the Done column when it is 100% complete. This logic extends all the way back along the sequence of columns.
7. Rinse and repeat until all the tasks reach completion, the Not Started column is empty, or the project is otherwise considered complete.
In this way, it is possible to execute entire projects with great flexibility. Sometimes, however, you might want a little more scheduling power. For example, you might want to set task parameters, dependencies, priorities, or other parameters. Project allows for that too, as we will see in the next section.
Using the Sheet view for the Task Board view
As we mentioned earlier, the Task Board view is just a facade. The underlying scaffolding is still provided by the familiar tables, views, algorithms, and scheduling engine of Project.
This means that we can tap into all the scheduling power on offer. From the Format tab, locate and click on the Sheet button. Refer to the following screenshot:
The Sheet button is just a shortcut to the Task Board Sheet view. The same view is also accessible from the More Views link, which is available in other ribbon tabs. Refer to the following screenshot:
This view will look very familiar to you as it presents the tasks in a table, very similar to the Entry table. From this sheet view, you can add more power to the Kanban board. For example, double-clicking on any task will give you the familiar Task Information dialog box. You can then configure any of the task parameters as you so choose.
Despite these similarities, there are some important observations to be made about the Task Board Sheet view, as follows:
1. By default, Work is used for the tasks, not Duration. This is because, as we’ve already seen, resources are generally not assigned to tasks in Kanban mode. However, the Resource column is readily available, should you need it.
2. The Board Status column allows you to assign the task to any of our predefined completion status values, similar to what’s available in the Task Board view.
3. It is also possible to set an external dependency date in the Deadline column. However, the most interesting and new column that we have on this view is the Sprint column. This column provides a link to the Scrum aspects of Project, which we do not cover here but which are well worth investigating.
Microsoft Project is a go-to tool for many project managers, who value the deep functionality it offers for defining and viewing tasks and task dependencies, managing resource allocation, and more. What is less widely appreciated is that today Project provides support for Agile methods. Especially relevant to Kanban users is the Task Board view, which provides an easy way to track project progress as tasks transition from column to column towards completion.
Buy Learning Microsoft Project 2019, authored by Srikanth Shirodkar
Special 25% off at http://packt.live/3p5CJMM. Use discount code 25MPROJECT (Promotion running from 10th February through 15th March).
For coverage of Project’s Scrum features, see Chapter 10 of Learning Microsoft Project 2019 (Packt Publishing).