从一个陷入困境的项目中想到的
朱金灿
公司的一个项目目前陷入了困境。用户看完我们的演示之后说:“我觉得你们在拼凑一个系统出来应付我们”。因此我觉得我们有必要反思前一阶段的工作。
我觉得我们这个项目存在两个方面的问题。
一是需求不明。需求不明导致我们花大力气的干出来的用户不认可,而用户认为软件必须有的我们又没有干出来。这里问题的关键是沟通机制。比如这次我想:是不是所有问题都是必须见面才能交流的?我是这样设想的:开发工程师和用户实现点对点的交流。比如用户方和开发双方分配时明确哪个子系统是哪些人负责的。比如a子系统在用户方是甲负责的,在开发方是乙负责的。那么甲和乙就应该密切交流。双方人员列出一个联系方式表,上面列有双方人员的电话即时通讯工具和电子邮箱等等。交流方式也可以多种多样,电话,电子邮箱和QQ等等。比如界面设计等,可以发一幅截图过去询问对方意见。实在交流不了再见面交流,毕竟见面交流成本高,耗费成本大。当然用户的需求也是有变化的,我们需要的是挖掘用户稳定的内在的需求。内部沟通也不够。比如这次我们完成的系统都是各顾各的,整合不起来,就是我们开发人员之间的交流,子系统之间的接口没有考虑到。
二是人性化做得不够。比如tree ctrl控件的使用。一般tree ctrl的最低枝项不应是数据库记录的。为什么这么说?因为假如是数据库记录,假如记录一多就会导致加载困难。tree ctrl的最低枝项一般用作固定等级的分类。说人性化我不敢说我有什么新想法。一是把自己当作用户,站在用户角度来思考:比如我是用户,我喜欢用这个软件吗?其次参考一下著名软件的界面设计,你就会有很多启发。
出现现在的困镜,项目经理自然要负起领导责任。我在想一个项目经理应该在一个项目中发挥怎样的作用呢?我认为项目经理在一个项目所应起的作用是:分配,协调,监督和攻克技术难题。分配就是根据个人的能力对开发任务进行分配。协调就是协调各个开发人员的开发进度,整合各个子系统和子模块,使之成为完整的软件;监督就是监督实施各个开发人员的任务完成情况;攻克技术难题就是对一些阻碍开发的组织人员进行技术攻关。