Why do you use a kanban board? Why do you use a scrum dashboard? Really? Think about that. And then think again?
Do you track your workload? Do you calculate if you’re going to complete the sprint objectives? Do you use it to divide the work or fetch your tasks?
And why do you manage projects? Is to have something to do? To be able to track progress? Or divide work or just to feel that you’re in control of what is happening?
What ever is your reason if it’s one of the above, I state that this will not help you in the long run. Because this objectives will not improve your work.
This summer I read The Goal and learnt about The Theory Of Constraints. As always, I recommend you reading the complete book, but here is your five minute version.
All processes have constraints. You cannot remove all the constraints in the process, because if one step stops being a constraint, a new step becomes the new constraint.
A process with step 2 as the constraint
If step 2 becomes more effective, the risk is that the constraint is moved to the next step. So, you cannot just map your process, “remove the constraints” and be happy about your highly effective process. You need to work this continuously.
So, the objective is to constantly improve your process so that the effect of the current constraint is minimized and so that new constraints are identified. But how is that done.
Well, first you identify your current process. All the steps are mapped and then you see where there is some queuing going on. And here comes your Kanban board. Or your scrum board. Or what ever tool you’re using.
Here you follow the value stream of the process and by having a visual tool, you can identify your current constraint.
For example, let’s say that you’re going waterfall. What happens (probably) is that a queue forms at the testing steps. When people finally get to test stuff, a queue of bugs will start to form. And it can form quickly. The step to take then is to try to even the identifying of bugs. Hence you get continuous testing during the process. But then something else starts queuing. And you then use the board to identify that and to improve those steps.
A mistake, according to The Goal, is that we spend too much time optimizing the steps that are not a constraint. But by doing so you just add to the queue. So, if you have a problem with testing not being done, making the software coding faster is not increasing the productivity of the whole process.
I’m really excited to be working with this in TUI Nordic. We’re an organization who is working with lean values and empathic leadership, so this will fit nicely into the culture of the organization. Will it be easy? Hell, no. But a real challenge, yes.
Mike Cottmeyer discusses today on his blog the companies working and talking about their process rather than the output of it. I can really relate to this. Too often organizations try building the perfect process without considering the actual outcome. I can truly recommend reading The Goal – A process of Ongoing Improvement.
In this book the focus of the process work is to constantly improve the process to reach the goal of the organization. What do you do? Well, I work as a project manager at the IT department of TUIFly Nordic. But the goal of my work is not to complete IT projects, the goal is to get our customers to have the holidays of their dreams. And my processes should all focus on this goal.
According to The Goal, You don’t talk so much about your current process, instead you improve it and the focus for the improvement is working around the constraints in the process. The idea is that all processes have their constraints. It can be a testing environment which is hard to get access to. It can be a specific developer, who’s work is essential but who works many projects. Yes, you map your process but the rule is to constantly improve the process. Because when you’ve optimized the process with the constraint in mind, new constraints pop up.
It is therefore very interesting when Mike discusses that many scrum teams states that the goal is to have a product owner and how that mindset shifts the focus from What to How. Using the terms of The Goal, this means that you are not optimizing the process from the real goal of the organization, but for the sake of living the Scrum team.
So, what do I think? Well, as I state in one of my comments on his blog, the dedicated sole wringable neck has no self serving value. If you don’t need that, skip that. But if the tasks often filled by product owners in scrum is a constraint in your process of reaching your goals, you should form a role which best handles this constraint. And I do think that one person taking that responsibility is often a good solution. But as Mike states; that’s not a goal in itself, but can be a way to reach the goal.
When I’m using the Network diagram function in Microsoft, I always turn of the automatic placing of boxes. Format—>Layout:
Select Allow Manual box positioning and confirm with OK.
To create the first box, click and drag and when you let go of the mouse, a nex box has been created:
You can now click in the different fields, enter text and confirm by pressing TAB. For example:
If you move the cursor to the middle of the box and click and drag to outside of the box, a new linked task is created:
If you instead click and drag outside the boxes, a new unlinked task is created:
- You can use Indent and Outdent and all other commands as usual
- Double clicking a box opens the Task Information dialog box
- Double clicking a link opens the Link details dialog box
- Double clicking outside the boxes opens the Box Styles dialog Box
- If you switch view, for example to Gantt chart, the information in the Gantt chart is based on your changes here.
If you change the duration of a task to 0, the task becomes a milestone task. The form changes by this. Observe that you can using Box Styles specify which format and data all boxes have.
If you click and drag from one box to another, you can create new links:
Observe that you can use the zoom buttons to zoom in and out to view more or less of your diagram:
In Microsoft Project, there is a view called the Network diagram. In earlier versions of Microsoft Project, this view was called the PERT diagram. Independent of which version, the view looks something like this:
If you switch to the Gantt Chart, you would (if you had the same network diagram) find a Gantt chart which looked something like this:
So, if you make a Gantt chart, you get a Network diagram and the opposite is also true. But, we’ll switch back to Network diagram to start decoding the boxes.
These are the heading tasks where the red belong to the critical path (see specific blog post about critical path) and blue does not. By clicking the little box in upper left corner, you can hide and view the subtasks of heading tasks.
On the left, normal tasks and on the right a milestone task (this is explained in blog post covering Duration) and again you can see the difference between critical tasks and non critical tasks. Well, critical according to Microsoft, anyway.
As can be expected, the network diagram comes with a bunch of settings. First, you can head to Format—>Box styles. Here you can edit all the different box styles. In the bottom part you can control shape and colors but you can in Data Templates choose which data is shown for that specific task type. If you don’t like the templates as is, you can click More Templates.
Select the template you wish to modify and click Edit. Here you can change the name and by clicking the cells in the middle grid, you can choose which field is shown in that position. On the bottom, you can change fonts and alignment. If you want to change number of cells to work with, click Cell Layout.
Here you can change the grid:
Observe that you can also select a specific box and select Format—>Box. Here you can make the same changes, but only to that specific box.
Another nice place to go is Format—>Layout. Here you can enable manual moving of boxes, how they are arranged automatically, if summery tasks are visible, if critical path is visible and how links are displayed.
In the next session, I’ll go into how you create a process diagram from scratch.