为什么我们在做软件项目时,老是反反复复,反反复复?

来源:互联网 发布:java plug in 编辑:程序博客网 时间:2024/04/29 19:49

       当我的一些朋友向我提问这个问题时,我有时一时语塞,一下子,不知道怎么回答。
       其实这种问题一直在困扰着我们做软件项目的项目组成员的,虽然我有好几年没有做软件
项目了,但以前的在做软件项目时,也是经历了反
反复复的。从项目的签单、沟通、需求调
研、软件设计、软件编码、测试,最后实施,在实施过程时,客户不断的反馈问题,然后我们
修正问
题,又上线,又出现问题,又修正,又上线,这样反反复复,感觉是无休止的修正、上线。到了最后,客户失去耐心,我们也心烦,有时会导致软件无法验收、收款,最后项目失
败,我想,这是很多做项目组成员经常遇到的问题的。
       到底是哪个环节出了问题呢?我个人觉得最主要的问题是出在对客户行业不理解,不能提
出你自己的解决方案。其实我们在和客户沟通时,
客户会提出要解决这个需求,那个需求的,
我记得我2001年时,我在做一个五金家具企业的软件项目,除了要实现库存、销售、应收应付
以外
,其中还有这样的需求是:这家企业购买了一卷钢板,加工时,要切成圆块钢板,问题是
用计算机来如何计算切出的圆板才是最节约钢板的方
法。说到这里,如果是懂这一行的分析员
就会拒绝做这个功能,如果是现在的我,我一定会拒绝,但是我当时答应了,为了做这个功
能,反反
复复做了1年多,搞得双方身心非常疲惫。还有一次2000年时,也接到一个软件项
目,需要的需求是:用户接到客户的订单,然后在销售单写下
对方客户的地址,销售产品、数
量、单价和金额,另外还要增加有催款的记录次数,打印时,要打印出带有地址的套打、包
裹、标签,不涉及
库存、成本核算,就这些功能,我从开发到验收居然前前后需要8个月时
间,其实在这8个月时间里,是反反复复的修正、增加功能的时间,刚
开发完的时候,开始上
线,没想到的问题是当多个用户同时开单时,发现开一张单需要5到10分钟,这由于技术的问
题而导致开单的速度超慢,
差不多耗费我2个多月解决了这个问题。接下来用户在使用过程
中,要增加收款的功能,接着答应增加收款的功能,做完后,上线,也是反反复
复的搞了1个
多月,因为在设计过程中,根本就没有考虑过收款的功能,增加这个功能,又要重新设计。等
这个收款功能搞好了,客户说要增加
预收款功能,用来记录他们客户的预收款的情况,好了,
接着又要改,修改数据库字段,编写代码,搞好这个功能后,上线,前前后后,又要
花2个月
时间。搞好了预收款功能,用户用了一段时间,需要预收抵扣.....,就这样,不断的折腾,不
过,还好,这个软件项目总算验收了,
但是时间耗去8个多月,与最初签定合同的时间1个月相
差甚远。
       现在想一想,了解一个行业的业务需求是非常重要的,一想到要做销售系统的,就一定要
想到:库存、应收、已收、预收、成本等;一想
到要做批发行业的,就要想到:促销、赠送、
配送、多仓库选择打印、双单位、寄存、借入、借出、打印时不同的部门打印不同的抬头等;
想到要做纺织布业,就要想到:布种、色号、销售可以按(公斤、米、码、磅等多单位)、
辅助单位核算等。如果是做五金行业,就要想到:
自动组装和拆装、公用零件的组装、组装与
拆装的成本核算等。一想到要做零售超市连锁行业的,就一定要想到多分店的POS零售开单
时,一定
要实现断网开单的模式。不要指望客户会百分之百的告诉你所有的需求,能告诉你
60%的需求已经很不错了(其实大部分客户提出的需求只有30%左右的),如果不了解这些行业
特性,势必要跟着客户走,客户要你做什么,你就得做什么,这样很容易被客户牵着你的鼻子
走的,因为你根本提不出你自己的解决方案来,这也为以后软件项目反反复复的修改,最后情
致导致失败埋下了伏笔。
       另一个问题,就是软件开发本身的问题。我们可以回想一下,我们项目组把做好的软件给
客户实施时,看着客户在单击某一个模块时,我们实施人员象是走在定时炸弹路上,很害怕客
户使用软件时,出现大大的红叉叉的bug,虽然我们项目组里有测试人员,但是还是经常出现
红叉叉的bug。好了,实施人员把这个bug给反馈给项目组去解决,这个问题,是已经解决,但
是又出现本来打印是没有问题的,又变成这个打印出现bug,有没有觉得这样的bug反反复复的
出现,无休止的修正这些bug,这样会造成实施人员怨声载道:“什么破开发人员、测试员,
怎么老是出错的,以后叫我怎么服务客户”。客户就会抱怨:“什么破软件,当初你们说很多
客户在用这样的程序,是不是骗我的,把我们当成白老鼠啊”。销售人员也会抱怨:“怎么回
事,怎么老是反反复复,下次我怎么敢找客户”。我举这些例子,当然是不止这些,但这个是
由于软件本身质量的问题而造成的,特别是刚刚成立没多长时间的公司经常会出来这样的问
题。
       至于严格签订合同、严格设计、严格测试、严格的验收,我想不是很重要,重要把上面两
个问题搞好了,其它的问题是迎刃而解的。今年
一月份我们接了一个纺织布业的项目,我们得
重新写方案、开发、测试、上线,我从需求分析、方案、设计,然后交给开发人员开发,交到
来测试,上线,客户问题反馈,一直到验收,前后不到1个月(除去了过年期间的半个多月),
这个项目是走VPN,15个在线用户,由于程序稳定
,去客户现场服务前后不超过10天,我就可
以基本脱手了。

原创粉丝点击