个体
软
件
过
程(
Personal Software Process,
简
称
PSP
)
为软
件人
员进
行
软
件
开发
提供了一个
规
范的个人
过
程框架
,PSP
过
程由一系列方法、表
单
、脚本等
组
成,用以指
导软
件人
员计
划、度量和管理他
们
的工作,同
时
它
显
示了如何定
义过
程及如何
测
量其
质
量和生
产
率。
2 PSP 基本原理
PSP 的 设计 是基于以下 计 划和 质 量的基本原理:
每 一个工程 师 都是不同的,要追求最大效率,工程 师 必 须计 划他 们 的工作并将他 们 的 计 划基于其个人的数据基 础 上
要牢固的改善其表 现 ,工程 师 必 须 采用 经过 良好定 义 和度量的 过 程
要生 产 高 质 量的 产 品,工程 师 必 须对 其 产 品的 质 量有其个人的 责 任。好的 产 品是不能由 错误产 生的,工程 师 必 须为 他 们 的工作 质 量而 奋 斗
发现 并修 复 缺陷的 时间 越早其成本越低
防止缺陷的 产 生比 发现 他 们 更有效
正确的方式通常也是最快和最廉价的方式
要以正确的方式工作,工程 师 必 须 在 开 始工作以前 对 他 们 的工作 进 行 计 划,而且必 须 用一个定 义 的 过 程 进 行 计 划。 为 了了解他 们 个人的表 现 ,他 们 必 须 度量 其 每 一个工作 步骤 的花 费时间 , 产 生和消除缺陷的数量以及他 们 所制造 产 品的 规 模。 为 了 稳 定的生 产 高 质 量的 产 品,工程 师 必 须计 划、度量和跟踪 产 品的 质 量,而且必 须 从工作的 开 始就 关 注 产 品的 质 量。最后他 们 必 须 分析他 们每 一个工作的 结 果用以改善其个人的 过 程。
3 PSP 过 程 结 构
4 PSP 的 级别
PSP 由五 级组 成, 每 一 级 都 试图 指出 过 程缺陷并提供解决方法 。五 级 分 别为 PSP0 、 PSP1 、 PSP2 、 PSP3 和 TSP[35] , 每 个都包括几个 单 独的 步骤 。
4.1 PSP0 - 个人度量
个人度量( PSP0 )是 PSP 的 开 始。在 这 个最初的 步骤 中将学 习 如何将 PSP 表 单 和脚本 应 用他 们 的工作。他 们 通 过 度量 开发时间 和缺陷(包括 发 生的和解决的)来 实现 上述目 标 。 PSP0 有三个 阶 段: 计 划、 开发 (包括 设计 、 编码 、 编译 和 测试 )和事后分析。
PSP0.1 增加了 编码标 准、 规 模度量和 过 程改善建 议 ( PIP )表 单 。 PIP 让 工程 师记录问题 以及改善其 过 程的建 议 。同 时 他 们 也能了解表 单 如何帮助他 们 采集和使用 过 程 数据。
4.2 PSP1 - 个人 计 划
PSP1 在 PSP0 的基 础 上增加了 计 划 步骤 。初始 步骤 增加了 规 模和 资 源估 计 和一个 测试报 告。基于代理的估 计 ( PROBE )方法被介 绍给 工程 师 用以在其个人数据的基 础 上估 计开发 的 时间 和 规 模。
PSP1.1 ,在 PSP1.1 中加入了 进 度和事件的 计 划。
4.3 PSP2 - 个人 质 量
PSP 的一个早期的目 标 是帮助工程 师现实 而客 观 的 对 待他 们 引起的缺陷。程序 员们经 常被各 种 缺陷所困 扰 。 Beizer 称之 为 “bug guilt” 。
事 实 上 绝 大多数的缺陷是 简单 的打字 错误 、疏忽或 简单错误 , 这 些通常使工程 师们觉 得他 们仅仅 靠更 为 努力就能 够 得以改善。 问题 是越努力往往是事情越糟,避免 这 些缺陷是必要的。因此在 PSP2 中增加了代 码评审 和 设计评审 ,通 过 缺陷管理来 实现这 个目 标 。
PSP2.1 ,伴随着缺陷 预 防、 过 程分析和 过 程基准, PSP2.1 引入了 设计规 格和分析技 术 。
4.4 PSP3 - 个人 过 程周期
PSP3 是 PSP 最后的一个 阶 段。基于 这 一点, PSP 专 注于以一个 线 性的 过 程来构建小型的程序 。 PSP3 为 个人提供了 开发 大型程序的方法。不 过 ,它仍然是 专 注于个人的,而并没有 涉 及大型系 统开发 的重要部分:交流和 协 作。
只有当所有 连续 的 软 件增 长 能保 证 高 质 量的情况下,周期的 PSP3 过 程可以被作 为 一个大型 开发过 程的有效 组 成。工程 师们 只 须专 注于 验证 最新增 长 的 软 件部分而无需考 虑 以期的循 环 周期。
4.5 团队软 件 过 程
团队软 件 过 程( TSP )的 质 量重点是定 义质 量的 组 成, 标识 用以体 现质 量的可量化的目 标诸 如可用性、性能、互用性、恢 复 能力、安全、兼容性等。
TSP 的一个更 进 一 步 的目 标 是确保 开发 工作是以一个 较 佳的途径在 进 行。 为 了更好的 设计 出高 质 量的 产 品,需要精确和及 时 的 计 划和跟踪 项 目 。 TSP 成 员应该计 划他 们 的 项 目,根据 计 划跟踪 进 展,并 阶 段性的 报 告他 们 的状 态 。他 们应该 同 时 向 项 目管理和客 户报 告 项 目状 态 , 这 些 报 告 应该 包括 项 目的跟踪数据和 对项 目,目 标 构成威 胁 的 风险评 估等。
5 PSP 的作用
使用自底向上的方法来改 进过 程 ,向 每 个 软 件工程 师 表明 过 程改 进 的原 则 ,使他 们 能 够 明白如何有效地生 产 出高 质 量的 软 件。
为 基于个体和小型群 组软 件 过 程的 优 化提供了具体而有效的途径。其研究与 实 践填 补 了 CMM 的空白。
帮助 软 件工程 师 在个人的基 础 上运用 过 程的原 则 ,借助于 PSP 提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自己日常工作的 评 估、 计 划和 预测 更加准确、更加有效, 进 而改 进 个人的工作表 现 ,提高个人的工作 质 量和 产 量, 积 极而有效地参与高 级 管理人 员 和 过 程人 员 推 动 的 组织 范 围 的 软 件工程 过 程改 进 。
2 PSP 基本原理
PSP 的 设计 是基于以下 计 划和 质 量的基本原理:
每 一个工程 师 都是不同的,要追求最大效率,工程 师 必 须计 划他 们 的工作并将他 们 的 计 划基于其个人的数据基 础 上
要牢固的改善其表 现 ,工程 师 必 须 采用 经过 良好定 义 和度量的 过 程
要生 产 高 质 量的 产 品,工程 师 必 须对 其 产 品的 质 量有其个人的 责 任。好的 产 品是不能由 错误产 生的,工程 师 必 须为 他 们 的工作 质 量而 奋 斗
发现 并修 复 缺陷的 时间 越早其成本越低
防止缺陷的 产 生比 发现 他 们 更有效
正确的方式通常也是最快和最廉价的方式
要以正确的方式工作,工程 师 必 须 在 开 始工作以前 对 他 们 的工作 进 行 计 划,而且必 须 用一个定 义 的 过 程 进 行 计 划。 为 了了解他 们 个人的表 现 ,他 们 必 须 度量 其 每 一个工作 步骤 的花 费时间 , 产 生和消除缺陷的数量以及他 们 所制造 产 品的 规 模。 为 了 稳 定的生 产 高 质 量的 产 品,工程 师 必 须计 划、度量和跟踪 产 品的 质 量,而且必 须 从工作的 开 始就 关 注 产 品的 质 量。最后他 们 必 须 分析他 们每 一个工作的 结 果用以改善其个人的 过 程。
3 PSP 过 程 结 构
4 PSP 的 级别
PSP 由五 级组 成, 每 一 级 都 试图 指出 过 程缺陷并提供解决方法 。五 级 分 别为 PSP0 、 PSP1 、 PSP2 、 PSP3 和 TSP[35] , 每 个都包括几个 单 独的 步骤 。
4.1 PSP0 - 个人度量
个人度量( PSP0 )是 PSP 的 开 始。在 这 个最初的 步骤 中将学 习 如何将 PSP 表 单 和脚本 应 用他 们 的工作。他 们 通 过 度量 开发时间 和缺陷(包括 发 生的和解决的)来 实现 上述目 标 。 PSP0 有三个 阶 段: 计 划、 开发 (包括 设计 、 编码 、 编译 和 测试 )和事后分析。
PSP0.1 增加了 编码标 准、 规 模度量和 过 程改善建 议 ( PIP )表 单 。 PIP 让 工程 师记录问题 以及改善其 过 程的建 议 。同 时 他 们 也能了解表 单 如何帮助他 们 采集和使用 过 程 数据。
4.2 PSP1 - 个人 计 划
PSP1 在 PSP0 的基 础 上增加了 计 划 步骤 。初始 步骤 增加了 规 模和 资 源估 计 和一个 测试报 告。基于代理的估 计 ( PROBE )方法被介 绍给 工程 师 用以在其个人数据的基 础 上估 计开发 的 时间 和 规 模。
PSP1.1 ,在 PSP1.1 中加入了 进 度和事件的 计 划。
4.3 PSP2 - 个人 质 量
PSP 的一个早期的目 标 是帮助工程 师现实 而客 观 的 对 待他 们 引起的缺陷。程序 员们经 常被各 种 缺陷所困 扰 。 Beizer 称之 为 “bug guilt” 。
事 实 上 绝 大多数的缺陷是 简单 的打字 错误 、疏忽或 简单错误 , 这 些通常使工程 师们觉 得他 们仅仅 靠更 为 努力就能 够 得以改善。 问题 是越努力往往是事情越糟,避免 这 些缺陷是必要的。因此在 PSP2 中增加了代 码评审 和 设计评审 ,通 过 缺陷管理来 实现这 个目 标 。
PSP2.1 ,伴随着缺陷 预 防、 过 程分析和 过 程基准, PSP2.1 引入了 设计规 格和分析技 术 。
4.4 PSP3 - 个人 过 程周期
PSP3 是 PSP 最后的一个 阶 段。基于 这 一点, PSP 专 注于以一个 线 性的 过 程来构建小型的程序 。 PSP3 为 个人提供了 开发 大型程序的方法。不 过 ,它仍然是 专 注于个人的,而并没有 涉 及大型系 统开发 的重要部分:交流和 协 作。
只有当所有 连续 的 软 件增 长 能保 证 高 质 量的情况下,周期的 PSP3 过 程可以被作 为 一个大型 开发过 程的有效 组 成。工程 师们 只 须专 注于 验证 最新增 长 的 软 件部分而无需考 虑 以期的循 环 周期。
4.5 团队软 件 过 程
团队软 件 过 程( TSP )的 质 量重点是定 义质 量的 组 成, 标识 用以体 现质 量的可量化的目 标诸 如可用性、性能、互用性、恢 复 能力、安全、兼容性等。
TSP 的一个更 进 一 步 的目 标 是确保 开发 工作是以一个 较 佳的途径在 进 行。 为 了更好的 设计 出高 质 量的 产 品,需要精确和及 时 的 计 划和跟踪 项 目 。 TSP 成 员应该计 划他 们 的 项 目,根据 计 划跟踪 进 展,并 阶 段性的 报 告他 们 的状 态 。他 们应该 同 时 向 项 目管理和客 户报 告 项 目状 态 , 这 些 报 告 应该 包括 项 目的跟踪数据和 对项 目,目 标 构成威 胁 的 风险评 估等。
5 PSP 的作用
使用自底向上的方法来改 进过 程 ,向 每 个 软 件工程 师 表明 过 程改 进 的原 则 ,使他 们 能 够 明白如何有效地生 产 出高 质 量的 软 件。
为 基于个体和小型群 组软 件 过 程的 优 化提供了具体而有效的途径。其研究与 实 践填 补 了 CMM 的空白。
帮助 软 件工程 师 在个人的基 础 上运用 过 程的原 则 ,借助于 PSP 提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自己日常工作的 评 估、 计 划和 预测 更加准确、更加有效, 进 而改 进 个人的工作表 现 ,提高个人的工作 质 量和 产 量, 积 极而有效地参与高 级 管理人 员 和 过 程人 员 推 动 的 组织 范 围 的 软 件工程 过 程改 进 。