ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 项目管理之日计划(四)(转过来学习用)

项目管理之日计划(四)(转过来学习用)

原创 Linux操作系统 作者:银鹰999 时间:2009-07-08 10:41:49 0 删除 编辑

3.在实施日计划时,与传统项目管理的工作分配有什么不同?如何进行工作分配?

    传统项目管理的工作分配中,工作项的粒度比较粗。每一个工作项通常指一个功能。通常是把一个功能分给某程序员,甚至把一个模块分派给某个程序员。工作项的工时以周为单位,通常是一周或者两周。

传统项目管理任务分配表
模块 功能  当前状态 计划开始 计划结束 实际开始 实际结束 责任人
订单管理  订单信息查询 已开始 2009-3-1  2009-3-7 2009-3-1    L
新增订单 已开始 2009-3-1  2009-3-7 2009-3-1    L
订单管理 修改订单 未开始 2009-3-1  2009-3-7     L
删除订单 未开始 2009-3-1  2009-3-7     L

    实施日计划的工作分配中,“工作项”的粒度更小。如果按照XP和Scrum的说法,功能就是指一个“故事”,完成“功能”的步骤或事件叫“任务”。

    传统项目管理的任务分配是以“故事”为最小粒度。日计划的任务分配是以“任务”为最小粒度。“任务”是指完成某一个“功能”的步骤或事件。每个人当天的任务工时总合为1人天。

    故事和任务的区别:

故事
任务
订单信息查询
DAO编码
DAO单元测试
业务层编码
JSP表示层编码
集成测试

    要实现订单信息查询就由右边的那些任务组成。

    开始,我不知道怎样来描述一个“功能”和实现一个功能细化的“任务”。后来,当我看到Scrum的书籍后,看到Sprint和任务板时,才知道自己的实践与Scrum的某些实践竟有如此相似之处。我困惑很久,想不到用什么词来表示一个“功能”和实现一个功能所需要的“步骤”。Scrum使用“故事”和“任务”来定义它们,我认为非常的准确到位。

    但是日计划的工作分配与Scrum的工作分配是不同的。实施日计划是由项目经理主导的;而Scrum强调由程序员主导。至于这两种方式,哪一种更好。我觉得可以结合具体的情况进行不同的实践。

    如果是程序员成熟度比较高的项目,可以由程序员来主导。程序员成熟度较低和工期很紧的项目,可以由项目经理来主导。总之,这都需要程序员和项目经理达成一致。程序员需要向项目经理承诺。

    Scrum会对每个任务进行事先估算,而日计划分配工作任务前才会进行估算,并且只为每个人分配工作量为1人天的任务总和。

日计划样例:2009-3-22程序员L工作计划
开发人员  今日计划工作及完成情况
序号 工作任务 优先级 完成标准 是否完成 完成百分比 完成情况 未完成原因 检查人
L 1 订单管理模块DAO实现 50 单元测试通过          
2 与用户确认页面原型 10 用户确认邮件          

    程序员L任务1的优先级为50,任务2的优先级为10。这并不表示两个任务的重要程度相差40,而是表示L当天应该先做任务1,再做任务2。

    笔者认为这种日计划更加灵活。因为项目经理可以灵活的设置任务。Scrum的任务都是依据故事。日计划甚至可以把与开发根本不相干的事情包括进来。

    当天要完成哪些任务是由项目经理先计划的,但是程序员可以提出不同的意见。双方达成一致。并且任务是可以量化和检查的。因此,事先还要设置完成标准。一旦程序员与项目经理达成一致,就相当于程序员向项目经理承诺,今天可以完成这些任务。

    对于成熟度比较高的程序员,完全可以由程序员先提出计划。然后,由项目经理进行评估和检查。双方达成一致后,就把任务放入日计划的工作任务表中 

4.为什么要检查?怎么进行检查?

    如果没有检查,计划就是无效的。

    日计划强调提交可交付的成果。虽然事先制定了标准,但是程序员和项目经理可能会对可交付成果的理解不同。项目经理如果要清楚地了解到项目状况就必须要亲自进行检查。

    如何进行检查?项目经理一定要在现场工作,最好的办法就是让他演示给你看。对于不能演示的任务就进行抽查。因为事先已经制定完成标准,大家只需要按规矩办事即可。

    并且一定要填写完成情况,以便后期的跟踪。

    5.如果程序员不能完成日计划怎么办?如何才能够使程序员能够完成日计划?

    程序员不能完成日计划时,也就是进度出现了偏差。项目经理一定要与程序员一起分析偏差的原因,并记录下来。进度发生偏差最有可能的两个原因:计划不合理和计划执行不力。

    计划不合理包括:对任务的难度和工作量估算失误,对程序员能力的估算失误,或者程序员的工作方法存在问题,需要支持和协助等。

    如果是对任务估算发生失误,就需要重新进行估算。这正是日计划和检查带来的好处。项目经理需要重新调整计划。

    如果是对程序员能力估计失误,项目经理也需要重新进行调整,如换人,或延长时间。

    如果是程序员工作方法存在问题,就一定要进行指导,或者安排其它人员进行协助。

    如果是计划执行不力,也要找到最核心的原因是什么?是意愿不高?中间去做其它事情?工作习惯如此?都需要找到核心原因,方可对症下药。

    在我的团队中,绩效考核的几个核心指标:工作效率*工作效果*工作量

    不能完成日计划,会直接影响到月底的绩效和奖金。

    如何才能够使程序员完成日计划?首先是计划一定要合理,要考虑到个体差异,分配任务在其能力范围之内。日计划一定要获得当事人的承诺。检查和跟踪一定要到位。要与考核挂勾,做到会得到什么?做不到会有什么后果?

    六、没有银弹

    是的,没有银弹。没有任何一种方法可以保证项目一定能够成功。日计划也一样。目标、计划、执行、控制构成管理的核心。所谓工作成熟度和团队成熟度其实都可以归纳为“执行力”。日计划只是一种管理实践,在不同的环境可能会有不同的实践方法,并不是一层不变的

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21011012/viewspace-608585/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-29

  • 博文量
    17
  • 访问量
    24638