4.1.2.2 工作流程中的并发性
有个朋友曾经问我在开发项目时什么时候让你感到浪费时间,我想了想,说是“当我很忙,但项目成员却无所事事的时候”。细想原因,归根到底是工作流程的问题。为什么这样说呢,传统开发时,当项目经理与系统分析员进行业务需求和设计时,通常认为项目成员没有什么可做的,在项目过程中,做一些系统更改时,认为程序员水平不够,帮不上忙。于是乎,程序员似乎理所当然地休息一下,上上网,打打游戏。时间这样被浪费了。
这个问题是我们在此规范强调的重点之一:工作的并发性。
下图是实现工作并发的一种方式:
在工作中实现并发,是合理地安排项目开发的重要环节,以避免不必要的浪费,同时通过合理分配工作量的方式,减轻了传统项目中项目经理的压力。
4.1.3.项目管理制度
淡化个人的力量,突出团队的协作
在项目开发过程中,麻烦的是个别‘高手’的要胁。这种‘高手’掌握了系统关键的部份,并且此时无人可替,非他不可,这时‘高手’借机要求加薪,升职。。。。。。
如何避免这种情况的出现呢?
我认为是细化工作量,不要象以前的开发中那样,说某某,你负责某个模块。而是尽量细化工作内容,基本上应细化到每工作日,如果细化到工作时则更好。同时建立相互依赖关系,实现开发上的并发,每一个程序员的工作延迟,将牵涉到几个程序员的工作,这样,其他程序员为了在工作日中完成工作,必须相互帮助。从而实现了团队的协作。
做好项目总结
项目总结是非常必要的。在项目总结中要对项目或开发阶段中出现的问题进行一一归纳。其中包括技术总结,工作总结,行为总结,从而促进项目人员的成长并能在下一个阶段或下一项目中避免相应的问题。
技术总结主要是对开发中所出现的技术问题进行总结。一个程序员开发的程序在被测试员测试后,或被代码复审人员检查后,发现了问题,如废代码过多,调用错误的参数等,此时你不应立即打断程序员的工作,因为那样会打扰程序员现有工作的思路。在项目总结会上,可以把他写的代码公布给项目组人员共同阅览,让大家给他提意见,这样使之有了进一步的提高。
工作总结是指在开发过程中出现的其他问题,有些人能力差,有些人能力强,能力差的总是拖大家的后腿,这样导致众多意见,这样可以通用大家总结的方式,一来可以为项目管理人员重新安排工作量提供参考,二来也在以另一种方式对程序员进行激励。
行为总结是指对项目开发中个人行为所出现的问题进行总结。如个别人出现了消极怠工现象,那样大家来总结一下,如果是外界因素如家庭等的影响,则看项目组成员是否可以帮上忙,或者由项目管理人员进行工作安排的协调。如果是上面说的‘高手’故意摆谱,则把事情讲清楚,由项目管理人员进行相应的处理。
流程管理
习惯于传统开发模式的程序员可项目经理可能不愿意按照项目管理规范来做。认为这样做麻烦,要写的文档无数。在实施的过程中往往按自已的一套来做,从而造成项目的拖延。所以说,对项目中的各个流程都有相应的机制来监督,RUP中所谈到的流程管理是与开发相并行一个机构,但在目前的情况下,可能无法实现。那样必须建立相应的机制来处理,以避免不必要的损失。
4.2 分步实施
由于我们现在还处在原始的项目管理阶段,实现一步到位是非常困难的,所以采用分步方式实施:
第一步 :实现初步规范(针对项目组级)
实现项目阶段、角色层次的初步划分
将项目阶段划分四个大的阶段(如第一章),以里程碑的各项指标(指标根据实际情况缩减)考核项目组。
将项目组人员划分成不同角色(一个人可能是多个角色),明确分工,加强协作。(角色根据实际情况缩减,基本上是业务人员、架构设计师、系统分析员、项目经理、环境配置人员、数据库设计人员、系统集成人员、程序员、测试员、复审员、文档员、界面设计人员)
项目工作重心转到分析设计部分
将工作重心转移到分析设计来,分析设计分为两个方面,一方面是对系统功能与架构等系统设计,另一方面是指将系统分析细化至功能及类一级,并写出对类的要求,如参数,功能等。
规范工作流程
将工作流程划分为业务需求、环境配置、分析设计、项目管理、实施。严格按照项目规范进行管理。