2008/10/8 从国防级软件开发的一点数据管窥高质量软件开发

原发 http://liuqingyan.blogspot.com/2008/10/blog-post_08.html

 

高安全性、低缺陷的软件开发将戏剧性的获得美国国家安全局( NSA)的帮助,因为 NSA向开源社区提供了 Tokeneer研究项目。项目的主要意图是展示一款非常安全
的软件如何能合理的开发。 Tokeneer使用 SPARK Ada语言编写,它是一种高级程序
设计语言,设计用于编写高安全应用程序。这里是它的网页, http://www.adacore.com/home/gnatpro/tokeneer/ ,可以下载到源码和文档。比较有趣的是网页上还列出了项目开发的几个数据,这让我们得以管窥一下高质量的软件开发:

总代码行数: 9939
总耗时: 260
生产率(日均产出代码行数,按总耗时的天数计算): 38 /
生产率(日均产出代码行数,按编码阶段耗时的天数计算): 203 /编码日
自交付之日起发现的缺陷数目: 1

从这些数据我们还可以推算出,编码阶段耗时约 49天,占整个项目耗时的比例是 18.85%,还不到 20%

以看到,高质量的软件项目,编码的时间比例是很少的,认真的测试和文档很重要,前期调研和良好的设计则是重中之重。 IBM说,设计耗时应当占到 50~60%的比重。调研和设计好比战略战术制定,编码好比战斗,这里反映出的道理就是 "决策要慢,执行要快 "(因为不知道项目人数,所以不好评价生产率 的高低,但是 203 : 38 = 5.34 : 1 的这个速度比基本上可以说明这个一慢一快的事实)。

对比我们身边一些项目的六拍运动(拍脑袋上马,拍肩膀命令,拍胸脯保证,拍桌子呵斥,拍屁股走人,拍大腿后悔),真的是天壤之别呀。所以,我们做任何项目,都要避免做出草率的和违反事物发生发展规律的可笑事情。

之前项目管理培训课上,老师讲项目范围三角形(质量、时间、资源)和灵活性矩阵分析的时候,问道,对于项目经理而言,三角形哪一条边最灵活?我抢答质量, 老师笑了,大家也笑了,其实这是个幽一默的答案,不过这个幽默是黑色的。

其实,现实是理想的背面。所以自己开个作坊,做不出来好东西,怪不得其他任何人,只能怪自己没有 common sense

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值