background image

但是实际操作比较麻烦,没有突出重点。久而久之,人们厌烦后就逐渐放弃了规范,按自己
的习惯操作,留下了隐患。例如不少程序被

 checkout 后长久没有 checkin;有些程序保留在

开发者本机,根本就没有放入配置库。
维护期间修改了程序,但是没有放入配置库。
3.5 软件质量管理问题
虽然人们大都认可软件的质量很重要,但是许多软件人员并不懂得如何有效地改善软件质
量属性如正确性、健壮性、

可靠性

性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植

性等等。不会分析当前软件的质量要素是什么,没有把精力集中在改善对经济效益贡献最大
的质量要素上面。
有些软件机构没有软件质量管理的措施,开发人员把完成功能当成终极目标。用户在使用软
件的过程中发现许多

Bug,导致开发方的纠错性维护代价很高。

有些软件机构虽然很重视软件质量,按照

ISO,CMM 的要求建立了管理规范,但是效果不

明显。人们搞不清楚软件测试、技术评审、质量保证的作用和关系。不懂得内建质量,主要靠
修补错误的方式提升质量,代价比较高。
很多人误以为提高软件质量是质量保证人员和测试人员的责任,没有意识到任何开发人员、
管理人员都会对质量产生影响,都要对质量负责。另外,质量保证人员的权力比较小,很难
推动质量改进措施。

(质量不是检验出来的,质量管理要树立全民意识)

3.6 变更管理问题(CCB,变更流程,变更影响分析)
经常随意变更需求、设计、代码等,严重影响项目的正常开发进程。

 无法拒绝客户的不合理

变更。
4.开发问题
开发团队不能熟练应用

“增量-迭代”的开发模式。(RUP,迭代和增量分清楚)

需求分析能力欠缺,不能很好地抓住用户真正的需求、清晰地阐述需求。

(需求分析的重点是

挖掘潜在需求,从用户需求到软件需求的抽取和提炼

)

系统设计能力欠缺,不能综合考虑产品的功能、性能、可扩展、可复用等。

(任何软件生命周期

和开发方法论,系统总体设计阶段必不可少

)

软件用户界面设计能力欠缺,易用性不够好。
开发团队各成员的编程质量差异比较大。

(人员角色分工,外科手术队伍)

测试和改错的效率不高,不能在比较短的时间内发现缺陷,并很快消除缺陷。
5.跨部门协作问题(沟通,出入口准则,知识库,评审, 队词汇表)  
上下游人员相互不熟悉对方的工作流程和规范,沟通比较费劲,沟通效率比较低。
上游不能及时了解下游工作进展情况和负荷,不断传达新的任务,下游忙不过来。
上下游人员在沟通的时候,没有及时记录沟通的结论和建议。
上下游人员的工作成果分散在各自的计算机里,难以积累和共享知识财富。
上游传达给下游的需求不清楚,各方理解有偏差,导致需求和工作成果经常变更。
(过程和流程定义中,各中间阶段和中间产出物必须有严格的出入口准则)
6.工具问题
企业使用管理工具可以提升管理效率,积累知识财富,例如代码和文档版本管理、任务进度
管理、缺陷管理等等。国内

IT 企业管理工具的主要问题不是“工具太少 了”,而是“工具太多

了,杂乱无章,缺乏整体规划和管理

”。工具之间各不兼容,没有办法整合数据。有些工具很

老了、不好用,但是有数据,不能淘汰,又不能

 更新。结果这么多杂乱的工具非但成不了财

富,反倒成了包袱,十分头痛。示例:
7.互联网企业研发问题
技术积累和规范化程度较弱,心态浮躁

.