Search This Blog

Friday, October 31, 2014

Adapting Scrumban to Personal Productivity

Agile approaches to product development and project management are growing exponentially. I have been a proponent of the lean approaches even at my house chores and recently found that such approaches were discussing even in the Agile 2014 conferences. Unlike Scrum’s requirements to have self organized teams with timeboxed iterations within which changes are generally frozen and disallowed, the project management approaches do not rejoice the dedicated team. Often, the members may be spread across multiple projects similar to project managers having multiple projects. So, how do we manage time effectively in multi-project and program initiatives?

An approach that I have found useful is adopting Scrumban to proactively manage myself and build on the team’s innate strengths to empower themselves to do better. Sounds great, but how? Let me explain.

Scrum
Kanban
1.       Scrum focuses on timeboxed iterations with self-organized cross-functional teams.
2.       Team decides on what can be accomplished in a 2-week sprint and emphasizes continuous improvement by retrospectives
3.       Customer representative is expected to be sometimes on-site and be multi-functional with skills in product, project, account, technical, business analysis, etc.
4.       Measure of progress is working software delivery

1.       Team visualizes the workflow in queue
2.       Anyone can pull (i.e., take) any task that is in the queue
3.       Tasks are generally not dependent
4.       Balances work in progress
5.       Reduces waste between tasks

In traditional project management where resources are not procured for the duration of the project or in balanced matrix organizations where projects inherently face wait times, such as in regulated and construction industries, the project team may not be multi-functional. Therefore, it is not possible for any member of the project team to take on any project or tasks within the project. For instance, can a tester write code? Can a database architect develop deployment requirements? Can a project manager be a business analyst? While technically these are all possible in high performing organizations, other organizations may not have resources that have multitude of skills where roles can be effectively merged eliminating waste.

Here is where Scrumban comes to help. It combines the best of both the Scrum and Kanban worlds. Tasks become fairly structured (design a program overview, develop the stored procedure, test interactive voice response for a specific Voice XML flow, etc.) to be executed by anyone within a specific group. The group or functional leader is entitled to provide the guidelines and process direction for continuous improvement reducing cycle time increasing predictability in productivity. Example, regardless of who develops the program or tests the campaign, in the given service level agreement of 5 days, the program will be developed or tested. Yet, workflow need not be limited changes only between iterations thereby allowing new tasks to be created eliminating wait time and allowing the team to prioritize projects.


While Scrumban is great alternative where neither Scrum nor Kanban can be effectively applied, I found out that I can use it to manage myself to be productive better in multi-project, program, and portfolio management. I have illustrated this in the above figure. From my point of view, the team is the expert and I am just a facilitator. So, when the team has been provided a task, it is in progress (Yellow sticky). Now, what am I doing when the team is working on it?

I don’t need to hold a meeting to check on progress – that’s project management by unnecessary meetings. But, I shift my gears to what the team may be requiring next – eliminating all ambiguity for the potential next task. As a project manager, I focus on the upcoming milestone working a step proactively ahead (Blue sticky) and work with the stakeholders to get that ready so that when the work in progress is done, I am servicing the team with the next unambiguous task. This comes in handy when the team is virtually distributed because in such cases where communication needs to be both pull- and push forms, I got time to over-communicate! This is an example of what I label as 6P principle (Proper proactive planning prevents poor performance!)

Now, the more I work at this the more effective I become and so I work another step – 2 steps ahead – and work with the client, product, account or other teams to push them to deliver on their deliverable ahead so that there is no impact to critical path (Green sticky). I stop at 2 steps only because in my mind I am 1 sprint ahead and my agility hat tells that there may be change coming that I need to prepare for.


Let us take it to the next level. May be the green sticky (Product, account, client, or other teams) can’t do anything because they are waiting on something else. Then, so much of time becomes unfrozen. Immediately, that means productive hours can be provided to another project. This is an approach to doing more with less. This next project could be part of the same program, product, portfolio or a totally different project for a different client or even developing a hobby, helping another team member, writing this article, or dedicating time for a cause. 

This is an approach I have used to timebox all the incoming work so that within the given time available, I am still able to keep multiple things moving!