项目中的假设约束依赖和承诺是制定项目计划的时候要确定的内容。
项目假设是我们先说严格意义的和非严格意义的:严格意义是在当前时间点根据当前拥有的各种工具无法确定的事物或事件,而且这些事件会对你的项目造成影响。你的项目是在假设条件成立的情况下进行了。由于假设是不确定因素,所有项目的所有假设都是项目的风险,只是风险的严重程度不同而已,对于关键的风险应该转化为项目的风险,在后续进行风险的分析和跟踪。比如项目现状是没有测试人员,你可以假设项目在进入测试阶段的时候,能够招聘到两名技能符合要求的测试人员。同时可以将该条假设转化为风险,即可能存在无法招聘到测试人员,而影响测试和整体进度的风险。
另外还想说的是非严格意思的假设,比如我们经常和别人讨论问题时候爱说假设你的说法是正确的,这个应该说是一种非严格意思的假设,因为在当时这个点究竟他的说法是否正确是可以通过其它评估方法或工具进行判断的,是一个确认的事情,而不是远期未确认的一个预测性的事情。所以说对于根据自身或组织级的现有条件无法来评估的现在的某一个事物或事件。这也可以做为假设。在项目开始时候,我们可能并没有一套很体系化的评估和测评工具能够来测评我们每个项目成员的技能是否达到要求,所以可以做个假设,假设项目中的每个成员都达到了组织或项目要求的技能要求。
而约束,是指所有对你项目有制约性的内部或外部因素都可以做为约束。约束有技术方面的约束如系统的开发必须采用分布式技术,约束也可能是非技术性的,如项目的资源或成本方面的约束。约束应该是一个在项目过程中不会发生变化的客观因素,因此比如项目中有新员工技能不能满足要求这就不应该做为项目的约束,因为这个约束是动态变化的,在项目的进行过程中由于新员工技能的提高,这个约束可能就不会成立了。另外约束也可以转化为风险进行跟踪,如项目可能存在某项约束不能满足的风险。
项目的依赖和承诺都分为项目内部的项目外部的。依赖和承诺密切不可分。下游工序依赖于上游工序的产出物,而上游工序需要做出承诺在哪个时间点给下游工序交出工件。项目内部的依赖可以体现到进度计划的甘特图上面,我们在对任务进行排序并分析了任务的依赖关系后就可以根据网络图得出项目的关键工序以便安排项目资源。项目外部的依赖主要是项目中的某项任务需要外界提供相关的产出作为支持,如开发阶段任务需要一个其它项目提供的公用组件。由于外部依赖没有体现到项目进度计划中,而且外部依赖很多时候项目自身无法控制,所以外部依赖更应该通过专门的跟踪表进行跟踪,要提前多做相关的沟通和确认工作。
项目内的承诺是项目进度跟踪的一个重要内容,项目经理下达给项目成员的任务,项目成员接受了项目任务就默认的承诺能够在相关时间点完成该任务,项目经理就需要去跟踪和确认任务能否按时完成。而项目对外部的承诺则可能很多,如项目承诺在某个时间点给其它项目一个公用的接口,项目承诺在哪一天能够正式发布版本等。不管是项目对内或对外的承诺,最好都能够转化成Project具体的任务,这样方面项目进行跟踪和控制。