[JAVA] Kanban is not the only breakthrough, let's use Microsoft Project a little more

Kanban is misused in non-Scrum projects

Recently, the sound of agile development waves has come to be heard even at traditional SI development sites. In particular, Scrum has made a name for itself in agile development, and we often hear people say, "Let's try it." However, we are increasingly adopting only ** Kanban **, which is known as a Scrum tool, and seeing sites where it is being misused.

I am a PMP holder and a CSM (Certified Scrum Master). And now I'm a Scrum Master for just one project. The purpose of this article is, "If you're having trouble managing project tasks, Kanban is fine, but if you're using Microsoft Project, let's make good use of it." (It doesn't mean to use Microsoft Project in Scrum.)

If ** "Situation in the field" ** applies to the following, please continue reading. Especially for those who have failed using Kanban in non-Scrum projects.

On-site situation

――Multiple projects are running in parallel even in one customer team, and there are many Microsoft Project files. I make it to show the process to the customer, but it is not properly maintained after the first WBS is created --Since multiple projects are running at the same time and the Project files are separated, it is not possible to list important events and milestones in each project. --Although projects that use the same technology such as Java and C # are concurrently held, the total workload for each member cannot be seen because the resources registered in MS Project are different.

Kanban used casually

If this situation continues for several years, we will come up with a ** groundless ** idea that it would be better to use the Kanban that we often see in Scrum instead of the conventional method. And have you ever seen a site where only part of the development ** somehow started using Kanban **? The situation is that three lanes suddenly appear on the whiteboard and sticky notes begin to be attached. Of course, even if you do this, no improvement will be made, and the whiteboard will return to its original role in less than two weeks.

Kanban is like this

In Scrum, I think you often use sticky notes to manage tasks. I actually use it in Scrum. It's like this. image.png Source: Wikipedia

The biggest feature of Scrum is the self-organization of the team. In other words, it's like ** "Don't rely on individual skills, let's do everything as a team to achieve the goals of the project" **.

The good thing about this Kanban is that ** each task doesn't include the name of the person in charge **. In Scrum, the basic idea is that tasks are not assigned to someone in advance, but are treated as a team, and individual responsibilities are basically decided by the daily scrum of the morning.

The Kanban that suddenly appeared in SI mentioned above was simply converted to Kanban simply because Microsoft Project could not manage tasks. In other words, even if you prepare only the appearance of Kanban, in a team that is not self-organizing or does not try to promote it, Kanban simply writes, pastes, moves, picks up dropped sticky notes. It's just a sticky note for more tasks. Please understand that it does not mean that you should not use Kanban in SI. I want to tell you that Kanban can be a very powerful tool when combined with agile thinking.

If you are interested in this area, I recommend the following books. You need to read it many times and embody it. I still like these two books after rereading them many times. Agile Samurai-The Road to Master Developers Agile estimation and planning

Is your project increasing in number?

In many SIers, the project manager / leader will have multiple projects. First of all, dual-role is evil. However, due to the company's circumstances, it may be unavoidable to serve concurrently. Again, because of my dual role, the following things are happening at many sites:

  1. Even one customer has multiple projects running in parallel, and there are many Microsoft Project files. I make it to show the process to the customer, but it is not properly maintained after the first WBS is created
  2. Since multiple projects are running at the same time and the Project files are separated, it is not possible to list important events and milestones in each project.
  3. Projects that adopt the same technology such as Java and C # are concurrently serving, but the total workload for each member cannot be seen because the resources registered in MS Project are different.

This can be regained control by using Microsoft Project as described below.

Take control with Microsoft Project

The method is to create a ** master project ** and ** shared resources **. This makes it possible to visualize the milestones of multiple projects that are concurrently held and the resources that are assigned at the same time in only one project. It will never happen again that "I have assigned too much and only Java engineer Mr. Tanaka is operating at 300%."

  1. Create a master project
  2. Create a shared resource project

The image after completion is as follows.

image.png

Image source: Microsoft

How to create a master project / shared resource

Creating a master project

It's very easy. There are only two steps below.

  1. Create a new project with MS Project
  2. Add an existing project as a subproject

Detailed procedure [→ Microsoft site](https://support.office.com/ja-jp/article/%E8%A8%88%E7%94%BB%E3%81%AE%E9%9A%8E%E5 % B1% A4% E5% 8C% 96-% E3% 83% 9E% E3% 82% B9% E3% 82% BF% E3% 83% BC-% E3% 83% 97% E3% 83% AD% E3 % 82% B8% E3% 82% A7% E3% 82% AF% E3% 83% 88% E3% 81% A8% E3% 82% B5% E3% 83% 96% E3% 83% 97% E3% 83 % AD% E3% 82% B8% E3% 82% A7% E3% 82% AF% E3% 83% 88-35b02e56-0101-4eca-ac33-82d8392d119b? CorrelationId = 19f449ce-d0c6-4e41-a9e8-570208d62cfa & ui = ja -JP & rs = ja-JP & ad = JP & ocmsassetID = HA010379395)

Creating a shared resource file

  1. Create a new project with MS Project
  2. Register all members in the team in the resource sheet
  3. Allocate the resources allocated in the existing project from the resources created in "1"

Detailed procedure [→ Microsoft site](https://support.office.com/ja-jp/article/%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E5 % 85% B1% E6% 9C% 89% E5% 85% 83% E3% 82% 92% E4% BD% 9C% E6% 88% 90% E3% 80% 81% E5% 85% B1% E6% 9C % 89% E3% 81% 99% E3% 82% 8B-64a2416e-b811-4ddf-b039-e0347e233581)

Further efficiency

The master project expands the subproject like a shortcut. Therefore, when used by a large number of people, there will be a situation where someone has a project open and cannot update it. To avoid this, you can operate safely by making the project file referenced from the master project a copy of the actual production file. Now, even if the master project is open to everyone on the team, individual update files can be updated at any time.

However, it is troublesome to copy manually every day, so it is recommended to automate it. It's very simple, but I have prepared a copy program. Change the following directory and file name to suit your environment, and save it with a name such as msproject-copy.bat. Then, you can copy by simply double-clicking the file. If you register for a Windows task schedule, you don't even need to double-click to update.

setlocal
   rem /* C:\sample.mpp to D:\backup\sample.Copy to mpp*/
   rem /* /Y is a flag to allow overwriting of files with the same name when copying*/
   copy /Y C:\sample.mpp D:\backup\sample.mpp
       
   rem /*pause*/
   pause
endlocal

I hope that you will make effective use of Microsoft Project and that you will be able to manage the project correctly even if you hold a concurrent post. I have hardly touched on how to use Microsoft Project, but I learned by reading "SE Textbook [Complete Edition] Ryuji Fukasawa" many times. However, I couldn't find out if it was out of print now. Paste only the link. SE textbook [complete version]

Recommended Posts

Kanban is not the only breakthrough, let's use Microsoft Project a little more
When the project is not displayed in eclipse
Let's dig a little deeper into the Stream API, which I understand is a rewrite of for.