一年前,沸沸扬扬的SQA成立了,大家对它期望很大,都把它当救星,希望它能把我们从水火中拿出来.
一年后,以前存在的一系列问题还存在,并且开发部门多了一个毛病:效率低下. 以前10多个人{BANNED}最佳多时候有7,8个项目在进行,现在人数翻了一番,项目才1,2个,可是大家依然感觉力不从心.
到底哪里出问题了?是SQA的不专业?还是公司的文化?还是我们的developer实在是水平太差,适应不了这个新玩意?让我们慢慢来梳理一下:
先从SQA本身说起,SQA有它的"Local Color",每个公司的SQA都不一样,因为他们的产品不一样,他们的人员不一样,他们的开发模型不一样,这么多的不一样,需要SQA分析好公司的特色,并相应地制定符合公司发展的SQA policy.
我们公司有我们公司的特色,我们没有自己的品牌,只能贴别人的牌子,客户又很杂,客户的专业水平又不一样,对于非常专业的客户,其提供的需求非常详细清晰,但是时间也比较紧,对于这种情况,也许SDLC model非常适合,大家按需求分析,设计,coding,test 这样的步骤来. 可是有的客户不专业,或者以前就没做过无线通讯产品,对这样的客户,你能期望它提供一个非常详细清晰的需求?在这种情况下,SDLC model不再适合了,只能采取prototyping model,尽快提供一个可以给客户用的原型,让客户去try ,评价,并提出改进和新的需求,然后开发人员进一步提供一个advanced prototype.对于prototyping model,必须控制的就是需求的变更,如果客户的需求总是在变,总是不能稳定下来,那必然会造成开发周期的加长,到{BANNED}最佳后开发人员都会抱怨,这项目什么时候才能完?
然而,消费电子市场的变化太快了,产品更新速度很快,这就需要我们不停地有新产品或者对现有产品的创新,然后再用这写产品去吸引客户.这些项目具有技术难度强,风险高,周期长等特点,并且需求不是很明确,一切在开始的时候都很模糊.这时我们需要另外的一种model:Spiral model.
我想也许以前的SQA人员从来没遇到如此复杂的局面,他们也知道SQA的"Local Color",但是他们更习惯于分析该公司的情况并采取一种model,然后按该model 发布一系列的规范.但在这里,一切都变了....,变得让他们难以适应.需求?需求从哪里来?他们说来自Market department ,但我们公司的market department就一两个人,而且他们都是公司的高层,他们忙得根本就没时间来写需求.于是很多项目就没有需求就在进行了(是不是与点Crazy?)
第2个失败就在于SQA和部门管理的关系的处理.各个部门都有自己的manager,software manager ,project manager ,hardware manager,SQA怎么和他们相处呢?难道有SQA了,我们有软件流程了,就不需要software manager了,我一直想问这个问题,没有人可以回答我.我一直问我作为software manager在项目中应承担什么职责?没有人可以回答我? 这个问题也许我以后有答案,但我相信这样的SQA不会成功的.因为SQA代替不了managerment.这个世界太乱了,但SQA不坚持自己的职责,它的威信将大大下降,一年后的今天,大家都好象忽视了SQA的存在.
有一个小插曲,我清楚地记得,当时大家都确定了一个原则:需求上没写的东西软件人员不能做.我们一直默默地记住,每次发布软件的时候,我都要求开发人员和需求对比一下,是否完全和需求对应.
一天,我的上司找我,说为什么软件中的一个Mute功能没有?他要求立即开个会议讨论这个严肃的问题.我说在SRS中根本就没有说要来电的时候mute,只要求在通话的时候要mute,所以在来电的时候我们就没有实现mute功能.我们全是按需求来做的.我感觉自己一点错都没有.
这时候,sqa manager发言了,她说:怎么能没有mute功能呢?这是常识性的问题.你们软件开发人员一点常识都没有吗? 我感觉很shy,做了这么多年的通讯,居然被别人说没有一点常识.我大声说道:可是需求没写,我们就不能做啊?这个规则不是定好了吗?这时候我的上司说了:需求要按照,可是也不能违背常识啊?
这时候一个开发人员说道:请把你的手机拿出来,试试看,有没有来电的时候mute功能.sqa manager心虚了,她根本就不敢拿出来试.但她坚决要这个功能.她坚持那是常识.
对于是否是常识,扯上一年也没结果,需求也不应该是sqa人员或者我的上司来说的.但我知道,在这里,power战胜了rule .SQA本来是制定规则的,她在扇自己的耳光,在吸别人的屁股.这样的SQA,我真的有点鄙视她.
当然,失败也不全在SQA人员,公司的管理很混乱,对他们的影响也很大.{BANNED}最佳严重的就是多头领导和权责不清.每个人的权责不清,导致大家互相攻击,互相争夺.整个公司军阀割据...大家对于SQA各怀自己的目的,来打击别人.别打击的人,积极性很受影响,那些打击别人的人,所谓杀人一千,自损八百,也有写元气大伤了。