最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用39
磨合1
终于有了自己正式的独立办公室,并且有了自己的公司,吴言感到很满足。每天,他总是第一个到公司,也是最后一个离开公司,坐在自己虽然不是很宽大,但是也很舒服的老板桌后边,吴言觉得很有种成就感,终于和往日只能仰视的老板平起平坐了,吴言心中真有一种苦尽甘来的感觉。
但是这种感觉几天之后就消失了,待之而来的是一种不知所措的感觉。现在开发工作交给张绍志来负责,他看来还很称职,很快就将开发任务分配下去了,并且很专业的进行软件开发计划的监督和控制,基本上不用自己插手。产品设计方面的工作,交给了市场部门的新同事高建业,他是学广告设计的本科学,他列出的用户调研计划、需求分析等等,吴言虽然不是很了解,但是感觉也很有道理,也不需要自己插手。而行政、人事、财务方面梁秀娟搞得也很不错,人事档案管理,公司报税,五险一金的手续,她都办得井井有条,根本不用吴言担心,这样下来,吴言似乎没有事情可以做了,简直就成了一个看客了。
这样下去可不行,我必须得改变一下当前的情况,吴言心里想着。
吴言首先想到的是系统研发领域,这个领域自己最擅长,应该不会瞎指挥。
拿定主意之后,吴言开始仔细看张绍志列的开发计划,很快他就发现了问题。张绍志对每个功能点的开发,都要求写出需求分析、详细设计、单元测试、功能测试文档,而且为了规范这些文档,张绍志还给出了各种文档的模板,尤其可贵的是,他还给出了各种文档的实例,这样就不会出经常出现的给了文档模板,不知道怎么用的问题了。这如果在大公司中,这绝对是非常不错的工作方式。但是,对于吴言的公司这种整个研发部门只有四个人的情况来看,这种方法未免有些太重量级了,开发人员的时间会大量浪费在写文档,而这些文档又是自己写给自己看,最后也是自己用,这样就未免显得有些多余了,所以吴言准备先纠正这一点。
这天一大早,当吴言在MSN上看到张绍志上线时,马上就给张绍志发了一条消息:有时间的话到我这来一趟。吴言想跟张绍志单独谈,不想让研发人员都知道这件事。
没有两分钟,张绍志就在外边敲门了。
“请进!”吴言赶忙说着,在站起来的一瞬间,吴言突然改变了主意,本来决定在自己的办公室聊的,但是觉得自己办公室隔音效果不太好,所以临时决定去对面的会议室,这样离研发部隔着一个大厅,这样就不用担心研发人员听到他们的谈话了。
吴言从办公桌后面转了出来,打开门,说道:“过来了,咱们到对面的会议室来聊吧!”
天是就领着张绍志走进了对面的会议室,到会议室坐下之后,吴言先开口了:“怎么样?这几天工作还算习惯吗?”
“还行,这几天正在把原来公司的研发流程在这边建立起来,同时,原来我公司的研发流程不是太规范,我现在正在把它规范起来,这样我们从一开始就正规起来,将来就很好进行管理了!”张绍志满怀激情地说着。
吴言特别能理解张绍志此时的心情,名校研究生毕业,突然拿到一个重要的任务,总是恨不得把自己平生所学一股脑的都使出来,好令大家刮目相看。这种热情是好的,可是往往会有些不切实际好高骛远,只是这时他们通常还意识不到这一点。
吴言点了点头,说道:“挺好!我看到你之前发的工作流程和文档模板了,而且你对每个文档还给出了实例,这样可操作性就强多了,真不错。你的文档从哪来的?原单位的吗?这些文档真不错!”
听了吴言的话,张绍志脸上露出了得意的神情,说道:“不全是,有很多是前两年帮老师做CMMI认证项目,从各个项目中积累下来的!”
吴言附合着说道:“啊,原来你以前还搞过CMMI认证,这可是软件工程领域前些年最火的概念了,怪不得你的文档质量那么高呢!对了,你们认证最高的达到过CMMI几级呢?”
张绍志略微想了想说道:“一般我们认证的都是CMMI二级或是三级,四级的就很少了,五级的好像只有一两家,因为做项目时一般只需要CMMI二级认证就够了,CMMI认证也很贵,所以多数都进行CMMI二级认证。”
吴言对CMMI还是有些了解的,前几年这个概念被炒得最热时,所有软件企业都在争着过CMMI认证,连政府每年都有专项资金,鼓励企业通过CMMI认证。但是大家很快就发现,所谓的CMMI认证,就是照着文档模板,写一堆文档,然后交很大一笔钱,通常是几百万,然后就可以拿到CMMI二级以上的证书了,具体能拿到几级,就看你交钱多少了。吴言就亲身经历过,公司为了通过CMMI认证,将一个项目组所有工作都停下来,进行封闭开发,只不过是在写文档,最后把一摞小山似的中文文档给了从英国来的评委面前,在交了钱之后,就非常顺利的通过了,对于这些文档,吴言不怀疑这些老外是否能看得懂,只是怀疑他们是否看了,吴言非常怀疑即使拿文件夹里装上白纸也是可以过的。通过CMMI认证之后,公司开发仍然是非常混乱,没有看到有丝毫改进之处。再到后来,有一些企业就开始找到了取巧的办法,他们只先交很少的钱来过认证,然后等到需要交钱拿证书时,他们就不交了,而在打项目时,就说我们已经过了CMMI认证了,只是没交钱,证书还没拿到手,不信你给我二百万,我马上拿来给你看,这无疑是中国人的聪明才智的体现,估计会把老外们气得半死!
不过,CMMI很快就沦为像制造业的ISO9000质量认证体系一样,拿出来给人看就让人笑话的程度了。
不过,吴言虽然心中这样想着,但是嘴里还是说道:“CMMI确实是一个非常不错的体系,如果真的按照软件成熟度模型来做,开发的软件质量肯定会有很大的提高。”
张绍志听了吴言的话,很高兴,附合着:“确实是这样!”
吴言接着说道:“不过,CMMI是重量级的软件工程方法,比较适合于大型软件企业。现在也比较流行轻量级软件开发方法,如极限编程,测试驱动开发,Scrum等,不知道这些你了解不了解?”
“这些我也正在看!”张绍志兴奋地说着。
“你对这些怎么看?”吴言询问着。
“我觉得这些对于一些小公司或是工作室是十分适合的,但是大公司正规的开发来说,还是没有成功的先例!”张绍志说着。
吴言点了点头,说道:“从你个人的角度来看,你更喜欢哪种开发方式呢?”
张绍志想了想,说道:“我个人来讲,我更喜欢极限编程这一套方法,我不太喜欢这些重量级的方法!”
吴言心里想,如果你自己都不喜欢这种重量级的方法,为什么还要在实际工作中采用呢?
吴言这样想着,也这样问了起来:“那你为什么在工作中采用CMMI呢?”
张绍志说道:“因为您不是说我们要做成大公司吗?因此我觉得应该尽量规范,所以决定采用CMMI体系!”
原来是这样!张绍志是受了自己的误导,按大公司的套路来做事了。同时像CMMI这样的方法,通常会使项目管理者很有成就感,这可能也是张绍志远择这种方法的潜在原因。
想到这里,吴言说道:“我其实也很喜欢敏捷方法,而且愿意尝试新事务!你觉得咱们采用类似极限编程的方式怎么样?”
“好呀!我也喜欢尝试新东西!”张绍志不无兴奋的说着。
这正是吴言所希望的,于是点了点头说到:“那太好了!咱们真可以尝试一下!不过,我觉得极限编中的结对编程有些问题,可能程序员们不太习惯!你觉得呢?”
“对!我也觉得是这样!而且咱们的桌子也坐不了两个人呀!”张绍志附和着。
吴言点了点头,接着说道:“我在想是不是可以这样,还是结对编程,但是互相测试对方的程序,这样既可以解决单元测试的问题,同时可以使大家互相熟悉对方的模块,有利于日后的系统维护,同时还可以降低人员流失造成的冲击。你觉得怎么样?”
张绍志显然觉得吴言的想法很新鲜,略微想了一下,说道:“您这个想法挺好!不过互相测试的粒度不太好把握,太粗了没有意义,太细了又工作量太大!”
“不错!你说得很对,所以我们需要一起探索!你可以多研究一下!”吴言说道。
“好的!”张绍志愉快地说道。
“对了,如果采用极限编程方法,那开发人员应该只需要提交用例说明就可以了,这样可以减少很多文档的工作量,可以加快系统开发速度。不过这需要你多对他们的代码进行审查,免得低质量的代码造成今后系统维护的困难。”吴言提醒着。
“您说得很对!我回头重新制定一个新的开发计划,然后再给他们发一份新的文档模板和样例!”张绍志说到。
吴言点了点头,说到:“那就辛苦你了!你估计需要多长时间可以搞好呢?”吴言问道。
“我的文档这两天就可以完成,下周一就可以按新方法工作了!”张绍志很有把握的说着。
“太好了!”吴言说着。
和张绍志开完了这次短会,回到办公室之后,吴言对自己对这个问题的处理比较满意。首先没有生硬的要求张绍志改变工作方式,并且达到了目的!其次,他通过技术人员喜欢尝试新东西的特点,成功地调动了张绍志的积极性,他肯定会认真研究怎么用好极限编程的。另外,他发现张绍志做工作的一个优点,如果是换成自己,刚对项目组提出的要求,马上就推倒重来,自己肯定会很为难,而张绍志却二话不说,立刻就行动起来,这个精神真的很难得!
成功处理完软件项目管理的问题后,吴言开始研究起提高系统并发性的问题上来。通过研究发现,现在很多功能都是直接对数据库的操作,显然在大并发量的情况下,很容易成为性能瓶颈。解决这个问题显而易见的方法是引入NoSql,许多大型网站都采用这种解决方案。因为系统完全基于Mysql构建,如果完全采用Nosql,那么等于需要全部推倒重来,这显然是不可取的。关于这个方案需要跟张绍志讨论一下,尽快定下来。
敬请期待下集:磨合2