但是实际操作比较麻烦,没有突出重点。久而久之,人们厌烦后就逐渐放弃了规范,按自己
的习惯操作,留下了隐患。例如不少程序被
checkout 后长久没有 checkin;有些程序保留在
开发者本机,根本就没有放入配置库。
维护期间修改了程序,但是没有放入配置库。
3.5 软件质量管理问题
虽然人们大都认可软件的质量很重要,但是许多软件人员并不懂得如何有效地改善软件质
量属性如正确性、健壮性、
、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植
性等等。不会分析当前软件的质量要素是什么,没有把精力集中在改善对经济效益贡献最大
的质量要素上面。
有些软件机构没有软件质量管理的措施,开发人员把完成功能当成终极目标。用户在使用软
件的过程中发现许多
Bug,导致开发方的纠错性维护代价很高。
有些软件机构虽然很重视软件质量,按照
ISO,CMM 的要求建立了管理规范,但是效果不
明显。人们搞不清楚软件测试、技术评审、质量保证的作用和关系。不懂得内建质量,主要靠
修补错误的方式提升质量,代价比较高。
很多人误以为提高软件质量是质量保证人员和测试人员的责任,没有意识到任何开发人员、
管理人员都会对质量产生影响,都要对质量负责。另外,质量保证人员的权力比较小,很难
推动质量改进措施。
(质量不是检验出来的,质量管理要树立全民意识)
3.6 变更管理问题(CCB,变更流程,变更影响分析)
经常随意变更需求、设计、代码等,严重影响项目的正常开发进程。
无法拒绝客户的不合理
变更。
4.开发问题
开发团队不能熟练应用
“增量-迭代”的开发模式。(RUP,迭代和增量分清楚)
需求分析能力欠缺,不能很好地抓住用户真正的需求、清晰地阐述需求。
(需求分析的重点是
挖掘潜在需求,从用户需求到软件需求的抽取和提炼
)
系统设计能力欠缺,不能综合考虑产品的功能、性能、可扩展、可复用等。
(任何软件生命周期
和开发方法论,系统总体设计阶段必不可少
)
软件用户界面设计能力欠缺,易用性不够好。
开发团队各成员的编程质量差异比较大。
(人员角色分工,外科手术队伍)
测试和改错的效率不高,不能在比较短的时间内发现缺陷,并很快消除缺陷。
5.跨部门协作问题(沟通,出入口准则,知识库,评审, 队词汇表)
上下游人员相互不熟悉对方的工作流程和规范,沟通比较费劲,沟通效率比较低。
上游不能及时了解下游工作进展情况和负荷,不断传达新的任务,下游忙不过来。
上下游人员在沟通的时候,没有及时记录沟通的结论和建议。
上下游人员的工作成果分散在各自的计算机里,难以积累和共享知识财富。
上游传达给下游的需求不清楚,各方理解有偏差,导致需求和工作成果经常变更。
(过程和流程定义中,各中间阶段和中间产出物必须有严格的出入口准则)
6.工具问题
企业使用管理工具可以提升管理效率,积累知识财富,例如代码和文档版本管理、任务进度
管理、缺陷管理等等。国内
IT 企业管理工具的主要问题不是“工具太少 了”,而是“工具太多
了,杂乱无章,缺乏整体规划和管理
”。工具之间各不兼容,没有办法整合数据。有些工具很
老了、不好用,但是有数据,不能淘汰,又不能
更新。结果这么多杂乱的工具非但成不了财
富,反倒成了包袱,十分头痛。示例:
7.互联网企业研发问题
技术积累和规范化程度较弱,心态浮躁
.