分享

软件开发应以价值实现为核心

 东北十三少 2020-10-16

当我们学习项目管理的时候,会了解有个项目管理铁三角:范围、进度和成本。这3个因素应当是相互制约,一个项目要成功,就要在这3个因素间达成一种微妙的平衡。比如范围(主要指需求项)增加了,那么就要增加进度或成本。

可是,在实际项目当中,要达成这3个目标是非常困难的,常见的情况都是顾此失彼,导致项目状况也是乱糟糟的。

军软项目尤其如此。经常是需求增加了,但进度不变,成本靠加班,很少会增加人手。

而且领导对军软项目进度的要求通常会超过质量。通常只会看到领导跟踪军软开发的进度,在周例会上会要求汇报进度,但很少会要求汇报质量状况。

由此,我们不禁要思考,软件开发是以完成任务为目标吗?

当然不是。

软件开发的目标应当是向用户交付对其业务最具有价值的软件。

对于军软来说,交付的软件应当是简单易用、稳定可靠、快速高效。

软件开发不应以满足软件研制任务书要求、按计划交付为目标。一个按时交付、功能全部实现但非常难以使用,运行起来缓慢无比的软件,显然不是用户想要的软件。

实际上,任务书中的每条需求并不都是有价值的需求。即使任务书中的需求都是用户自身提出的,也可能会因为专业的限制用户无法提出对其业务更有价值的需求;更何况军软项目的任务书都是系统/组件设计师编写的。

所以,我们的军软开发不能以完成开发任务为目标。

Jim Highsmith(2011)提出了软件项目要实现3个新目标:

  • 价值目标:开发出可发布的产品。

  • 质量目标:开发出可靠、易更改的产品。

  • 约束目标:在特定的约束条件下实现价值目标和质量目标。

丛斌博士对其解读是:

在特定约束条件下,控制产品遗留隐患对交付产品的使用及维护的影响,关注人员能力提升,尽可能将项目/产品价值最大化。

笔者深以为然。

如果把这3个项目目标用于军软项目,笔者理解的是:

在给定节点、人员、系统方案的约束条件下,开发出具有一定质量水平(安全、可靠、易维护)的,对最终用户更有价值(功能性、易用性、效率)的软件。

软件开发应当以价值实现为核心。

这正是:

范围成本和进度,即使满足又何如

软件开发为用户,价值实现应为主

参考书目:知行合一:实现价值驱动的敏捷和精益开发,作者:丛斌,出版社:人民邮电出版社

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多