Tuesday, 19 March 2013
London Lean Kanban Day March 2013 Part 1
Well, it makes a change for me to get out and listen to the great and the good of the Lean thinking world. The first Lean Kanban day in London, provided me with a good opportunity.
The line up was impressive, and I have to say I enjoyed the speakers and came away with some renewed vigour.
I will endeavour to cover the main points I found interesting in these posts.
I'm going to to a post per speaker, and then maybe do a round up. That said, I may well change my mind half way through!
First up was Mike Burrows with a general take on getting started with Kanban.
This was the start of the "Big Thing" that I would be taking away. Understanding queuing, and the affect this has on our throughput. Whilst I have paid "lip-service" to WIP Limits, I have to say, I have struggled to convince people of the effectiveness. Perhaps that's because I hadn't been convinced enough to stick firmly to them, and therefore haven't been effective in convincing others.
Mike referred to Little's Law. Sorry it's a link to Wikipedia, but it's a place to start.
Now, I haven't read up on this fully yet, but there seems to be some mathematical truth kicking about here. I've had WIP limits demonstrated by playing manufacturing games, but that isn't software development. However, there were some other arguments in store for me.
Slides are here
Monday, 11 February 2013
Story sizing and the "Uncertainty Principle"
I often have conversations with Teams about sizing, and more and more, I come back to uncertainty being perhaps the most important gauge for sizing.
We use Fibonacci numbers, and when asked by people, "How do I size a story?", I go something like this...
1 - is the smallest size, and a 1 story has the characteristics of being quick to implement as there isn’t much coding involved AND we are certain about what needs changing and the impact.
2 - may need more work, but it is still well understood and we are still certain about what needs changing and the impact.
3 - we are introducing some uncertainty. We pretty much know what to do, and we know it’ll take a few days, but there is a greater risk of unknown factors impacting the work.
5 - we have a fair idea what to do, but we are likely to uncover some problems and so we are not certain about completing within a few days.
8 - there is a lot of uncertainty. It may well be best to create a “spike” story to work out what needs doing, and break in to smaller stories when we know more.
Yes, we can add in other factors, and as teams become more experienced, they bring in more subtlety, but this seems a good starting point.
Thursday, 3 May 2012
No Sh*t Sherlock...
I'm well behind this piece by Simon Baker #ewnobull
http://nobull.energizedwork.com/
It is spot on in a number of ways, or at least it chimes with my own experience and observations over the last decade.
There is a lot of "Agile" being practised, and not enough agile thinking.
Well worth a read.
Thanks to Marta Jasinska for showing me this.
Thursday, 24 November 2011
Over Committed to Commitment
Interesting post by Yuval Yeret http://yuvalyeret.com/2011/10/13/scrum-sprint-commitment-rant/
There's a lot in there, but what resonates with me is the danger in commitment becoming at best a "comfort blanket" for product owners, at worst a stick to beat teams with.
Developers seem to be a willing bunch, and often (in my experience) are too eager to please. Now that shouldn't be a bad thing, but it is when you commit to something that you cannot deliver. It easy to skip over the risks in any piece of development work when estimating, and risk is a very hard sell to the business. "Why are you asking me to invest in anticipating problems that might not occur?". Tricky one that.
So, we settle on the "Best Case" scenario as the likeliest outcome. Inevitably, the team will soon be trapped on the "Hamster Wheel of Death", never able to meet the "commitment".
What really matters to me is prioritisation. What gives the business most value, and how can the team best use their resources to ensure swift delivery of that value?
Rather than committing to a fixed number of points, commit to delivering the highest priority item as quickly as possible. Then do the same for the next item. Focus on rapid and continuous delivery of value, and you will feel the love.
There's a lot in there, but what resonates with me is the danger in commitment becoming at best a "comfort blanket" for product owners, at worst a stick to beat teams with.
Developers seem to be a willing bunch, and often (in my experience) are too eager to please. Now that shouldn't be a bad thing, but it is when you commit to something that you cannot deliver. It easy to skip over the risks in any piece of development work when estimating, and risk is a very hard sell to the business. "Why are you asking me to invest in anticipating problems that might not occur?". Tricky one that.
So, we settle on the "Best Case" scenario as the likeliest outcome. Inevitably, the team will soon be trapped on the "Hamster Wheel of Death", never able to meet the "commitment".
What really matters to me is prioritisation. What gives the business most value, and how can the team best use their resources to ensure swift delivery of that value?
Rather than committing to a fixed number of points, commit to delivering the highest priority item as quickly as possible. Then do the same for the next item. Focus on rapid and continuous delivery of value, and you will feel the love.
Monday, 14 November 2011
Putting the agility back in Agile
Ok, I don't get around to writing much here, but I have been on a bit of a journey. Having been working with Scrum for many years, I have, over the last 18 months or so, begun to question it's effectiveness. No, let's re-phrase ... Scrum IS effective. It will (if done anything near properly, which isn't usually the case I'm afraid)surface the issues that you have with delivering software. Whether you choose to do anything about those issues seems to be optional with many teams, which makes the exercise a bit pointless. This is the where many then start complaining that Scrum doesn't work.
Scrum does work. It will get you from delivering sod all, to delivering something. That is an achievement, so don't knock it!
However, it is possible to deliver more, and that is where you begin to run in to it's limitations.
What if I want to deliver more often than every 2-4 weeks?
What if my business priorities change weekly or daily?
What if I am spending too long in planning sessions?
Dan North gave a talk which captured many of the reservations I've been having, and offered some possibilities. Have a look and listen.
http://vimeo.com/channels/rootsconf#24681032
Scrum does work. It will get you from delivering sod all, to delivering something. That is an achievement, so don't knock it!
However, it is possible to deliver more, and that is where you begin to run in to it's limitations.
What if I want to deliver more often than every 2-4 weeks?
What if my business priorities change weekly or daily?
What if I am spending too long in planning sessions?
Dan North gave a talk which captured many of the reservations I've been having, and offered some possibilities. Have a look and listen.
http://vimeo.com/channels/rootsconf#24681032
Friday, 7 January 2011
Heads up!
Wow, it's been a while, but I finally have a bit of time to get back to this stuttering attempt at blogging.
Something that I have come across with teams and maybe others have experience of this, is the need for teams to make sure that they are aware of where they are in terms of the sprint.
Scrum, for example has the basic mechanisms for informing us how we are progressing. The burndown should be on a nice angle downwards, and our stand up questions should indicate if anyone is having issues. But does the team, as a whole, have a good feel for how the sprint is panning out?
I ask this because as an ex-developer, I know how easy it is to immerse oneself in the coding and become a little island.
One thing I like to do is get the team to take a step back and take a good look at the the Scrum board. After a stand up, once you're in to the sprint (but not so it's too late to fix things!) have a look at where the cards are. Do things look ok? Are the top priority items getting done? Will there be time to test and fix?
If not, the team can think about how to deal with things. Maybe switching themselves around a bit to help with blockages.
Now - before you tell me this should automatically happen with the stand ups etc, what I find is that you can sometimes surface things that the 3 question format may have missed.
I also like to remind everyone to lift their heads up occasionally and see how evryone else is doing.
Agile development should be collaborative, but sometimes, as individuals, we drift in to isolation. All I am saying is that it doesn't do any harm to say, "heads up!" now and then.
Something that I have come across with teams and maybe others have experience of this, is the need for teams to make sure that they are aware of where they are in terms of the sprint.
Scrum, for example has the basic mechanisms for informing us how we are progressing. The burndown should be on a nice angle downwards, and our stand up questions should indicate if anyone is having issues. But does the team, as a whole, have a good feel for how the sprint is panning out?
I ask this because as an ex-developer, I know how easy it is to immerse oneself in the coding and become a little island.
One thing I like to do is get the team to take a step back and take a good look at the the Scrum board. After a stand up, once you're in to the sprint (but not so it's too late to fix things!) have a look at where the cards are. Do things look ok? Are the top priority items getting done? Will there be time to test and fix?
If not, the team can think about how to deal with things. Maybe switching themselves around a bit to help with blockages.
Now - before you tell me this should automatically happen with the stand ups etc, what I find is that you can sometimes surface things that the 3 question format may have missed.
I also like to remind everyone to lift their heads up occasionally and see how evryone else is doing.
Agile development should be collaborative, but sometimes, as individuals, we drift in to isolation. All I am saying is that it doesn't do any harm to say, "heads up!" now and then.
Tuesday, 20 October 2009
Scrum doesn't work with fixed cost projects!
I have heard many project managers say "Scrum doesn't work with fixed cost projects!" when discussing approaches to software delivery.
I have pondered this and found that it is a difficult issue to solve.
My current thinking, is that the statement is kind of true.
But before you all jump up and down and protest... I think that the statement is true (in a way), but perhaps the "fixed cost" bit is actually what is wrong. Not Scrum.
Why do projects have to have a fixed cost? In order to "fix" cost, you have to estimate the project down to the finest detail up front. Trouble is, such estimates are always wrong. So you will end up either running over budget, or working late for free, or reducing functionality, or even quality.
So why insist on a fixed price? Why not get a clear set of high level goals, with an approximate release plan, with milestones as guides.
Get a rough cost, and release funding in small chunks, re-assessing at every milestone. You can react to changes in scope & requirements with out storing it all up and fighting the fire at the end of the project.
Am I being too simplistic?
I have pondered this and found that it is a difficult issue to solve.
My current thinking, is that the statement is kind of true.
But before you all jump up and down and protest... I think that the statement is true (in a way), but perhaps the "fixed cost" bit is actually what is wrong. Not Scrum.
Why do projects have to have a fixed cost? In order to "fix" cost, you have to estimate the project down to the finest detail up front. Trouble is, such estimates are always wrong. So you will end up either running over budget, or working late for free, or reducing functionality, or even quality.
So why insist on a fixed price? Why not get a clear set of high level goals, with an approximate release plan, with milestones as guides.
Get a rough cost, and release funding in small chunks, re-assessing at every milestone. You can react to changes in scope & requirements with out storing it all up and fighting the fire at the end of the project.
Am I being too simplistic?
Subscribe to:
Posts (Atom)