The Complexity Implementation Tangle
Using relative complexity in your estimation is quite an effective estimating technique. To do this you would normally associate a complexity score to each feature or story. The scale a lot of people used is based on the fibonnaci sequence where next n=previous (previous (n)) + previous (n). You start with 0 and 1 to obtain the following sequnce 1,2,3,5,8,13 etc. You assign points based on the relative complexity where a 2 point story would be roughly twice as complicated as a 1 point story. The power of this approach comes from the comparison - we seem to be naturally better at this than assigning absolute values.
If you take this approach it is very useful to measure how long each story took to implement. With this information in hand you can draw a picture similar to the following
On the top side of the diagram you have the complexity points, scaled appropriately. On the bottom side of the diagram you have implementation time again scaled appropriately. If you plot all of the features on the bottom in the correct position with regards to the time to implement them and draw a straight line back to the complexity point estimate [I know my picture above doesn't use straight lines, I'll update the post with a better example] you’ll end up with something along the lines of the diagram above.
In an ideal world all of the features that were estimated as 1 complexity point will have taken you less time to develop than those you estimated as 2 complexity points and so on. Where the lines tangle [cross each other] suggest where your estimation could be improved. Your retrospective can be used to address such issues.
No Comments »
No comments yet.
Leave a comment
About
My name is Peter Camfield and I’ve been developing software professionally for the last 12 years. My current role is focused on improving the quality of the code developed at the large media company I work for. We use agile methodologies to develop software and are aiming to be an industry reference site that is pushing the boundaries of quality in everything we do.
I have been using C# with .NET since version 1 of the framework. My current toolkit contains things such as NUnit, NCover, TestDriven.Net, NAnt, CC.Net, TeamCity, Rhino Mocks, NDepend, Simian, Gendarme, ReSharper and Nester.
-
Recent
-
Links
-
Archives
- August 2008 (2)
- July 2008 (6)
- June 2008 (6)
- May 2008 (7)
- April 2008 (2)
-
Categories
-
RSS
Entries RSS
Comments RSS
