Estimation, Planning and Goals: All Different I Say!
Thomas M. Cagley Jr.
Audio – at www.spamcast.net!
Before we dive into this essay I must admit that I have been influenced with a high degree of immediacy and urgency by the interview with Phil Armour that begins in this Software Process and Measurement Cast. The impact may be due to my long-term issue with a how words are used and misused, false levels of precision or just the fact that the process relating to the software engineering disciplines like estimation continue to prove to be difficult to implement regardless of the development method used. In a nutshell you will see an influence and I must say a hardy thanks to Phil for the interview and to Bob Ferguson for connecting us.
Mention the topic of estimation to a group of project managers and software engineers and you will attract attention and maybe not positive attention. The topic of estimation elicits a wide range of emotions, opinions, and definitions and expectations. Unfortunately words are sometimes used loosely and estimates, plans and goals are used as synonyms. The expectation of the actions each words of evokes and their definitions are intertwined but they are not the same.
At a basic level I believe that everyone in the software development world understands that an estimate is an approximation of a future based on uncertainties and therefore inaccurate when compared to the final result of the project. Estimates are notional rather precise therefore as Phil Armour in the interview for the Software Process and Measurement Cast 34 states, “the words accurate and estimates are a mismatch”. Why then do we strive for estimation accuracy? The answer is that we are more interested in planning accuracy and because we have used the words as synonyms the water has been muddied. While related estimation and planning are not the same.
Adding a bit of complexity to the picture of estimation and planning lets toss a pinch of managerial aspirations. Managerial aspirations are better known as goals. Goals are can be interpreted as commands in strongly hierarchal organizations or as inspirational from a leadership point of view in others. In organizations where management has set a goal for a project (I want it by Thursday for five dollars) and that goal is interpreted as a command activities shift from the need for an estimate to the need for a planning. Planning activities include developing lists of tasks, allocation of resources and defining the order in which work will be done. Depending on where in the project life cycle planning is attempted it may well be termed estimation although it is a fundamentally different process with different outputs. As noted before in their basic form, estimates are built from data that is imperfect and or in some cases nonexistent. Plans are built on the premise that processes and the outputs they create are deterministic, if you do steps A, B and C with Joe, Frank and Cynthia you will end up at point D with output Y. Goals, estimates and plans are not the same. All required, but at different times and with different players, levels of emphasis and different paradigms.
Recognizing when and why a goal is needed, that an estimate focuses on the top line answers to how much it will cost and when it will be done and a plan is a roadmap of how the work will be done will make life easier. Software development, especially early in the life cycle isn’t in the least deterministic if for no other reason than that projects have large swaths of unknowns. So let’s stop confusing the terms and let’s remember you can’t have a plan that says “….and a miracle happens here” and early in the project life cycle you can’t have enough information to avoid that necessity. Goals, estimates and plans are not the same.