1、 客户的权利
设定项目的目标,使项目朝目标进行。
了解项目软件花费的时间和成本。
决定产品的功能。
了解需求变更的代价。
清楚可靠的了解项目的进展状态。
经常了解项目的风险,做出最基本的选择。
可以查看项目中已经完成的部分。
2、 开发小组的权利
了解项目的目标,清楚各个目标之间的优先度。
了解产品的细节,理清不明白的地方。
随时让客户、主管等其他决策负责人了解项目已经完成的部分。
以技术上负责任的方式完成项目中的各个阶段的工作,特别是不要因为压力提早进入项目的程序编写阶段。
估计所完成工作需要的时间和努力程度。
向客户和上级报告项目的进展情况。
获得一个安静的工作环境。
3、 软件开发的程序
记录所有的需求。
在项目初期就制定系统的质量保证计划,包括测试计划,审查计划和错误追踪计划。
在需求分析,架构选择,详细设计与实际编码等重要过程后,重新评估项目的成本和时间。
一个对开发程序漠不关心的项目会让开发人员觉得他们的所有时间都花费在开会和修改错误上了,而不是用来加强软件的质量。
4、 最粗糙的开发程序的方法
讨论写出什么样的程序。
写出程序。
测试程序,找出缺陷。
除错,找出错误根源。
修正缺陷。
5、 项目规划的目的
项目规划反映项目的进行方式。
项目评估给出项目规划的基础。制定明确的预算上限,人员需求和时间需求。
一份包含技术审查和测试的质量保证规划,保证系统不被代价高昂而找不出错误的测试、除错和修正周期压垮。
6、 软件业界的经验是,在项目初期的估计或多或少,会跟实际的要求差距达四倍。
7、 项目控制的定义
选用一种软件周期模型,给项目中技术性工作一个轮廓框架。
管理需求的改变,只接受必要的改变。
确定设计与程序写作标准,使设计方式与源代码以彼此一致的方式进行。
建立项目的细节规划,使每一名项目人员的开发工作朝项目目标进行而不会妨碍其他人的工作。
软件开发的最佳方式是:透过“阶段性完成”的做法,将产品的功能分阶段完成,而最重要的功能最早完成。