posted by [identity profile] history-monk.livejournal.com at 11:21am on 28/01/2012
The long walk in the link is quite a decent analogy. The biggest problem with it is that the terrain is very much harder, and the real route longer, than the original estimate was based on. If the journey was on straight roads, the estimate would have been reasonably valid.

So how do you learn the terrain? Mostly by traversing it, and getting a feel for how hard it really is. But when you're estimating software development, it's always for a new route, because you've already written the code for the routes you've done. Except you didn't do it perfectly; this is where the analogy breaks down, because there are always bugs in the code you've already created.

Fixing those is maintenance, rather than development. The trick is to make things better as you re-work the routes, building chunks of paved road to fix bugs, rather than just chipping a step into a rock that's precariously balanced in position. To be able to do that, you need maintenance to be an accepted part of the way the business works, and a worthwhile activity, rather than "something that shouldn't be needed", to be bodged hastily. Making that happen is a problem in structuring the business, not a problem with estimating.

September

SunMonTueWedThuFriSat
  1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21 22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30