一起来打太极(3)

又到了我们的太极时间。这几天开心被关了禁闭了,不仅要入住公司安排的饭店,而且每天晚饭也不能出去吃了,必须吃大锅饭,晚饭吃完后,没有休息时间,而是要继续工作到晚上十点。

公司的开发人员已经非常疲劳了,在我看来,这简直是一批溃军。由此我在想,那些国企的领军人物似乎真的都没有什么管理才能。他们总相信时间是海绵里面的水这样的观念,为了拼时间,而不停的压榨员工的休息时间。可是这样就能换取进度吗?我想不是吗?

其实这个项目的症结,还是在于需求确认上。上周六,监理组来了三位工程师(我十分佩服这三位工程师,那个161页的需求说明书其实就是他们执笔的),与这边的系统分析人员就需求进行确认,结果整个需求在监理组这边根本通不过,监理组认为分析师根本没有理会他们文档的意思。

周一晚上及周二上午,需求方来了十多位高官(需求方来头不小,是有执法权的),再次对需求进行确认(周六到周一,需求又被修改)。但是十分可惜的是,仍然没有通过,甚至需求方那十个人自己也无法把需求拿准,在内部就出现内讧的现象。整个需求分析在周一开到凌晨零点半左右。到最后仍然可以说没有结果。

第二天(周二)的需求分析会我就没有再参加,而且我要求我们的开发人员也都不参加了,我到了需要痛下决心的时候,把需求锁死。虽然一没有完整而且稳定的需求,二没有数据库设计(数据库设计由专人负责,不在我的掌控之内,本来周一晚上要给我数据字典,但一直到今天为止,我没有见到相关文档),但按照进度,项目已经不可能再拖了。

所以我把需求锁定为周一的那个快速原型(即使该需求有错误及不合理的地方),我们开发人员的目标就是在下周一前完成这个快速原型的一个模块,使用上次介绍的N层框架。

需求锁死后,我们发现很多事情都变得反而简单了。每个人的任务也比较清晰,虽然由于.NET的陌生的原因,部分开发人员并不熟悉开发方式,但他们的团队精神让我钦佩,到现在,完成的情况如下:

  • 数据提供层:100%已经完成;
  • 实体类:将实体类划分为三个模块,由于一个模块与需求关系过紧,现在没有涉及。另外两模块,一个完成30%,一个完成50%;
  • 业务逻辑层:下周一要完成的模块的接口定义已经基本完成,而接下来的模块则由一个高级开发人员专门负责进行设计及开发,不参与当前模块的开发。今天下午已经进入具体编码过程;
  • Web Service层:由于只是一个业务逻辑层的暴露接口,此部分的设计已经完成,代码开发在业务逻辑层结束后,仅需要两小时就可以完成(现在以伪接口形式提供);
  • Web Skin:由于需求的不确定性,在上周就已经将所有的界面都以Web User Control完成了(由于对ASP.NET的掌握情况,质量并不高)。

我相信下周一我们所定的目标能够初步完成,但是这个目标出来后,仍然会有很多Bug(我在这个阶段只负责技术难题的解决,不参与具体代码的开发),我希望在周一及周二进行两天的Code Review。然后就这段时间代码编写所暴露出来的问题进行探讨,并且讲解一下ASP.NET优化方式(其实做这个项目的同时,我们也在对大家的.NET技能进行培训)。

总的来说,我现在已经有了信心。而正是我的开发团队给了我信心,所以我决定在本周五,请我的开发团队成员们一起FB一次咧嘴笑脸,如果哪位朋友有时间,欢迎来参加呀吐舌笑脸

周末我可能要请假回家,准备拜见丈母娘了尴尬的笑脸