Running an organization without access to relevant and pertinent performance metrics is like driving a car without any instrument. The more inspiring the final goal and challenging the deadline, the more key stakeholders are tempted to compromise on best principles of planning, management and control. Yet, it is critical to measure project performance for cost and schedule objectives, process improvement activities for business maturity objectives and system performance and desired outcome measures for our Return on Investment (ROI) objectives.
Credit: Flickr – Umer Ahmed Khan
Hard indicators are facts that can be measured directly, whereas soft indicators are less tangible conditions that must be measured indirectly. The time it takes to execute a task or how much it costs are typical hard indicators. Quality, expressed as customer satisfaction of needs, is one example of typical soft indicator. Hard indicators are by far more widely used; soft indicators are seen by many as being so inaccurate that they are rarely useful. As Deming (1986) stated, the most important numbers are often unknown. Management by numbers is one of the deadly diseases that have ruined many enterprises. Planning for the unknown or the importance of a detailed upfront scoping process is one of the major critical success factors for a project.
The success of any software project largely depends on effective estimation of project effort, time, and cost. Estimation helps in setting realistic targets for completing a project. The most important estimation that is required to be fairly accurate is that of effort and schedule. This enables you to obtain a reasonable idea of the project cost. If the team starts fully aware of the likely reasons schedules fall apart and takes some actions to minimize those risks, the schedule can become a more useful and accurate tool in the DEV process.
Schedules are a kind of prediction. Good schedules come only from a team that relentlessly pursues and achieves good judgment. There is no magic formula or science for creating perfect schedules. Schedules don’t have to be perfect. Schedules need to be good enough for the team to believe in, provide a basis for tracking and making adjustments, and have a probability of success that satisfies the client, the business or the overall project sponsor. Good work estimates have a high probability of being accurate.
Good estimates come from good designs
Good engineering estimates are possible only if you have two things: good information and good engineers. If the spec are crap, and a programmer is asked to conjure up a number based on an incomprehensible whiteboard scribbling, everyone should know exactly what they are getting – a fuzzy scribble of an estimate.
There are known techniques for making better estimates. The most well-known technique is PERT, which tries to minimize risks by averaging out high, medium and low estimates. This is good for two reasons. First, it forces everyone to realize estimates are predictions, and that there is a range of possible outcomes. Second, it gives project management a chance to throttle how aggressive or conservative the schedules are.