1.每天8:30-8:35,项目组召开晨会。由项目经理列出每个开发人员的工作清单,并对每个工作任务标注优先级别,设定任务完成的标准,指明当日必须要完成的任务,并得到责任人的承诺。
2.每天下班前20分钟,由项目经理依次检查开发人员的工作。评定工作是否完成。如果有开发人员未能完成任务,一起分析任务未能完成的原因。然后召开一个简单的会议,介绍当天工作的完成情况及当前阶段的项目状态,未完成任务的开发人员需要加班完成。
每天早晨的会议我们称之为晨会,下午的会议称之为夕会。
日计划的实施环节:设定目标,制定计划,检查,反馈。
日计划的特点:
1.开发人员每天在晨会承诺完成的任务必须当天完成,提倡日清日结。
2.提交可交付的成果。(事先制定任务完成的标准,并由项目经理进行检查,评定任务是否完成。)
3.做最重要的事情
4.保证把工作做完
五、我们是怎么实施日计划的?
日计划看起来非常简单,下面我们将对日计划的实践进行讨论。
1.实施日计划对项目有什么作用?
· 实施日计划,使项目有良好的沟通机制。每个开发人员都非常清楚项目的当前情况:项目已经完成了多少?还有多少工作没有完成?
· 日计划提倡可交付的成果,也就是每天完成的工作都一定是可交付的。
· 日计划提倡只做最重要的事情,使项目抓住了重点。
· 项目经理通过实施日计划,非常清楚每个开发人员每天需要完成哪些任务,每天必须完成哪些任务,以及每个人的完成情况怎么样?项目经理充分地掌握了项目的情况,可以及时调整计划,应对各种变化。
· 日计划实现了项目的良好沟通,每项任务都由开发人员和项目经理达成一致。
· 日计划通过晨会和夕会实现了项目组的信息共享。
2.实施日计划对程序员的作用
· 日计划列出了程序员每天要做的任务清单,并且对任务确定优先级。
· 对程序员的工作指明方向,并且要求程序员优先做最重要的任务,使程序员抓住了工作重点。
· 日计划要求提交可交付的成果,要求程序员把工作一步要做到位,养成良好的习惯。
· 日计划提高了程序员的工作绩效,程序员可以回到正常的工作时间,减少无谓的加班。
· 程序员比以前完成更多的工作而获得奖励。
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人天。