导航

从万能MIS系统来谈软件的范围界定

Posted on 2007-06-08 10:01  pegger  阅读(204)  评论(0编辑  收藏  举报

        万能MIS系统=100%的失败!

        这是在一次公开课上听到的断言,也是这几年我感触颇深的经验教训。

        什么是“万能MIS系统”?就是企图用一套软件完成用户所有工作的系统。

        为什么会出现“万能MIS系统”?这要从以下几个方面进行分析:

一、贪婪的用户:对于用户掏钱让一个软件公司来为他们开发一套软件,其活动和一般的买卖活动没有本质的区别,如同我们到菜市场买菜一样,都抱着这样的想法:想花最少的钱买到最好的或最多的产品。但是却忘记了这样一句古语“便宜没好货”,虽不能说价格高就一定是好的商品,但是价格低是一定有其原因的。软件的用户很容易进入一种贪婪状态(我自己的定义),如果开发方满足了用户某个要求后,又希望开发方满足另一个要求……而这些要求往往是原来需求调研时没有提到的。一旦用户的额外要求得到满足后,用户就有种占到便宜的满足感,而这种满足感又会驱动他继续这样下去。从表面上看用户的确占到了便宜,因为在限定的成本之下,用户得到了额外的收益。但是天底下哪有没有成本的好事?其实用户的这些收益是在减少了对已有系统的质量检查和有效测试的基础上建立起来的,甚至有的是在破坏了原有设计基础的条件下得到的,这样的收益真的很值得吗?

二、软弱的项目经理:项目经理在软件开发中,一个很重要的作用是在用户与开发者之间沟通协调。培养用户,引导用户,是一项重要的管理技能,与用户建立良好的关系是重要的,但是并不代表一切都要无条件的听从。虽然用户是出资方,但是作为项目经理要清楚,项目的最终目的是要给用户提供一个高质量的软件系统。如果没有达到这个目的,一切的努力都是白费的。还有一部分项目经理本身对技术不了解,不清楚某一个功能的添加或修改要付出多大的成本,不与开发者商量就轻易的答应用户的需求,给开发者带来的是无尽的烦恼,无休止的加班,接着就是项目工期的一再拖延。

三、软件万能论的错觉。许多人会有的一种错觉:对软件的一种迷信,也可以说是对技术的迷信,认为软件可以解决工作中所有的事情。基于我国的基本国情,工作流程的随意性和复杂性绝非一套软件可以完成,还是让我们再次赞扬人类的智慧吧。

        以上分析了万能MIS系统的“起源”,那么我们如何避免掉进这样的焦油坑呢?这就涉及到一个软件工程中的基本概念:范围界定。

        范围界定是保障开发者权益和用户利益的有利武器。

工程的最终目标是范围界定的基础,也就是说用户和开发者都要清楚并且一致理解这个软件工程是需要实现的目标是什么,需要解决的问题是什么。只有这样,才不至于在项目执行过程中走向歧途。

         对于用户,目标的明确是对用户心中需求的一种规范定义。一旦形成需求规格说明书,就相当于法律文件,在项目中不可轻易更改。基于人类思维的跳跃性和无序性,规范的定义是最好的界定,也是用户最终接收软件的条件和依据。

         对于开发方,目标是确定用户需求和规范设计的主线。不理解软件的目标,就不能做好需求调研,因为用户的思维常常是发散的,有的需求往往是偏离轨道的,如果没有软件目标这个主心骨,就无法引出用户的真正需求,如果在需求阶段就偏离方向,那么后果可想而知。

        在项目的其他阶段,软件的目标都是要在项目经理和开发人员心中铭记的概念。软件项目的工期往往是数月以上,很难保证甲乙双方没有新的想法和观点,那么遇到任何软件需求方面的变更,我们首先要进行以下询问:

1. 改变是否有利于软件目标的实现?

2. 改变是否会影响基础架构?

3. 改变的成本是否可以接受?

4. 改变是否必须要在当前版本实现?

         如果以上问题其中之一为否,就不应该在目前阶段来实现。

         系统范围的界定最困难的地方是如何说服用户,使他们放弃偏离目标或不切实际的想法。这就需要项目经理来进行有效的协调,所以项目的成败与否,技术是一方面,更大的方面是好的管理,因为再好的技术在无边无际的幻想面前也是那么的渺小和脆弱。

         软件范围的界定归根到底涉及到项目管理的三个方面:用户管理,变更管理和版本管理。在这里就不再展开讨论。总之,只有进行有效的软件范围界定,才能避免进入万能MIS系统的漩涡之中。

河南恒友科贸有限公司 
电话 :0371-53733453    传真:0371-65388972
地址:郑州市郑花路8号 E-mail:hengyousoft@QQ.com