技术开发 频道

为什么需要软件过程改善?

    登山和软件开发

    前几年,北京的大学生登山队,怀着“无所畏惧的革命热情”和“人定胜天的必胜信念”,抛下一切,义无反顾地去攀登高山了,结果很不幸,成了无谓的牺牲者,给家人带来了无限的伤痛。

    真正优秀的登山者恰恰是“有所畏惧的”,因而在登山之前是一定要做好一切可能的准备,并预测各种可能的困难和风险。只有这样,登山才有胜利的可能性。

    这些“无所畏惧”的大学生登山者们,毕业后来到了软件开发行业,就变成了“无所畏惧”的“他”。

    Boehm说,软件开发失败的最主要根源有二:不准确的估算和不确定的需求。

    估算是开发的第一步。是否能够相对准确地估算开发的规模,人月数,日程等直接决定了能够制定可行的开发计划。而在这个过程中,“他”需要准确地抽取,精练和跟踪用户的需求;根据开发工作的内容建立良好的开发人员体制;计划开发日程并确定关键节点(Mile Stone),并获得大家共同认可;共同探讨分析开发可能面临的风险和难题。只有在此基础上,怀着敬畏的心情去开始开发,才能说“或许没有严重的问题吧”。

    优秀的登山者在攀登的过程中,会随时检测和监控地形,高度,天气,温度,氧气浓度以及自身的身体状况等信息,并据此调整行动路线和行动计划。很多时候甚至距离山顶已经近在咫尺,也会因为突发的天气变化或者自身的身体状况的变化而调整。如果没有随时的检测和监控,登山要么失败,要么成为牺牲者。

    软件开发也是这样,在进行开发的推进过程中,“他”也必须随时地把握整体的开发进度,跟踪需求的变更,判断开发产物的品质,汇总开发中的问题,准确地把握每个时刻的开发状况。在这样的基础上,判断当前的状况是良好的还是不足的,要么调整开发步调,要么调整计划目标。

    正如同不是每次登山都会成功,不是每次开发都会成功。但是,优秀的登山者在被迫放弃或者延期的时候,会有准确的理由。

    同样,真正优秀的“他”在面临无法按期完成开发,品质无法达到要求的时候,也应当能说出问题的原因所在,如何解决,以及经过调整,何时能够达成目标;而不是像热锅上的蚂蚁,毫无对策。

    “他”的例子,也就是告诉我们:为了能使得软件开发获得成功,必须进行良好的估算和计划,持续有效的跟踪监控,准确地把握状况并在此基础上判定与目标的偏差,进而进行开发调整。

    从“没有软件过程”,到建立起“基本的软件开发过程”,这就是软件过程改善的第一次飞跃。

0
相关文章