提到敏捷,就一定会想到:团队自制,每个迭代都交付可用的产品。这是纸面的敏捷,实际运行中的敏捷相信大部分不是这样的,这是个终极愿景,达到这个终极目标的门槛太高了。

似乎有点跑题,其实这是真实感受,后面的观点,恰恰是对破解敏捷开发不敏捷的思考。

敏捷更适用于长周期的,需求分阶段明确的项目

先说说项目的类型。笼统划分类两种吧:

  • 一种是一次性项目,干完移交给客户/用户就完事了,没有延续;
  • 另一种是有继承性的,比如需要耗时几年的大项目,或者有持续发展计划的产品/技术开发项目,共同特点就是周期够长。

一般情况下,第一种类型的项目一般会有一名PM(项目经理)负责。至于第二种类型的项目就又有细分,一次性大项目一般要指派一位PM(项目经理)负责;有持续发展计划的产品/技术开发项目,这里就要引入另外一个角色PO(产品经理),总体负责长线产品/技术类项目似乎更合理(此时叫PM也无不可,职责明确就好了);对于比较大的产品,有必要切割成多个部分并行开发时,PO(产品经理)下会设置多个PM(项目经理)负责子项目开发。

对于第一类项目,当初始需求不明确时,一般会采用迭代的开发进程进行推进(瀑布过程模型适合需求明确的情况,而是迭代过程模型更适合需求不太明确的场景),很多情况人们会把应用了迭代过程模型的项目叫做敏捷,这里不过多比较迭代和敏捷,百度脑补一下就好了,两者有共同点,但绝不是一回事儿。敏捷需要逐步训练团队成员在项目中对能力的理解,一次性的项目做完就完事了,下一个项目还是不是这个效率受需求和环境影响很大,敏捷意义不大,但敏捷实践仍能够提供很多有意义的参考,比如敏捷会议。不要误解,这并不是说不可以用敏捷,可以视情况而定,不管黑猫白猫,抓得住老鼠就是好猫。

这里主要聚焦在第二种类型项目,对于周期比较长的项目,能够分阶段看到成果和矫正偏差,不至于到项目最后发现成果和需求不匹配而损失惨重,除了损失金钱,跟重要的是损失时间和团队士气,有不可取。因此,长周期的项目中应用敏捷,是个合理的选择。

PM(项目经理)和Scrum Master(敏捷教练)两种角色并存是一种事实

一般的习惯是,项目一定要有一个PM(项目经理),即使是敏捷项目。于是引出了很多争论,敏捷团队是自制的,不应该设置PM,Scrum Master就够了。不管怎样,在绝大多数实践里,PM(项目经理)是个必要角色,只不过在敏捷项目中,可能同时承担Scrum Master的职责,或者指派一位团队内成员担当Scrum Master角色。现实就是这样,PM(项目经理)和Scrum Master是并存的。

从敏捷里面看,PM确实与团队自制精神不符,但放大到组织层面,谁来为项目的成功负责,Scrum Master可以吗?回答基本上是否,因此两个角色并存是一种事实情况。PM负责项目的管理,对项目的成功付总体责任,关注的项目结果;Scrum Master为项目提供支持,引导和指导团队把敏捷时间作对,关注的是项目过程。

既然是并存,敏捷过程的质量,就需要PM和Scrum Master一起来保证了。这是就引出了两者的关系问题。

两者谁听谁的呢?有了这样的疑问,项目的敏捷之路注定不平坦。PM对项目结果负责,自然是PM话语权大,当感受到进度压力时,出现不顾项目过程直奔结果的情况自不可避免,出现项目暴雷的情况也就顺利成章了。

因此,个人认为,在敏捷中,Scrum Master除了支持作用,还应该给这个角色赋予监管的权利,以对PM的权利形成制衡。

Scrum Master(敏捷教练)应该对PM(项目经理)的权利形成制衡

实现制衡的第一要求,是Scrum Master不能是项目团队成员,与PM之间不应有隶属关系,否则很难按照独立的意志和要求完成其敏捷过程的引导职责。

同时,唯二的要求是,最好是Scrum Master隶属于PMO,项目QA同时担当Scrum Master的角色。这样,其对项目过程的引导接受PM的监督,同时反过来也可以避免PM的干扰来是项目过程执行到位。

如果QA人员的能力达不到Scrum Master的技能要求,对项目的监管工作可由QA执行,Scrum Master回归本职的教练工作,重要活动QA同时参加,使用QA的监管权对PM的权利形成制衡,对于运作不成熟的团队尤其如此。

敏捷不是目的,提高研发效率才是目的,因此敏捷不是要理想的按照纸面的规则生搬硬套,要循序渐进;同样,也不能因为敏捷推行的适应期内,因思想、行为的改变对研发效率造成了短期影响,就变得自我否定,认为敏捷不行,或者我做不了敏捷。这都是一叶障目。应该做好计划,按步骤推进,历史需要英雄,但绝不能把希望寄托在某个英雄身上,即使短期可以,长期也会难以为继,英雄终会老去。要通过体系的力量,影响人、感染人、培养人、激励人,组织赋能的敏捷更容易发挥作用。

以上为PM(项目经理)和Scrum Master(敏捷教练)的纸面探索,欢迎交流。如有幸被哪位已有践行的朋友看到,期望指教。

PM(项目经理)和Scrum Master(敏捷教练)不是非此即彼,也不应是隶属关系,应该有权利制衡相关推荐

  1. 什么是CSM(Certified Scrum Master) 敏捷教练认证?

    什么是CSM? CSM即Certified Scrum Master,Scrum Master负责确保所有人都能正确地理解并实施Scrum,确保Scrum团队遵循Scrum的理论.实践和规则.Scru ...

  2. CSM(Certified Scrum Master) 敏捷认证是什么?

    Scrum 是用于开发和持续支持复杂产品的一个框架.Scrum 基于试验性过程控制理论,借鉴了精益思想.时间盒.模块化设计等,并完整地体现了敏捷宣言和敏捷原则.Scrum 采用一种迭代.增量式的方法来 ...

  3. CSM(Certified Scrum Master)敏捷大师培训总结

    2011年4月14-15日,有幸参加全球敏捷联盟的CSM(Certified Scrum Master)培训,虽然我们在平时工作中一直使用Scrum开发模式,但是对Scrum的理论我还不是十分的清楚, ...

  4. 中文A-CSM认证项目Advanced Certified ScrumMaster进阶敏捷教练学习培养

    2017年8月,优普丰敏捷学院的Vernon Stinebaker老师成为中国和亚洲首位新CSP体系路径的认证教育者(Educator of New path to CSP of Scrum Alli ...

  5. 我做PM(项目经理)这段时间...

    做项目管理系统PM这段时间,每天都很忙,也没有太多的时间总结自己的所思所想,今天顺便整理一下最近的感悟. 1.招标之前所有需要做的工作以及公司的要求都要有个大概的认识,不能偏差太大,太大不容易控制.( ...

  6. 什么是CSM(Certified Scrum Master) 敏捷认证

    什么是CSM CSM,即Certified ScrumMaster,是Scrum联盟发起的Scrum认证.CSM可以帮助团队正确使用Scrum,从而提高项目整体成功的可能性.CSMs深刻理解Scrum ...

  7. Scrum Master与项目经理的区别

    常踩的坑:很多企业没有彻底地应用Scrum,而是对Scrum框架里的元素有所选择地应用.比如,组织里原来有项目经理或项目Leader的角色,在引入Scrum的时候,组织简单地把项目经理(PM: Pro ...

  8. Scrum Master的成功定义是什么?

    今天是你的第一天.这可能不是你第一次担任Scrum Master的角色了,但今天却不同.你面对的是一个新的团队.新的组织.以及面对完全不同的.一系列的挑战.\ 你曾做过这个工作,但并不处在这个环境,不 ...

  9. 敏捷转型行动笔记:内部敏捷教练实践

    在敏捷转型的推进过程中,抓好内部敏捷教练的培养是敏捷转型成功的基本保证,也是敏捷转型的源源不断的动力所在. <敏捷教练>一书的作者之一,瑞秋·戴维斯(Rachel Davies)对敏捷教练 ...

  10. 敏捷转型行动笔记:内部敏捷教练培训资料分享——认知篇(认识敏捷教练,摆正角色认知)

    分享一下今年给团队做的内部敏捷教练培训,本篇为认知篇:认识敏捷教练,摆正角色认知. 本篇的主要要点:认识敏捷教练,理清项目经理.Scrum Master与敏捷教练的关系,认清敏捷教练的主要职责,认清敏 ...

最新文章

  1. css3 box-sizing属性
  2. 超松弛迭代法求方法组的解(Python实现)
  3. Python的matplotlib—绘图(3)
  4. Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭
  5. python打印生成word_使用python调用zabbix接口截取监控图并生成Word文档
  6. c语言第四阶段在线作业,中石大(华东)12春(41400) 《C语言》第四阶段在线作业(自测)...
  7. (五)构建和训练深度伪造自动编码器
  8. kali linux 网络命令,Kali Linux系统连接Wifi无线网络命令:
  9. Python序列之字符串
  10. 对step文件进行信息抽取算法
  11. 19. 镜像二叉树(C++版本)
  12. 计算机组成原理——第五章
  13. Exception:No identifier specified for entity
  14. java 输入语句_java怎样输入语句
  15. 把 14 亿人拉到一个微信群,如何实现?
  16. c语言sobel边缘检测,C/C++ OpenCV之Sobel边缘检测
  17. 3D人脸重建(二) 数据
  18. CSS规范--CSS属性书写顺序和CSS初始化
  19. 网易微专业 前端工程师 学习笔记
  20. Mina中的支付交易snark

热门文章

  1. Excel 模块未找到,丢失了 Visual Basic 项目
  2. vue的tap插件_Vue.js的RTF编辑器– Tiptap
  3. 高端电子芯片助力传统油液颗粒监测升级
  4. 教你如何申请软件著作权(超级详细)--小白教学
  5. android 标签云的实现 关于x轴 冒泡排序~瞬间让你高达上
  6. 【小程序】小程序图像处理:图片配色分析
  7. 【H3C模拟器】基于端口VLAN的交换机配置实验(不同vlan互通)
  8. 微信小程序构建商城百度云_构建云存储应用程序
  9. 关于多线程MT和MD的区别。
  10. 汉诺塔演示程序(MFC)