软件安全开发之软件开发的特点二
3)隐性成本高
只要是产品开发就总会存在开发成本的概念,也需要对项目进行预算,这一点软件产品的开发也不例外。与其他产品开发不同的是,软件开发的隐性成本很高。所谓的隐性成本, 是指在项目预算时并没有将其考虑在内,但它确实在将来的开发活动中会导致额外的成本开销。
4)细节很容易被放大
软件开发过程中的一个很小的细节很容易被放大。对于一个模块在设计时所留下来的小窟窿,哪怕是微不足道的,但是这个“微不足道”最后很可能演变成项目组的沉重负担。 对于大型项目,如果大家随意地包含头文件,最后很可能造成每一次项目编译都浪费了不少时间;修补一个缺陷时,由于觉得没有必要去除其中一处冗余设计却有可能最后落得难以维护;因为不小心将“==”错写成了“=”而造成一个严重的软件缺陷,等等。
在软件行业,似乎存在这种必然,只要某种事情有可能变坏那就一定会变坏(墨菲定律),软件行业能很好地体现“蝴蝶效应”,也就是说一个细节最终对项目所造成的负面影响并非是按它应有的比例出现的,而是远远大于这一比例。
软件开发无小事,可能一开始认为很小的事,到最后明白其重要性时却已让团队背上了沉重的负担,进而可能压垮团队。对于“小事”的把握,需要对软件行业有较为全面和深刻的认识,以及丰富的经验和良好的洞察力。
5)质量评估很需专业的高水平
一个表面上好的软件设计未必就好,而设计不良则早晚会出问题,从而带来隐形成本。 要真正地评估软件的质量需要通过评估其设计质量着手,而这很需专业的高水平。这里所说的专业水平不能简单地理解为评估人具有什么样的学历,或通过了什么认证,而是需要他对软件行业有深刻的理解和丰富的经验,以及拥有自己的软件设计思想。通常这类评估人也应具当对软件设计有着精神上的追求(否则他的水平也不会高到哪儿),很显然这种人是一种稀缺资源。
真正高水平软件工程师的稀缺也加剧了软件行业的困难,由于缺乏这些“领头羊”,项目组在开发过程中无法有目的地朝着高质量设计的方向前进,而只能是以完成工作为目标。 结果很有可能是项目组多走弯路,以及项目面临更高的隐形成本。
- 上一篇:软件安全开发之软件开发的特点
- 下一篇:软件安全开发之软件危机