zoukankan      html  css  js  c++  java
  • 当我们谈论计划时我们在谈论什么

    此文已由作者张晓燕授权网易云社区发布

    欢迎访问网易云社区,了解更多网易技术产品运营经验。



    当谈到项目经理的工作职责时,很多人脑海里蹦出的第一个词就是“做计划”。的确,项目经理的日常工作与计划这个词密不可分。本文中所讨论的“计划”特指“项目进度计划”,笔者将分享一些在做计划时的实践和感悟,供大家参考和借鉴。


    计划是什么?


    PMP的定义中,项目进度计划展现活动之间的相互关联、以及计划日期、持续时间、里程碑和所需资源。可见,计划不是简单地只有时间节点,其中包含了依赖关系、任务估算、目标分解和资源日历等众多内容,而且在计划的背后,隐含了时间、范围、成本的相互制约和平衡,干系人的沟通与确认,最长路径识别与风险管理等等。做计划着实是一种整合的艺术。


    我们为什么要做计划?


    笔者认为,计划其实是团队对于目标的承诺。团队对计划的看法,其实就是对“目标”和“承诺”的重视程度。为什么要做计划,笔者认为主要原因有以下几点:


    团队对于产出需要有时间目标和心理预期;


    团队需要对交付时间达成一致并作出承诺;


    团队需要计划来对未来工作进行合理规划;


    通过计划和实际之间的偏差统计,可以帮助体察团队状态。


    我们如何做计划?


    在笔者经历的“智能医疗”和“网易大数据”两个项目中,分别采用了“固定范围,灵活时间”和“固定时间,灵活范围”两种不同计划方式。


    固定范围,灵活时间


    这种方式需要明确版本范围,依据范围进行任务分解和估算,然后通过任务的依赖关系、资源的安排情况来进行规划,从而得到项目计划。


     


    这种自上而下的小瀑布模式,在传统项目管理中被普遍采用,团队接受度也普遍较高。当发生变更或实际和计划发生偏差时,往往延迟版本发布。其缺点也比较明显,如目标容易不聚焦、变更的影响往往较大、容易采用加班、降低质量等手段来追赶进度等。


    固定时间,灵活范围


    这种方式也称为固定时间盒,时间计划已提前规划好,然后依据时间盒来确定需求范围,其主要流程是:


     


    固定时间盒的方式在越来越多的项目中普遍采用,何燕华在《我们为何选择固定时间盒的计划方式》进行了详细介绍,笔者在这里就不再赘述。


    做计划的过程中会遇到哪些问题?


    笔者目前在项目中采用固定时间盒的计划方式,在做计划过程中遇到的问题和采取的解法如下:


    问题:


    团队反馈某项功能在一个规定的时间盒内做不完,团队要求延长时间盒


    解法:


    如某项任务估算较大,可能需要更合理地进行WBS,同时任务粒度拆分也有助于降低风险。同时需要明确,‘时间盒不等于上线,一个时间盒内可以多次上线,一项任务也可以持续多个时间盒。’


    问题:


    版本间的功能总是有差异,如何使每个阶段的盒子固定下来呢?


    解法:


    时间盒的固定,可以依据历史经验、团队评估、或对交付频率的要求来确定,对于需求、交互、视觉等设计阶段,因其特殊性可进行少量协调,原则上需保证开发阶段时间盒的一致性。同时,团队往往容易陷入依据范围来确定时间的工作模式,需要及时调整和纠正。


    问题:


    如果实际进度已经延期了,是否需要调整计划?


    解法:


    如果实际进度延期较严重,建议调整版本计划,并标明调整原因。若少量延期也可不做调整,后续阶段追赶达到目标。(注意对于时间目标不可变的情况不适用。)


    问题:


    版本过程中需求变更频繁,导致延期严重。


    解法: 


    固定时间盒的原则就是依据时间来调整范围。当固定的时间盒已经排满,若塞进更重要的东西,则需要拿出不那么重要的东西,一直塞的结果是盒子爆掉、任务一直做不完、版本一直延期、产出的目标和质量都不如人意。


    计划如何做的更好?


    如果迭代频率合适、延期率很低、任务拆分明确、工作量估算合理,就是好的计划吗?项目计划如何提升和改进呢?


    围绕目标:


    项目计划一定要与项目目标强关联,合理的计划一定是为达成目标而服务的。


    比如,项目处于时刻变化的市场环境中,那么评估项目计划的标准一定是对于需求变更的反应程度,团队是否可以适应变更并快速调整,才是关键;如果安全性和稳定性是项目目标,那么项目计划需要尽可能细粒度,每个节点的责任人和交付时间都需要明确,同时输入输出标准需要严格把关;如果项目涉及到多团队合作,那么在计划中体现各环节的衔接,保证对团队对计划达成一致就很重要。


    因此,衡量项目计划的标准,一定是要保证在合理的时间内,做真正重要的事情。


    接受变化:


    传统的瀑布型项目中,项目计划往往细致而严谨,每一个节点都要保证按期交付,如果实际进度有偏差,一定是通过进度调整来保证按计划进行。


    而在敏捷的理念中,事情必然会发生变化、需求必然会发生涌现,进度不是关键,如果发生了变化,比如需求变更、范围调整、团队变化、甚至是目标变更,更合理方式一定是调整计划,甚至推翻原有计划重新来做。但是这种变化不是随意的,一定需要对每一次调整进行总结和反思,来逐步优化改进。


    看的更深:


    每一个项目计划的背后,包含了时间、范围、成本的相互制约和平衡,干系人的沟通与确认,最长路径识别与风险管理等等。每一个时间点背后,一定隐含了一项或者多项最关键的因素。


    当某一个环节出现问题、某一个节点延期,需要看到背后的原因,并从项目计划中分析带来的影响,从而做出最合理的决策来解决现有问题。并非所有问题都会对项目本身的完成产生根本性的影响。项目的逻辑在于,使用较低成本,较快较好的完成既定目标。抓准主要矛盾,适当取舍,才是最佳的解决方案。


    免费体验云安全(易盾)内容安全、验证码等服务

    更多网易技术、产品、运营经验分享请点击

    相关文章:
    【推荐】 Persistent and Transient Data Structures in Clojure
    【推荐】 质量报告之我见

  • 相关阅读:
    生日快乐 Happy Birthday To Me
    提取与设置函数值
    相当牛的老师
    C#核心概念装箱和拆箱(什么是装箱和拆箱)
    网易云音乐代理,解锁变灰歌曲
    ASP.NET 水晶报表在iis中无法显示的解决办法 Beacher
    android开发 服务端设备类型判断 Beacher
    asp.net之图片验证码生成 Beacher
    c# 委托之异步调用delegate Beacher
    log4net 日志组件使用方法 Beacher
  • 原文地址:https://www.cnblogs.com/163yun/p/9961871.html
Copyright © 2011-2022 走看看