1 前期需求分析
需求分析时间明显不够,并且没有专门的人或者是明确某人去做需求分析。只知道要开发的东西的大概,具体的细节根本就没有。对于产品都要有什么功能, 这些功能都要完成什么操作,各功能间是怎么衔接的,谁也不知道,没人问,也没人可以回答,等到开发过程中遇到问题了,才想起来沟通一下,问问怎么做,流程 是什么,还有的根本不会产生沟通,直接就做了一个功能,结果到后来发现根本不是想要的。无数次的返工,无数次的修改,恶梦一般的开发。搞的所有人的黯然神 伤。
如果可以我希望是这样的:有一个人专门负责需求分析,这个人不但要了解老板的需求,要了解产品达成的目标,产品内部操作的流程,产品的结构,需要开 发完成的时间。对于每一个可能出现的问题、每一个步骤、每一个模块,都去询问。要知道需求少问了一句,就可能对整个开发时间带来误差,对开发进度有着很大 的影响。
对于某些后来新加的需求,尽量不进行开发,等到产品开发完成之后,再进行新需求的开发。如果非要加上新的需求,请先让相关人员负上一定责任,是客户的问题?那就多付钱,是需求分析的问题?开除或者记过吧。
2 原型开发
以直接上线为目标的开发导致产品的大量修改,而且浪费了大量的时间。应该知道,客户是会变的,老板是会变的,唯一不变的就是:别人要变,你就要改。
不如做一个原形开发,先给客户或者老板使用,对于这个原形提出意见,然后做第二次需求分析,从原型上继承,继续开发,就算不能继承,那改动也是相对会小很多的。
3 时间管理
没有产生一个时间线,每天做什么没有详细的规定,当然需求都不明确,也就根本就不能规划出需要多少时间。老板和客户都在催,截止时间摆在那里,如果 真的搞出一套时间表来,估计谁都会骂街,根本不可能完成。老板需要快,但是开发是要有周期的,缩短时间就相当于降低质量。对于降低的质量想要弥补回来需要 花的时间会更多。
4 人员管理
没有人负责文档,没有人负责需求分析。需求分析上面讲到过了,没有人负责文档带来的结果就是一天无数次电话、邮件、MSN、QQ,都在和项目负责人 沟通,或者直接跨过项目负责人和老板或客户沟通,沟通完了之后又不能形成后续文档,在合作开发或者测试的时候又会无根可查,还要去沟通。这种沟通,证明不 了你的团队合作能力,相反的只能证明文档的匮乏,管理的混乱。
另外还要提出一点,就是从业人员一定要很专业,高素质的人带来效率上的提高是很明显的。
5 测试
测试过程中总能发现大量的新需求,大量的bug。
需求定义不明确,做出来的东西当然不会符合客户和老板的要求,当然就算需求定义的明确了,一个软件产品还是会被提出来很多的新需求。
bug大部分是由单元测试没做好造成的。为什么单元测试时不做好呢?不要把问题推到没有时间上来,再紧的时间,宁可拖长开发时间,也不要把错误的代码直接使用。
还有测试过程是举步为艰,没有相应的文档来解释说明,连要测试什么内容都没有,你说这样的测试能有效果吗?
6 bug管理
可能是习惯了email沟通,可能是因为bug系统使用复杂。从程序员到测试人员再到客户和老板没有人在用bug系统。
要知道bug系统是会节约时间,并且对bug是可以追溯跟踪的。来来回回乱七八糟的邮件,混乱的像蜘蛛网一样的沟通网,极其低下的工作效率,到最后某些bug根本没有修正,有的功能根本没有开发,N个人一起修正一个bug带来人员浪费。
7 用户体验
对于用户体验,这个真的不太好掌握,张三说这样用户体验好,李四说那样用户体验好,是全部ajax,还是模仿windows,是拥有自己的使用模 式,还是抄录一部分目前流行的模式。别费劲想了,找个专门负责用户体验的来干这事吧,最好是有那种可以反驳老板意见能力的人,坚持自己的观点,并且有强有 力的论据来证明自己是正确的,自己的想发是用户体验最好的。
附:一个网站开发案例分析 - 摘自程序员杂志
2月18日:项目启动,开始整体规划
在我加入金环天朗的时候,这个网站就已经存在了,而最开始的计划也只是对原有的网站进行局部改版。但是等我深入了解后,大吃一惊:
u 规划/需求:原有网站没有经过认真规划就匆忙上马,只有部分的简单示意图,对于每个页面具体区域的功能描述和逻辑过程还是依赖口头沟通。没有独立的后台管理,依赖于WAP业务的后台,内容展示力不从心。
u 页面设计:美工因为还有其它工作所以有一定程度的拖延,没有时间观念,整个设计方案没有经过整体评估,导致后来许多细节没有按照计划实现,页面设计先后由两人分头独立完成,导致部分风格不一致。
u 开发:技术实现一直处在救火的状态,没有规划,没有步骤,没有主次之分,没有时间观念。代码的结构非常散乱,没有可用的文档查询,开发人员走了,给以后接手的人带来极大的麻烦。代码没有规范、没有注释。归结起来就是可读性很差。
u 测试:没有任何测试,开发人员简单试一试就直接上线了!
u 内容:网站内容维护没有专人负责,逐渐处于无人答理的状态。
总之,原来的网站有太多不尽人意之处,和同类网站比起来差距较大,市场人员无法推广,技术人员很难维护,动不动就出错。只能另起炉灶,推倒重做一个全新的网站。
后来的网站重新制作一共花费了4个月的时间,其中大概2个月的时间都在做规划、需求分析、开发计划制定,文档编写。剩下2个月的开发过程以设计,编码,测试并行的方式进行。
值得庆祝的日子到来了。6月15日凌晨我正式向全公司同事报告这个网站正式上线。这是我自己主持研发的第二个网站,也是我非常用心管理的一个项目。我想留下一个参考样板,为公司其他项目的管理摸索经验。我认为这是一个成功的项目是因为:
ü 做出来的网站符合最初的规划和需求定义;
ü 按照需求定义完成的时候(4月12日)确定的进度向前推进,6月15日上线是两个月前就确定的;
ü 整个项目执行过程中,规划、需求、开发、测试等环节均按照预定轨道前进,没有出现大的纰漏。