软件项目团队的绩效量化

作者: 颜小婧 | 来源:发表于2018-02-13 16:17 被阅读45次

写在前面

最近看了一本书《团队软件过程》。

本来是想研究下这个过程的原理之类的内容,后来被其中的一些度量指标吸引了。

合上这本书,我觉得对于我来说,收获最大的就是了解到原来除了我们耳熟能详的缺陷率,Reopen率等等外,还有那么多的可以使用的度量指标。

在讲这些指标之前,我想先说一下《团队软件过程》到底介绍了一种什么过程。

TSPi

为研究生或高年级本科生的团队软件工程课程而设计的框架。
指导学生一步步的完成团队软件项目课程,并教会你如何在团队协作环境中应用成熟的软件工程和软件过程。

我不禁有些感慨,现在的学校都已经开始做这种实操的练习了。

其实这样挺好的,让学生亲身经历整个项目过程以及各种角色,会有更多的体会。

研究了下TSPi是TSP的简化版本,专门为了培训和软件工程而定制的。

麻雀虽小,五脏俱全。

TSPi在过程中通过周期性的迭代的方式开展工作,每个周期包含完整的计划、设计、开发、测试、总结。

但是因为选择的策略不同,可以是在瀑布的大过程中嵌套小周期迭代,也可以纯迭代。

我觉得这也是TSPi与敏捷过程的一个不同之处。

另外一个不同之处在于,TSPi很强调度量和评估。



不仅要在每个周期进行度量和评估,还要对包括角色、质量、规模等等方面进行评估。

所以在TSPi中给了很多的量表,很有CMMI的意思。

书中提到了很多度量的指标,我这里摘取其中几个我觉得比较有意思,也比较实用的分享给大家。

概要比率

这个指标包含了三个子指标,主要用于度量团队的贡献情况。

LOC/小时:度量了团队的总体生效率

每小时写多少行代码,这个指标非常常见。

复用百分比:当前产品中复用以前产品的LOC比例

在TSPi中很强调代码复用,甚至提到“在设计初期就对复用部分进行设计”。

复用率高,表示被复用的代码的质量等各方面的绩效不错,也间接的说明了在这个周期内的产出质量有一定的保证。

新增可复用百分比:新增的代码中可以作为未来周期及项目的复用代码的比例

我们不仅要在开发的时候尽量复用之前稳定的代码,还需要创造一些可以被复用的代码。

这些代码不仅在本项目中可以复用,还可以被复用到其他项目中去。

缺陷数/KLOC

千行代码缺陷数,这是一个重要的质量指标。

这个指标没什么好说的,主要是作者在这个指标后面的一句话,引起了我的思考

如果单元测试有很多缺陷,单元测试后遗留的缺陷也会很多。

也就是说,如果单元测试发现很多的缺陷,那就意味着有点先天不足的意思。

就算后期再怎么修补,也无法摆脱先天不足的劣势。

而在每个周期里面对这个指标进行评估,就大致可以知道在后面的阶段中的质量情况。

如果构建和集成测试的缺陷数/KLOC<0.5,系统测试的缺陷数/KLOC<0.2,那么一般不会有用户使用缺陷。

一个周期内的阶段时间

TSPi强调在一个周期内要把所有任务重复一遍,它也给出了各个阶段任务的大致时间比例,可以作为参考。

如果评审时间达标,其实会对质量有一点的改善作用。

即会避免在单元测试的时候发现过多的缺陷,进而避免先天不足的情况发生。

详细设计时间>编码时间
详细设计评审时间>详细设计时间50%
需求评审>需求分析时间
25%

规模度量

对于项目规模的度量,我们一般会使用模块、LOC、敏捷中的点数进行度量。
而作者提出了一种度量方式,挺有意思的:需求规格说明书SRS,PRD。

通过文本页数,编号段落或者Shall语句进行规模度量。

我觉得这个指标对于BA和需求的小伙伴来说要求比较高。
因为毕竟现在80%以上的SRS等文档并没有进行规范化、格式化。

编写的粒度、范围、结构等等都没有进行规范化。

比如同样的一个功能,我写的粗了就只有2页,写的细了可能会有8页。
再比如,我们在写需求的时候并没有建立结构需求语句。
所谓结构需求语句,耳熟能详的就是敏捷里面的AS... I want to... so that...
而这边并不是写一句话的user story那么简单。

为了度量规模,需要写的是更详细的规格。
比如,Admin shall add new users by import excel.
统计整个SRS中出现了多少shall语句,就可以度量规模。
但是,前提是,你的语句写的足够规范。

如果我一时脑抽,写了个 want, need, should, will, can, is able to...那么度量的结果肯定不准了。

写在最后

前些天还和群里的小伙伴讨论软件团队的绩效评估问题。

其实我觉得《团队软件过程》中有一句话说的很在理:

团队度量不应该以是否实现了目标为标准,而应该以设定目标的意愿以及为此所做出的努力程度来评价团队。

小婧是一名行走在实践路上的资深业务分析师。

相关文章

  • 软件项目团队的绩效量化

    写在前面 最近看了一本书《团队软件过程》。 本来是想研究下这个过程的原理之类的内容,后来被其中的一些度量指标吸引了...

  • 09:项目资源管理29

    建设团队—输出: 团队绩效评价(P343) 基于项目技术成功度、项目进度绩效和成本绩效来评价团队绩效。 评价团队有...

  • 用产品思维做软件开发团队绩效回顾

    又到了年底做绩效回顾的时候。但很多软件开发团队成员抱怨,绩效回顾看不到价值。 如果用产品思维,来做软件开发团队的“...

  • 团队绩效评价(摘录篇)

    基于项目技术成功绩效(包括质量水平)、项目进度绩效(按时完成)、成本绩效(在财务约束条件内完成)来评价团队绩效,针...

  • 项目管理者如何管理项目团队

    管理项目团队是跟踪团队成员的工作表现、提供反馈意见、解决团队冲突并管理团队变更,以优化项目绩效的过程。项目团队的组...

  • 怎么提高软件开发团队的绩效

    怎么提高软件开发团队的绩效?在回答这个问题之前,我们先要定义软件开发团队的效能,见:怎么定义软件开发团队的效能。 ...

  • 90-62绩效改进学习

    从是否量化角度,可把绩效现状和绩效目标间的差距分为已量化和未量化差距。我们需要做的是,寻找可量化的差距,把未量化的...

  • 【岚商道原创】123(3.2)OKR

    OKR不是绩效考核工具。对不可量化的绩效,比如工程师团队,即便是谷歌,微软,英特尔,也只能用主观评分,比如360度...

  • 项目经理应该如何管理项目团队

    项目经理要带领整个项目团队一起战斗,做好团队建设,才能激发整个团队成员的士气,提高团队成员的绩效。 然而很多项目经...

  • 当好项目经理需要修炼的9件事

    作为项目经理,最重要的就是带领整个项目团队一起战斗,做好团队建设,才能激发整个团队成员的士气,提高团队成员的绩效。...

网友评论

  • 阿群1986:最好因地制宜确定采用传统的 KPI 绩效评估体制还是采用 OKR(Objective Key Result) 模式进行宽松的量化考核
    颜小婧:@阿群1986 KPI的一大弊端在于割裂的看待各个角色以及部门的关系。

本文标题:软件项目团队的绩效量化

本文链接:https://www.haomeiwen.com/subject/rrgjtftx.html