Archive for category Project Management
From Scrum to Kanban – good and bad reasons to switch…
Posted by AntonyMarcano in Agile, Project Management on July 8, 2010
This originally appeared on my old blog in February 2009.
There are, IMHO, some good reasons and some bad reasons to consider switching from Scrum to Kanban… or for considering Kanban over Scrum as a starting point for ‘going Agile’ (so to speak)…
‘Good’ reasons for considering Kanban are…
- Wanting/needing more visibility of specific development process constraints (bottlenecks) than Scrum gives you (Scrum shouts “there’s a problem!”, Kanban points at where the problem is)
- Kanban can avoid waste of stories not filling a Scrum sprint (although finishing ‘early’ can allow teams to make improvements they might not otherwise have afforded themselves)
- Kanban can focus teams on vertical stories from the outset whereas new Scrum teams seem to start with horizontal slicing.
‘Bad’ reasons to choose Kanban over Scrum are…
- Wanting to say you are “Agile” without really changing your development process
- Because using Scrum is exposing rigidity and brittleness of software that is the output of your development process and wanting to hide that behind Kanban words like cadence
- Hiding impact of speculative design behind Kanban work-items when it fails in Scrum because the work never seems to fit into a Sprint, spilling the story over multiple sprints
(by speculative designs I mean implementing architecture that is more than is necessary for current valued-work-item)
For a team that has legacy development practices, producing legacy code for which it simply isn’t realistic to do incremental and iterative development but wants gradual and continuous improvement… I think Kanban is perhaps a better place to start. Your first ‘work-item’ may take 3 months… but it’s an honest 3 months! The trick is to make continuous improvements to gradually increase the tempo of your delivery.
If a team needs to suffer the pain – that comes from seeing that no matter how hard you try you simply can’t fit the implementation of even the smallest feature into one month – before it realises it has a problem… Then maybe Scrum is the better place to start.
Whichever you choose, I hope you choose the right approach for you, for the right reasons
MARTA – Risk Management… beyond mitigation
Posted by AntonyMarcano in Business, Project Management on July 8, 2010
Originally posted on my old blog in November 2009:
In a previous rant about the misuse of the term mitigate in the context of risk management I listed the following strategies (I call them MARTA) for managing a given risk:
- Mitigate – Reduce the severity of its impact
- Avoid – Don’t do the thing that makes the risk possible
- Reduce – Make the risk less likely to happen
- Transfer – Move the impact of the problem to another party (e.g. insure such as paid insurance or outsource with penalties for failure)
- Accept – Do nothing or set aside budget to cope with the impact
I recently found myself having to explain this and used the analogy of crossing a busy road with fast-moving cars. What’s the risk? Well, you might get hit by a car.
This will probably be more useful if you take a moment to think of a busy road with fast moving traffic that you know of and then use each of the above strategies to identify different ways of managing the risk. What factors would be significant in deciding on which strategy (or combination of strategies) was the way to go?
Ok, now that you’ve had a chance to think about it, here is what I came up with:
- Mitigate – Walk down the street until I can find a section of the road where there is a 20mph speed restriction. (This is mitigation because I’m not necessarily making it any less likely that I’m hit, but if I am hit the ‘impact’ is reduced – i.e. I’ll probably live – albeit with injury).
- Avoid – I could simply not cross the street, by deciding that whatever is on the other side simply isn’t that important or I could use an underground subway (which of course has other risks associated with it depending on the area you’re in).
- Reduce – Find a stretch of road where there are fewer cars – reducing the probability of being hit by a car.
- Transfer – Get someone else to cross the street, maybe someone more skilled at crossing the road than me.
- Accept – Now, if it was a busy street, I wouldn’t ‘accept’ the risk. But, if the road allowed for lots of visibility and there were very few cars and there were speed bumps slowing the traffic down to 10mph then I might just accept the risk.
The person I explained this to found this to be a useful exercise in understanding my views on risk management – beyond mitigation. Hope you find this way of explaining it useful too.
Antony Marcano is a consultant in software craftsmanship, effective software processes, software quality and software testing. He has over fifteen years experience with... 