● 各个用例的实现都保持一致。
缺点
● 拥有前两种方案的缺点。
● 多面手仍然很难找到。
● 专家们仍然不能认识到其他专家的工作并且无法很好地协作,尽管这应该由多面手来调节。
● 项目管理仍然很困难。
成功因素
● 项目团队成员需要良好的沟通。
● 需要确定公共体系结构。
● 必须适当地定义公共流程、标准和准则。
项目团队士气是项目成功的一个因素
大部分项目成功的定义说的是项目如何按时完成、是否在预算内以及是否满足用户的需要。但是,在如今要找到好的软件专业人员都非常困难,更不用说留住他们的这种情况下,还需要将项目成功的定义扩展为包括项目团队的士气。可能在努力完成一个软件项目后,不料却因为压榨他们过度而失去了重要的开发人员,这样做可能会符合组织的短期需要,但它对构建一个高效的软件部门的长远利益来说肯定是有害的。衡量项目成功与否的一个重要手段是项目结束后团队的士气。在项目结束之际,项目团队的各个成员是否觉得他们从自己的经历中学到了一些知识、是否喜欢为这次项目工作,以及是否希望参与组织的下一个项目都是非常重要的。
项目规划技巧
项目计划技巧对于现今的软件开发人员来说是必需的。这里有一些帮助您有效地计划下一个项目的建议。
认识到信心来自规划的过程,而不是计划本身。
创建项目计划会迫使您早在编写代码之前就考虑如何构建您的系统——减少项目的风险,因为您已经考虑了各种策略和方法并且已经选择了最有意义的一项。您的目的不应该只是不花气力产生一个计划;它应该是一个实际可行的计划,您可以根据它来成功管理您的项目。
软件过程推动计划的开发
每个软件过程都有一个不同的集合,它包括组织团队的活动方法以及规划项目常用的技术。由于这个原因,基于 Rational Unified Process (RUP)的项目规划不同于OOSP项目的规划,而OOSP项目的规划也不同于eXtreme Programming (XP) 项目的规划。不同的过程有不同的计划。
从粗粒度的计划开始
在项目将要开始时,应该制定一个粗粒度的、确定项目高级活动和预期里程碑的计划。粗粒度的计划将组织成迭代——根据项目的大小和性质,每次迭代通常在三周到八周之间发生(四周到六周为更佳)。其中一些迭代将集中在项目初期,而很多迭代将集中在整个应用的功能部分开发,还有一些迭代集中在将您的系统转变成产品。
实施者应该是计划人员
创建项目计划的最佳人员是负责实施该计划的人员。当规划由一个人创建而由另一个人实施时,如果项目不能按时完成或超出预算,他们不太会相信计划,而很有可能会责备它。也就是说,参与项目的每个人都应该投入到项目计划的开发和进展中。
不要忘记“不该忘记的事”
计划不仅要反映需求设计、建模、编程和测试的“真实”工作,而且还应该反映辅助活动(然而仍是重要的),它包括:休假和法定假日、培训和教育、项目管理活动(如规划和人员管理)、开销(如系统当机时间、会议和回复电子邮件)、体系结构定义、测试之后的系统返工、系统交付、与重用相关的活动(如普遍化 )。
将任何设想和约束编入文档
规划时您总要作一些假设,如能够及时获得应用程序服务器的新发行版,或可以得到熟悉您正在应用的技术和技巧的开发人员。同时,您将在一些约束下工作,如影响计划的强制截止期限或资源限制。将这些假设和约束编入文档,这样,当您实施项目的任何时候更新计划时,都可以记起您先前做出的一些“不寻常”决定。
认识到不同的资源意味着不同的计划
十名有经验的开发人员组成的团队创造出的成效要远远多于十名初学者组成的团队所创造的成效。要想更加实际