It is hard to admit that you don't know something - this is human nature. But a lot of the time, the pressures mount up.
CFO: "Ronald, we need the product to be done asap, when do you think it can be ready?"
Me: "well, I can tell you when we will finish, but I will not know exactly what will be done" (I don't know)
CFO: "Huh? Aren't you the expert? We pay you for being the expert, so spit it out"
Now - ask yourself - what kind of consultant are you? Will you eventually cave in to the pressure and call out a number? Or do you dig your heels and persist in 'I don't know'. If you call out a number; please be reminded that the software graveyard is strewn with the carcasses of partially completed projects that were three to five times larger than anyone dreamed1.
There is a subtle difference between speed and progress. You can drive with 200 miles per hour, but without a map, your progress will be zero. In other words, you need some kind of 'map'/plan and some kind of thoughtful analysis of the problem you wish to solve.
But even so, a plan is just what it is; 'a plan'. THE PROJECT WILL NEVER GO ACCORDING TO PLAN. Why; because most plans I come across envision some kind of fixed end-result. This end-result is often described by means of requirements. Even if we were to embark on a monumental requirements gathering process where we interview all people involved and write down all quality attributes, we would still not have a complete requirements specification that covers the quality demands of our business users (simply because they themselves do not fully comprehend them2). But apart from that; such an elaborate process simply isn’t attainable.
1 Humprey - Managing the Software Proces - 1990
2 Which is especially true for data products where the future use of the data is - by definition - not fully known
3 M.Cohn - Agile estimating and Planning - 2006
Comments