人月神话
布鲁克斯定律: 向一个已经延误的项目增加人手,只会使项目更加延误。
减少交流的方法是人力划分和限定职责范围
没有银弹。 现代软件系统中无法避免的内在特性: - 复杂度 - 一致性 - 可变性 - 不可见性
推动力: - 高级语言 - 分时 - 统一编程环境
银弹的希望: - 高级语言 - 面向对象 - 层次化 - 人工智能 - 专家系统 - 自动编程 - 可视化编程 - 程序验证 - 环境和工具 - 工作站 - 购买和自行开发 - 需求精炼和快速原型(不断抽取和细化产品需求) - 增量开发-增长 - 卓越的设计人员
团队组织的目标是为了减少不必要交流和协作量。为了减少交流组织包括了人力划分和限定职责范围。 慢性进度偏离是士气杀手,如果错过了一个 deadline,确保指定下一个 deadline 对于项目的成功而言,项目人员的素质、人的组织管理比使用的工具和采用的技术方法更重要
软件工程的特殊问题: - 如何把一系列程序设计和构建成系统 - 如何把程序或者系统设计成健壮的、经过测试的、文档化的、可支持的产品 - 如何维持对大量复杂性的控制