构建之法第二章学习心得

时间:2022-04-09 16:33:20

《构建之法》第二章主要讲了个人技术和流程因为团队需要一定的流程来管理开发活动,每个工程师在软件生命周期所做的工作也应该有一个流程,这一章中着重介绍PSP即个人软件开发流程。卡内基梅隆大学的能力成熟度模型(CMMCMMI),是用来衡量一个团队能力的一套模型。CMU的专家们针对软件工程师也有一套模型,叫 Personal Software ProcessPSP),PSP和任何其他方法论一样,也不是一蹴而就的

    PSP的个人项目耗时表:

计划

6%

Estimate

估计这个任务需要多少时间

6

Development

开发

88%

Analysis

需求分析

10

Design Spec

生成设计文档

6

Design Review

设计复审(和同事审核设计文档)

6

Coding Standard

代码规范(为目前的开发制定合适的规范)

3

Design

具体设计

12

Coding

具体编码

21

Code Review

代码复审

9

Test

测试(自测,修改代码,提交修改)

21

Reporting

报告

6%

Test Report

测试报告

2

Size Measurement

计算工作量

1

Postmortem & Process Improvement Plan

事后总结,并提出过程改进计划

3

 

PSP有如下的特点:

1.不局限于某一种软件技术(如编程语言),而是着眼于软件开发的流程,这样,开发不同应用的软件工程师可以互相比较。

2.不依赖于考试,而主要靠工程师自己收集数据,然后分析,提高。

3.在小型、初创的团队中,很难找到高质量的项目需求,这意味着给程序员的输入质量不高。在这种情况下,程序员的输出(程序/软件)往往质量也不高,然而这并不能全部由程序员负责

4.PSP依赖于数据,需要工程师输入数据,记录工程师的各项活动,这本身就需要不小的时间代价

5.PSP的目的是记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度

 

疑问:

1.如果数据不准确或有遗失,怎么办?让工程师编造一些?

2.如果一些数据不利于工程师本人(例如:花很多时间修改缺陷),我们怎么能保证工程师愿意如实地记录这些数据呢?