Projects typically involve many dynamic aspects, yet they're often constrained by finite conditions. These contradictory forces make it very difficult to determine with pinpoint accuracy the time and effort required. By using a set of proactive estimating techniques to scope, plan, and constrain your project conditions, you can dramatically improve your estimating practices, reduce and mitigate risks, and increase your project success rate.

Do you excel at predicting the time, funding, and resources your projects will require?

Whether your company aims to develop a new product or service, update an existing system, or launch a new Web site, these undertakings will require people, schedules, funding, resources, requirements, testing, revising, implementation, evaluation, and many other elements.

You may have seen this phenomenon already: projects are risk magnets. Why is that?

The possible reasons include the fact that projects typically involve many dynamic aspects, yet they're often constrained by finite conditions. These opposing forces make it very challenging to identify with great accuracy the time and effort required, and can result in many budget and schedule "collisions" during the life of the project.

When my clients or colleagues invariably ask, "How long do you think this effort might take?" I usually experience a knee-jerk reaction. Instinctively, a part of my brain that once excelled at solving math problems on timed quizzes goes into overdrive. "I know the answer!" it screams.

Yet, unless that project or task is something I've performed many times before - under very similar conditions each time, and with good records of my actual hours spent - providing an accurate estimate can be quite elusive. As I strive to imagine all of the stages and steps of a process, as well as fathom the unknown variables or things that could go awry, it's no wonder that I hardly ever guess 100% correctly, particularly for new endeavours.

Estimating Techniques Can Help Manage Risks

Did you know that estimating is an invaluable tool for anticipating and managing these project uncertainties?

When we can identify our cost and schedule requirements with relative precision, it reduces the risk of running out of time, resources, and budget during a project.

Yet with all of the emphasis we place on creating accurate estimates and bids, we still seem to have difficulty developing realistic predictions of our time and effort. If we look carefully at the evidence, I believe we'll find three basic, underlying clues to the reasons for our challenges with estimating:

  1. The presence of hidden or unknown variables that are difficult or impossible to anticipate, and sometimes even more difficult to resolve.
  2. Our often-idealistic views of our own capabilities. We frequently believe that we can achieve much more than is possible in the available time.
  3. A strong human desire to please other people by telling them what they want to hear. (After all, who wants to be the bearer of bad news?)

12 Tips for Increasing Estimating Accuracy

To remedy these shortcomings, below are 12 ideas for boosting the accuracy of your estimates:

  1. Maintain an ongoing "actual hours" database of the recorded time spent on each aspect of your projects. Use the data to help estimate future projects and identify the historically accurate buffer time needed to realistically perform the work.
  2. Create and use planning documents, such as specifications and project plans.
  3. Perform a detailed task analysis of the work to be performed.
  4. Use a "complexity factor" as a multiplier to determine whether a pending project is more or less complex than a previous one.
  5. Use more than one method to arrive at an estimate, and look for a midpoint among all of them.
  6. Identify a set of caveats, constraints, and assumptions to accompany your calculations, which would bound the conditions under which your estimates would be meaningful. (Anything that occurs outside of those constraints would be considered out of scope.)
  7. If the proposed budget or schedule seems inadequate to do the work, propose adjusting upward or downward one or more of the four project scoping criteria: cost, schedule, quality, and features.
  8. Consider simpler or more efficient ways to organise and perform the work.
  9. Plan and estimate the project rollout from the very beginning so that the rollout won't become a chaotic scramble at the end. For instance, you could propose using a minimally disruptive approach, such as a pilot programme or a phased implementation.
  10. In really nebulous situations, consider a phase-based approach, where the first phase focuses primarily on requirements gathering and estimating.
  11. Develop contingency plans by prioritising the deliverables right from the start into "must-have" and "nice-to-have" categories.
  12. Refer to your lessons-learned database for "20:20 foresight" on new projects, and incorporate your best practices into future estimates.

In conclusion, by using a set of proactive estimating techniques to scope, plan, and constrain your project conditions, you can dramatically improve your estimating practices, reduce and mitigate risks, and greatly increase your project success rate!

12 Tips for Accurate Project Estimating的更多相关文章

  1. .NET 5学习笔记(12)——WinUI 3 Project Reunion 0.5

    2021年3月的时候,Win UI 3终于来到了第一个稳定的支持版本,可用于创建发布到Micosoft Store的应用.据某软的说法,这个叫WinUI 3 Project Reunion 0.5的版 ...

  2. A Guide to Creating a Quality Project Schedule

    Successful projects start with a good quality project schedule. Creating a schedule is one of the fi ...

  3. Deploy .Net project automatically with MsBuild and MsDeploy (1)

    Q: How to change parameter values in configuration files dynamically In the first section http://www ...

  4. maven build时报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test

    [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ ...

  5. maven install时报错 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test)

    今天在一个maven项目上执行maven install命令的时候一直报错,错误信息如下: [INFO] ----------------------------------------------- ...

  6. git 打包报错:Maven Build时提示:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test

    1.使用git 升级 服务命令 mvn  deploy -e 之后报错: Failed to execute goal org.apache.maven.plugins:maven-surefire- ...

  7. P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

    P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1       May ...

  8. usbip install

    # README for usbip-utils## Copyright (C) 2011 matt mooney <mfm@muteddisk.com>#               2 ...

  9. elasticsearch容量规划

    https://docs.bonsai.io/article/123-capacity-planning Capacity Planning Capacity planning is the proc ...

随机推荐

  1. 分布式流式处理框架:storm简介 + Storm术语解释

    简介: Storm是一个免费开源.分布式.高容错的实时计算系统.它与其他大数据解决方案的不同之处在于它的处理方式.Hadoop 在本质上是一个批处理系统,数据被引入 Hadoop 文件系统 (HDFS ...

  2. AndroidのUI体验之ImmersiveMode沉浸模式

    4.4带来了新的api——ImmersiveMode,可以使用户进入沉浸模式,享受更好的用户体验. 打开沉浸模式: /** * Detects and toggles immersive mode ( ...

  3. BZOJ3994: [SDOI2015]约数个数和

    Description  设d(x)为x的约数个数,给定N.M,求     Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组数. 接下来的T行,每行两个整数N.M.   O ...

  4. 泛型,动态创建List<T> (转摘)

    第一种: static void Main()        {            object intList = MakeList(typeof(int), 1, 2, 3);         ...

  5. C++ Get Current Time 获取当前时间

    在做项目中,我们经常需要获取系统的当前时间,那么如何获取呢,参见下面的代码: /* asctime example */ #include <stdio.h> /* printf */ # ...

  6. git实用攻略

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 下面是实用教程,免基础. 一.安装git https://git-scm.com/downloads 二.git创建 ...

  7. Html - Footer

    通用的Footer代码片段 <style> #footer { padding: 20px; text-align: center; background-color: #666; bor ...

  8. Jersey MVC

    Jersey是JAX-RS(JavaAPI for RESTful Service)标准的一个实现,用于开发RESTful Web Application.可以参考JAX-RS的介绍(http://w ...

  9. [学点英语]扎克伯格给女儿的信,translation of zucherber's letter to her daughter( Chinese version)

    A letter to our daughter 扎克伯格写给女儿的信   Mark Zuckerberg·Tuesday, December 1, 2015 Dear Max, 亲爱的玛克斯 You ...

  10. [学习笔记]ESXI学习记录

    vmware workstation环境下,可以为虚拟机添加多块网卡.在虚拟机上单击右键,settings 界面,选中network adapter,然后通过custom选项,可以将多个不同的虚拟机使 ...