Don Kim is a project leader who with over 15 years of experience in program and project management. His work covers a wide range of industries, but his primary focus is in IT. Don is also an avid blogger who has posted a number of articles over the past few months about incorporating techniques from Scrum and Kanban into the management of his work at a personal level. When I learned he was using PK to manage his own work I asked Don if he would allow me to interview him to hear more about how his has been using Personal Kanban.
A link to the interview and notes on key points in the podcast are below. If you are interested in learning more about Don you can find him through his blog Project@tion (http://www.projectation.com/), or through his work on Projects At Work (http://www.projectsatwork.com/profile/donkim/) and ProjectManagement.com (http://www.projectmanagement.com/profile/donkim).
You can find the interview here: http://www.projectsatwork.com/content/podCasts/279293.cfm
The interview lasts for about 30 minutes. If you’d like to skip ahead to specific points, here are some of the key moments in the interview:
0:00 - Don explains his background and the focus of his writing for Project@tion, ProjectManagement.com and Projects at Work.
1:55 - Don's thoughts on the volume of work PMs are facing today and how it impacts their ability to get things done.
4:45 Don explains how his use of personal productivity tools has evolved and how it resulted in him reaching a point where he was spending more time creating lists of things to do than actually getting anything on those lists done.
7:30 - Don and I discuss the fact that limiting the work in progress doesn't actually alleviate the larger backlog of things that need to be done. We also talk about the psychological impact of maintaining a list of things that do not get done.
10:28 - Don explains how he uses Personal Kanban to limit his ability to do work and how it helps him stay focused on only the most critical things.
11:20 - Don's shares his thoughts on tools for Personal Kanban and value long term planning.
13:20 - Don explains how he prioritizes his work based on goals for his goals for relationships.
15:29 - Don maintains a separation between work life and personal life. This helps help him stay focused on his goals for his personal life.
16:23 - Don's thoughts on the "reboot" of Kanban.
19:48 – Don explains how the the "reboot" is impacting the use of Personal Kanban.
21:10 - Don explains how he responds to requests from people who would rather stick with a Gantt chart and traditional planning instead of moving towards a more transparent Agile approach.
25:05 - Don's advice for people who are struggling with managing their own personal project management.
28:57 – Where you can learn more about Don and the work he is doing.
Ten minutes ago I was supposed to be writing this blog post. What I was doing instead was cleaning out the articles I have stored in Instapaper that have been in the queue for so long that they are no longer worth reading. This seemed really important at the time. And, I was actually-really supposed to be writing this blog post 30 minutes ago. But 30 minutes ago I was doing the stuff I meant to do 2 hours ago. And that is because 2 hours ago, I was still asleep because I stayed up until 3 AM trying to finish the things I had planned for the yesterday. This morning is all about the productivity hangover.
Yesterday, like most days, I planned too much into the day. There was no realistic way I’d be able to get it done given the fact that time is not quite as flexible as I’d like it to be and that I don’t have one of those boxes from Primer.
When a problem comes along...
In working through this Personal Kanban project there is a question thing that has remained kind of an open issue for me the entire time. What about WIP? If you aren’t familiar with it, WIP stands for Work in Progress. In Kanban, the goal is to limit your work in progress in order to help maximize your throughput. Or, to put it more simply, you need to understand how much you can do at once before you start mucking things up. Once you understand that, you need to prevent yourself from taking on too much at once (and mucking things up). This also helps you understand how long it takes to get items through the system.
For the most part, the practitioners of Personal Kanban that I have spoken with have admitted that WIP is not something they pay much attention to. In speaking with them I did not dig too deeply on that topic at the time because it seemed to be non-critical. I was looking at WIP as a holdover from a more traditional approach to Kanban that had less relevance in Personal Kanban. Also, whether or not it is right or wrong, the items on my board are not sized in any way. Everything is the same, whether it is a writing a new Statement of Work, doing a load of laundry, finishing Clive Davis’s biography, or going through the legal steps of closing down a company. It is all just stuff I am trying to prioritize and do.
If you can dodge a wrench…
A few weeks ago I started working with an Agile Coach who was willing to take on the role of being my Personal Kanban Coach/Sherpa/Confessor. I am very fortunate that he was willing to take this on. The guy is brilliant and I have mad respect for him. I also can’t help but feel a bit bad for the guy. As far as being a coachee goes, I’m definitely having much with the room for optimization.
When I told him I told him I wasn’t really tracking my WIP I am pretty sure I heard him fall off his chair. The productivity guilt monster reared up and shamed me… so I recanted. I explained that I was tracking WIP …-ish. Which meant I had listed a number for WIP at the top of each of my columns and then I just wildly ignored that whenever the hell it seemed convenient…. Which was/is most of the time.
Putting the “fun” back in dysfunction
Shockingly, there are days when I can’t get everything done. Many times the reason is that I have other activities scheduled during time I would otherwise be working. I feel safe in the assumption that I am not alone in this. And yet for many of us, we somehow manage a level of delusion that permits us to plan to do work during the time we know we will be otherwise engaged. When this happens, we have these items, which we unrealistically planned, which cannot be completed on the schedule we put together. I have a master’s degree in project management and I’m deep with the Agile. I know how I am supposed to do this. I also know that how I am doing this is not healthy. I know it is not realistic. And yet it happens, over and over. I’m slowly becoming even more aware of how sharply fundamental an issue this is and how deeply and negatively it impacts my productivity. Because I do not have a clear and present awareness of my capacity and how to plan for that without exceeding it, I am always overfilling my bucket. When I am teaching people in a work setting about how to keep from doing this, it’s easy to explain. I even have a calculator I’ve made for folks to use to help prevent them from overcommitting themselves each Sprint. But on an individual level am I really supposed to size every single thing I do and plan for doing just that and no more? That’s just not realistic.
And suddenly, just like that, I’m one of “those” students. The ones who like the ideas behind Agile, but who really need to spend some time at the Wall of Won’t.
(The teacher in me would now like to take the student in me out back now for a quick kneecapping… just for good measure.)
Sadly, I do not have a card for that on my board.
I hate when that happens.
Sherman! Time for a new Experiment!
I believe that understanding my capacity at a daily level, and planning to meet, but not exceed that capacity will allow me to complete more work each day. I believe that getting more items to a done state each day, and not leaving a lot of unfinished work on the board will have a positive impact on my ability to get work done that will further improve my productivity. I also believe that if I do not plan to do more than is possible in a day I will be better enabled to get the rest I need to be as productive as possible in future day. This is all common sense. It’s been proven over and over. We all have that voice in our heads telling us that we are special, that we can do more, that we are not bound by the normal laws of time and physics.
Yeah… not so much.
To experiment with this I am going to run two tests. First, I’m going to try the easy one … estimating ideal time for the items in my list and then also estimate my capacity. It will involve some overhead because I am going to have to do this every day, but I will try it for a week to see what happens.
The second part, which will be more challenging for me will be to try breaking my work up into pieces that are small enough to track progress on a daily basis. I’m going to run this for two weeks and then report on it.
Next week I’ll be back to the topic of software for Personal Kanban.
Note: The link to the file has been updated. It can be found here. (3-4/13)
(This is an update to my 10/28/12 post on How to Avoid Overcommitment DuringSprint Planning. )
For awhile now I have been using an excel spreadsheet I put together to work out the calculations I detailed in the post on avoiding overcommitment. I have also been sharing it with the students in my CSM classes. I recently updated it so that the times allocated for the different Scrum meetings is in sync with the current version of the Scrum Guide and I thought it would be a good idea to post here just in case it can be of help to anyone.
In case you missed the earlier post, the intention of this calculator is to help individual team members on a Scrum Team gain a better (more true) understanding of the amount of time the can realistically commit/forecast to be able to contribute to the work the team will do during a Sprint. I have found this to be very helpful for teams who are struggling with understanding their capacity.
An example of how this could be used in s Sprint Planning is...
1. Once a Scrum Team has forecasted the amount of Story Points it can expect to get through during a given Sprint based on average historical velocity.
2. And defined tasks for all the stories.
3. And estimated the ideal engineering hours required to complete each individual task.
4. And totalled up the collective ideal engineering hours required to complete all the work they are forecasting to complete in the Sprint.
5. Each team member can use this calculator to determine how much time he/she can expect to be able to contribute in the Sprint.
6. Once each team member has come up with his/her number, you would total those up to get the total amount of ideal engineering hours the Team expects to be able to working during the Sprint.
7. If the value resulting from Step 4 is greater than the value from Step 6, then you may need to reconsider the amount of work your team is forecasting to complete in the Sprint, or modify the scope (and tasks) for one of the stories.
8. If the value resulting from Step 4 is significantly less than the value resulting from Step 6, you may need to consider adding some additional stories/work into what is being forecasted for the Sprint.
* Some teams I have worked with have taken the additional step of applying this technique by work type within a Sprint, i.e. Development, QA, UX, etc.
This work is licensed under Dave Prior is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.">Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
Awhile back I was working on an Agile coaching gig with Tom Smallwood. We were working with a team that moving to Scrum and was having a particularly difficult time meeting their commitments. Stories were being estimated in Story Points using the Fibonacci sequence and they were breaking stories down into tasks that were then estimated in ideal engineering hours. Stories were (mostly) small enough to go from card on wall to potentially shippable in about 2 days. Tasks were kept to between 4 and 12 hours. Unfortunately, despite following the basic guidelines we were giving them, they were still WAY over committing each Sprint.
Tom was the first one to notice that even though they were all confident in their ability to get the work done at the end of a Sprint Planning meeting, what they were confident about was in fact, completely impossible. What was happening was that each person was assumed to have a capacity of 8 ideal engineering hours per day. Since we were working in two-week iterations, this meant each person was on the hook for 80 hours of productive working time in a Sprint.
The way we addressed this initially was to ask them to plan for no more than 6 productive working hours per person each day. This helped, but it still wasn't cutting it. The problem was that each person had more that they were responsible for than just the project we were working on. (Yes, this is not ideal, but it was reality at the time.)
The solution we came up with was very simple and it is one I have used on every team I worked with since. It adds an extra step to the Sprint Planning ceremony, but it has been invaluable in helping teams understand their capacity and preventing over commitment.
(Disclaimer - this involves using relative Story Point Estimation for Stories and Ideal Engineering Hours for Tasks. There are many who do things differently and have great success - which is awesome... what follows is just what I have found to work well for me and the teams I've worked with.)
What we added was a step in the 2nd half of Sprint Planning. After the team has taken the User Stories (estimated in Story Points) and broken them down into Tasks (estimated in Ideal Engineering Hours), we would go around the circle and ask each team member to estimate how many ideal engineering hours he/she could commit to being responsible for in the upcoming Sprint. One of the most critical parts of this is the idea that the commitment being made is not to the PO, but to the other members of the development/engineering team. So, if I tell my team I'm good for 35 hours, then my team can count on me to be responsible for 35 hours of task work. If I commit to that and do not contribute that amount of time, my team members will have to cover for the work I've not done. While this should go without saying, I have found it to be helpful to mention when starting this part of Sprint Planning.
So, going around the circle, each team member has to be aware of how much time they can commit to contributing. This means they need to account for a lot of the things that get in their way.
Here is how I normally coach people to think through this:
In a two-week iteration, you begin with 10 working days. However, I normally block out 1 day for Sprint Planning, 1 day for the Sprint Review and Sprint Retrospective, 1/4 day for the 8 remaining days during which the team will hold a 15 minute daily standup and 1/4 day for an Estimation/Story Meeting. While blocking out 1 whole day for Sprint Planning and 1 whole day for the Sprint Review and Sprint Retrospective meetings is more than the Scrum Guide calls for, I have found that it is more realistic to working under the assumption that the team will get little else done on those days.
If the Sprint is 2 weeks long, we start with 10 working days. Once we block out the time mentioned above, we end up at 7.5 working days.
If we assume each person can be productive for a maximum of 6 hours per day, then:
6 hours/day * 7.5 days = 45
So, the absolute Maximum Possible Productive Hours (MPPH) for any individual in a two- week Sprint is 45 hours.
We then ask each person to total up the amount of time they expect to lose during the upcoming Sprint to the following events that are not part of the Scrum Framework:
- Standing Meetings - recurring meetings held each week that will keep them from working on the project
- Holiday/PTO - expected
- Vacation/Sick time - expected or averaged
- Medical/Dental/Other Personal Appointments - expected or averaged
- Emergency Fixes* - average time lost per Sprint to emergencies which require them to temporarily abandon their work on the project
- Misc. Additional Time - Any additional time they feel they should block out to address other issues, work or personal, which will inhibit their ability to contribute to the project during the Sprint
* Getting pulled away from a project to deal with emergencies that are not related to the project is a dysfunction that will impair the team's ability to realize the full benefits of Scrum. However, in several organizations I have worked with, it is a constant reality. When things break, and the money stops flowing, it's all hands on deck.
The total of the above is the Interruption Time (IT) that each team member must subtract from his or her MPPH. The amount of time left is the Revised Maximum Possible Productive Hours (RMPH).
If the individual is only working on a single project, then the RMPH is the amount of time that individual should feel comfortable sharing with their team members as their Committable Productive Time (CPT).
If the individual is split on multiple projects, then they should multiply the percentage of their time that is allocated to the project by the RMPH. They should then subtract an additional 10% from the result (for context switching) to get their Committable Productive Time (CPT).
Here is an example of the above...
- 4 hours standing meetings
- 8 hours PTO
- 3 hours for dentist appointment
- 5 hours average time lost to Emergency Fixes
- 5 hours subtracted because I will just be returning from overseas and I expect the jet lag to have a negative impact on my productivity for a few days
Interruption Time (IT) = 25 hours
- 25 (IT)
If I am split across 2 projects at 50% each...
-10% (context switching)
9 hours of Committable Productive Time
In talking through this, it is very common to see jaws drop. However, if each person on the team is doing this, then the team will have a realistic understanding of its' work capacity in a given Sprint. While the idea of having to tell someone responsible for your performance review that in a two-week period that you can only be counted on for 9 hours of time may be scary, it is honest. If we are practicing Scrum and sticking with transparency (one of the 3 legs of Scrum), and we are being responsible to our fellow team members, this is the most responsible, transparent thing we can do.
Once each team member has shared their CPT, they are totaled up and this is the Team's Committable Productive Time (TCPT). As long as the total number of estimated ideal task hours does not exceed the TCPT, then the team should feel comfortable making a commitment to the Product Owner for the Stories they will complete during the Sprint. If the number of estimated ideal task hours does exceed the TCPT, then the team may have to negotiate with the Product Owner to reduce the work being planned for the Sprint before they make a commitment.
I have also seen teams break things down even further into number of hours for development, testing, etc., but what is above is typically as deep as I go with it.
It adds an extra step, but it helps the team members inspect and adapt their own workload and capacity. This will also better enable them to meet their commitment in a Sprint; IMHO, the benefits of this far exceed the few extra minutes it will take for a team to make sure they are not overcommitting.