跳转至

34 项目进度安排

说明

本文档由 AI 生成

这一章(Chapter 34: Project Scheduling)是项目管理知识体系中的“落地”环节。如果说上一章(Ch.33)解决了“需要多少资源(估算)”的问题,那么这一章就是解决“如何在时间轴上安排这些资源(进度计划)”的问题。

这一章的逻辑非常清晰,遵循了从**问题识别**到**原则确立**,再到**具体方法**和**监控手段**的递进关系: 1. 首先**分析了项目延期的常见原因,强调了进度计划的重要性。 2. **其次**提出了进度安排的6大原则,并探讨了工作量与交付时间的非线性关系。 3. **核心部分**详细介绍了如何定义任务集(Task Sets)、精化任务(Refinement)、构建任务网络(Network),以及如何使用甘特图(Timeline Charts)进行可视化。 4. **最后**重点讲解了两种高级监控技术:**关键路径法 (CPM) 的概念(隐含在任务网络中)和**挣值分析 (EVA)** 的具体计算方法。

以下是为你整理的详细笔记(Markdown格式),专有名词后均已附上英文对照,非常适合用来复习备考。


📅 软件工程 Chapter 34: 项目进度安排 (Project Scheduling)

1. 项目延期的常见原因 (Why Projects Are Late?)

  • 不切实际的截止日期 (Unrealistic deadline):由软件开发组外部人员制定。
  • 需求变更 (Changing requirements):且未反映在进度变更中。
  • 诚实的低估 (Honest underestimate):低估了所需的努力或资源。
  • 未考虑的风险 (Unconsidered risks):可预测或不可预测的风险。
  • 技术/人为困难 (Technical/Human difficulties):无法提前预见。
  • 沟通不畅 (Miscommunication):导致延误。
  • 管理失职 (Management failure):未能识别项目落后并采取纠正措施。

2. 进度安排的六大原则 (Scheduling Principles)

  1. ** compartmentalization (分解/分隔)**:定义明确的任务。
  2. Interdependency (相互依赖性):标明任务之间的关系。
  3. Effort validation (工作量验证):确保资源可用。
  4. Defined responsibilities (职责明确):必须指派人员。
  5. Defined outcomes (结果明确):每个任务必须有输出。
  6. Defined milestones (里程碑明确):用于质量评审。

3. 工作量与交付时间的关系 (Effort and Delivery Time)

  • 公式 (Formula)\(E_{a} = m(t_{d}^{4} / t_{a}^{4})\)
    • \(E_{a}\):实际工作量 (Actual effort)。
    • \(t_{d}\):名义交付时间 (Nominal delivery time)。
    • \(t_{a}\):实际期望交付时间 (Actual delivery time desired)。
  • 含义:试图缩短交付时间会导致所需工作量呈指数级增长 (Exponential increase)。
  • 最优时间 (Optimal time)\(t_{0}\) 是成本最低的开发时间。
  • 不可能区域 (Impossible region):时间过短则项目无法完成。

4. 工作量分配 (Effort Allocation)

  • 前端活动 (Front-end activities):40-50%
    • 客户沟通 (Customer communication)、分析 (Analysis)、设计 (Design)、评审与修改 (Review and modification)。
  • 构建活动 (Construction activities):15-20%
    • 编码 (Coding)。
  • 测试与安装 (Testing and installation):30-40%
    • 单元测试、集成测试、白盒/黑盒测试、回归测试。

5. 定义任务集 (Defining Task Sets)

  • 步骤 (Steps)
    1. 确定项目类型 (Determine type of project)。
    2. 评估所需严谨程度 (Assess degree of rigor)。
    3. 确定适应性标准 (Identify adaptation criteria)。
    4. 选择合适的软件工程任务 (Select appropriate tasks)。

6. 任务集精化 (Task Set Refinement)

  • 目的:将高层任务分解为可执行的子任务。
  • 示例 (Example)
    • 任务 1.1 概念范围 (Concept scoping)
      • 1.1.1 识别需求、利益和潜在客户。
      • 1.1.2 定义期望的输出/控制/输入 (OCI)。
        • FTR (Formal Technical Review):与客户评审 OCI。
      • 1.1.3 定义功能/行为。
      • 1.1.4 隔离软件元素。
      • 1.1.5 研究现有软件可用性。
      • 1.1.6 定义技术可行性。
      • 1.1.7 快速估算规模。
      • 1.1.8 创建范围定义 (Scope Definition)。

7. 定义任务网络 (Define a Task Network)

  • 目的:展示任务之间的依赖关系 (Dependency) 和并行性 (Parallelism)。
  • 示例
    • 任务 1.3 技术风险评估 (Technical Risk Assessment) 和 任务 1.5 概念实现 (Concept Implementation) 可能针对不同的概念功能并行执行。
    • 最终整合 (Integrate) 所有并行任务的结果。

8. 时间线图 (Timeline Charts / Gantt Charts)

  • 用途:可视化项目进度。
  • 结构
    • 横轴 (X-axis):时间 (Time)。
    • 横条 (Bars):表示任务的持续时间。
    • 里程碑 (Milestones):如“产品说明定义完成”。
  • 自动化工具 (Automated tools):可用于生成更详细的甘特图。

9. 进度跟踪与监控 (Schedule Tracking)

  • 定期会议 (Periodic meetings):团队成员报告进度和问题。
  • 评审结果 (Review results):评估所有评审的结果。
  • 里程碑检查 (Milestone check):确定正式里程碑是否按时完成。
  • 实际 vs 计划 (Actual vs Planned):比较任务的实际开始日期与计划开始日期。
  • 非正式沟通 (Informal communication):与从业者非正式会面。
  • 挣值分析 (Earned Value Analysis, EVA):定量评估进度。

10. 面向对象项目的进度 (Progress on an OO Project)

  • 里程碑 1:OO 分析完成 (OO analysis completed)
    • 定义并评审所有类 (Classes)、属性 (Attributes)、操作 (Operations) 和类关系 (Relationships)。
    • 创建并评审行为模型 (Behavioral model)。
  • 里程碑 2:OO 设计完成 (OO design completed)
    • 定义子系统 (Subsystems) 并将类分配给子系统。
    • 确立任务分配 (Task allocation)、职责 (Responsibilities) 和协作 (Collaborations)。
  • 里程碑 3:OO 编程完成 (OO programming completed)
    • 实现新类和提取的可复用类。
    • 构建原型或增量 (Increment)。
  • 里程碑 4:OO 测试 (OO testing)
    • 完成类级测试 (Class-level tests) 和集群测试 (Cluster testing)。
    • 完成系统级测试 (System level tests)。

11. 挣值分析 (Earned Value Analysis, EVA)

  • 定义:一种衡量进度的指标,通过定量分析评估项目的“完成百分比”,而非依赖直觉。
  • 核心指标 (Core indicators)
    • BCWS (Budgeted Cost of Work Scheduled):计划工作预算成本。
      • 到目前为止计划完成的任务的预算总和。
    • BCWP (Budgeted Cost of Work Performed):已完成工作预算成本。
      • 到目前为止实际完成的任务的预算总和。
    • BAC (Budget at Completion):完工预算。
      • 所有任务的 BCWS 总和。

12. EVA 计算公式 (Computing Earned Value)

  • 进度绩效指数 (Schedule Performance Index, SPI)
    • \(SPI = BCWP / BCWS\)
    • 含义:衡量项目利用计划资源的效率。
  • 进度偏差 (Schedule Variance, SV)
    • \(SV = BCWP - BCWS\)
  • 完成百分比 (Percent complete)
    • 计划完成百分比 = \(BCWS / BAC\)
    • 实际完成百分比 = \(BCWP / BAC\)
  • 成本绩效指数 (Cost Performance Index, CPI)
    • \(CPI = BCWP / ACWP\) (ACWP: Actual Cost of Work Performed)
  • 成本偏差 (Cost Variance, CV)
    • \(CV = BCWP - ACWP\)

💡 复习重点总结 (Key Takeaways for Exam)

  1. 进度安排原则 (Principles):记住那6个关键词(Compartmentalization, Interdependency, Effort validation, Responsibilities, Outcomes, Milestones)。
  2. 工作量分配 (Effort Allocation):这是一个非常具体的考点。请记住**前端 (40-50%)、**构建 (15-20%)测试 (30-40%) 的大致比例。这反驳了“编码最重要”的错误观点。
  3. 任务精化 (Task Refinement):理解如何将一个大任务(如概念范围)分解为具体的子任务(如定义 OCI, FTR 评审等)。
  4. 挣值分析 (EVA):这是本章最硬核的计算考点。
    • 必须分清 BCWS (计划做的预算) 和 BCWP (实际做的预算)。
    • 必须掌握 SPICPI 的计算公式及其含义(>1 代表好,<1 代表差)。
  5. 工作量与时间的关系:记住公式中的四次方关系,意味着压缩时间会指数级增加成本。

评论区

欢迎在评论区指出文档错误,为文档提供宝贵意见,或写下你的疑问