极客时间之《说透敏捷》学习笔记

  《说透敏捷》是微信公众号“极客时间”推出的一栏关于敏捷实践的简单专题课程,总体就12篇文章,作者就自身的长期敏捷实践,总结概括性的讲述了关于敏捷实施的一些问题,针对敏捷入门者,可能会起到一个拨云见雾、画龙点睛的启示作用,但毕竟专栏篇幅有限,不可能面面俱到、十分具体。以下是个人的一个学习笔记。
 

一、开篇词

1、重视敏捷,让你的研发管理少走一些弯路

  • 研发管理从无序状态到瀑布模式、敏捷模式
  • 职业竞争力
  • 熟读了敏捷的价值观和原则,又学习了很多敏捷的方法和实践,从管理实践到后来的技术实践,从单一团队管理到大规模敏捷,都一一涉猎
  • 从为什么需要做敏捷(why)、什么是敏捷(what)和怎样推进敏捷(how)三个角度来讲述敏捷转型过程中的那些事儿
     

二、原理篇

2、灵魂拷问:如何利用敏捷思维更好地解决实际问题?

  • 敏捷毕竟是一场变革,它本身涉及很多人的因素,比如人的习惯、团队文化的改变等等,而且它的核心点是持续改进,可以说是一场没有终点的旅行。
  • 就连其提出人温斯顿最后都承认说:“在我的经验里,瀑布模型在大的软件开发中从没真正起到作用”。
  • 软件研发和传统的生产管理不同,它的产出物具有强烈的不确定性。而瀑布模型,其流程和步骤都是规定好的,且计划与生产分离,说白了更适合确定性高的工作。那么在这种不确定性很高的研发工作面前,我们以处理确定性高的工作的方式和流程来进行管理,毫无疑问是不奏效的。
  • 把需求按优先级排序形成需求池,迭代地进行研发
  • 我先给研发中心加业务部门的所有人做了培训,又将组织做了变革,将他们分成了一个个特性团队;接下来,我把大需求拆分成小需求,对需求列表进行梳理,排列优先级;最后,我又让业务部门参与进来,迭代地进行研发,每个迭代结束后交给业务人员验收,提反馈。
  • Google公司他们的工程师文化跟敏捷所倡导的以赋能和信任个人为中心的文化就是非常契合的。
  • 我们现今的世界,已进入 VUCA 时代,我们正面对着一个易变(volatility)、不确定(uncertainty)、复杂(complexity)和模糊(ambiguity)的世界,而敏捷快速响应变化、允许试错、小步快跑的特点无疑是符合时代潮流的。
     

3、老生常谈:你真的知道敏捷到底是什么吗?

  • 敏捷的初心是通过一系列方法来让我们的研发工作更加灵活、有序和高效,所以敏捷的价值观重视人的能动性,强调人与人之间的协作,也更重视对变化的应对,这些都是为了能够更好、更灵活地组织和管理研发工作,但如果“流程和工具”、“ 详尽的文档”、“ 合同谈判” 以及“ 遵循计划” 同样能让研发工作更有序和更高效,那敏捷是不反对的,也不会放弃不做,这才是敏捷的真谛。
  • 针对交付,敏捷希望能够尽早交付可工作的软件给客户,而不是最后一次性交给客户,并希望交付的间隔时间越短越好。所以说,敏捷中的“快”其实指的是反馈更快,反馈更及时。
  • 一句话,敏捷 = 价值观 + 原则 + 一系列符合价值观和原则的方法。单纯说敏捷是一种方法,肯定是片面的;只强调敏捷的价值观和原则而不重视方法也是不对的,因为那样敏捷就飘在空中,不能落地了。
     

三、实战篇

4、评估诊断:成功迈出敏捷推进的第一步

  • 推进敏捷涉及到评估诊断、团队敏捷试点、大规模推广这三大步骤。
  • 推进敏捷的第一步是评估诊断,其目的是在转型之前,让企业或者团队了解自己的现状、存在的问题和痛点。采用的方法是四步法:选定代表性项目、访谈评估、制定转型计划和沟通。
     

5、团队试点(一):让你的敏捷实践“事半功倍”

  • 试点工作的展开可以分为试点前准备和试点推进过程两步。
  • 敏捷实践毕竟属于一场变革,与其他所有变革一样,都需要先从局部试点试水,只有在试点中积累了切实的经验教训,确定了可行性后,才能去大规模推广。如果不先在试点试水,就贸然在全局上推广,一旦在推进过程中遇到水土不服等问题,不只阶段性的成果会前功尽弃,想倒回去做新的改变也更不容易,最终整个变革大概率会走向失败。
  • 我建议你选两个或两个以上团队来进行试点。如果只选一个团队,孤品风险太大,也没有竞争效果;而两个或两个以上团队容易产生竞争性,对比效果明显,大家都会争着把事情做到最好。当然,这也要看敏捷教练的数量,一般一个教练一次只能带 2~3 个团队,否则一个教练的精力是没有办法照顾到每个团队的。
  • 所谓“凡事预则立,不预则废”,在推进团队敏捷试点之前,你要挑选好试点团队,并做好试点工作前的充分准备。如何做好准备工作呢?一句话:调整好结构、组织好人员、划定好需求、搭建好架构、选择好方法和工具、布置好办公环境。你要注意,这些准备工作是相辅相成的,每一步都马虎不得。
  • 在 B 公司,起初我们在管理实践上选择了 Scrum 方法,在技术实践上则选择了单元测试、自动化回归测试,还有搭建 DevOps 流水线。
  • 工作过程管理工具,主要指研发作业流程管理工具,比如 Jira 和 Trello 等,国内也有人用禅道。
     

6、团队试点(二):打造一支无往不胜的敏捷团队

  • 在做团队敏捷试点时,团队的执行力、战斗力是关键,可以通过三种方法唤醒团队的活力:

    • 推进试点前,制定“社会契约”,保证团队敏捷工作的有序和高效;
    • 推进试点过程中,开展定期的“回顾会议”,引导团队自发思考,激发团队的自主性,使敏捷工作更加顺畅;
    • 在试点过程中和结束后,通过“成绩墙”和“错题集”记录团队敏捷的成长,总结经验。
  • 回顾会议是有时间盒的,一般不会超过 1 个半小时。在前几次回顾会议中,团队会提很多关于敏捷实践的问题,但我们的时间有限,所以如果问题几句话就能解释明白,通常我会当场解释清楚,否则我会安排专门的时间来和团队解释他们的疑惑,而不会把会议拖得过长,占用过多时间。

  • 其实打造一支无往不胜的团队并不难,只要你善于利用上面我给出的几种方法,善于用同理心理解团队,那么你离敏捷实践的成功就不远了。而你也要注意的是,做团队敏捷试点不是目的,我们的目的其实是通过试点总结敏捷实践的经验和教训,以便我们给其他团队导入敏捷时有所参考。
     

7、规模化推广:复制粘贴试点的经验就够了吗?

  • 试点涉及的主要是团队内部的敏捷,而规模化推广还要涉及团队间的敏捷。

  • 关于怎么做敏捷的规模化推广,当前有两个主流的框架,SaFe(Scaled Agile Framework)和LeSS(Large Scale Scrum)。

  • 敏捷的规模化推广不是对试点经验的简单拷贝,也不是找来几个规模化框架往企业身上套,而是需要根据企业的研发管理痛点和需要解决的问题,根据实际情况寻找解决方案。当然在这个过程中,成熟的规模化框架可以给予我们参考。

  • 我认为,在规模化推广敏捷前,还是要从企业或团队的痛点切入,看他们究竟需要解决什么问题。分析具体问题后,你可以从下面这些方面考虑怎么去规模化推广敏捷,并形成自己的规模化推广方案:

    • 选择合适的规模化推广策略。
    • 做好敏捷文化铺垫,培养好敏捷的中坚力量。
    • 搭建适合敏捷的工作环境,做好必要的工具和自动化准备。
    • 组织级别的敏捷度量以及持续改进。
    • 重视大型团队的敏捷导入与推广。
  • 大型团队敏捷的导入和推广,首先要打造端到端的、从需求到开发到测试到运维到运营的敏捷全生命周期,向业务敏捷靠拢。

  • 确立产品负责人制度,将过去以“项目”为中心的管理改为以“产品”为中心的管理。

  • 要建立各团队间的敏捷实践,就需要提前安排支持工作。

  • 几年以后的今天他们内部已经完成规模化敏捷 1.0,目前正在循序渐进地推进规模化敏捷 2.0,2.0 的重点在 DevOps 方面的建设。

  • 规模化推广敏捷的核心是大型团队的敏捷导入与推广,主要集中在业务敏捷和团队间敏捷两点上。你可以通过定制度、定反馈机制推进业务敏捷,可以通过在管理实践上建立沟通机制,对齐团队目标来保证团队间敏捷的高效和有序。当然除了这一点,你也需要统筹全局,从推广策略、文化、环境等方面完成整个敏捷规模化推广的持续改进。
     

四、策略篇

8、填坑指南:填好这4个坑,快速做对敏捷

  • 不了解和分析现状就直接推进敏捷是非常不靠谱的,必须看清现实,摸清项目的痛点,在解决痛点的基础上导入并推进敏捷才是可行的。
  • 不理解敏捷实践背后的意义,把敏捷当作一种新的流程,而忘记敏捷的核心是持续改进
  • 通常来说,敏捷推进会经历三个阶段:做敏捷(doing agile)、思考敏捷(thinking agile)和思想敏捷(being agile)。
  • 首先,你一定要认识到 Scrum Master 在敏捷实践中的重要性。在团队还不成熟的时候,他负责宣讲敏捷的价值观、理念,也负责具体实践的导入和守护。一个好的 Scrum Master 在引导(facilitation)、教育(teaching)、辅导(mentoring)、教练(coaching)这四个方面都有很强的能力,并能根据具体的情景选择使用哪种能力来帮助团队体验敏捷带来的益处,坚定维持团队新养成的敏捷习惯。在领导力方面,他具有服务型领导的理念,是团队的主心骨,在构建敏捷文化等方面对推进敏捷具有很大的意义。
  • 其次,要想将敏捷推进到底,必须在基层留有敏捷的火种。
  • 推进敏捷时要通盘考虑整个链条应该怎么推进。
  • 敏捷是个整体工程,需要从全局上来考虑怎样去推进。在前期,要做好诊断和规划,在解决痛点的基础上导入适合自己的敏捷方法;推进过程可以分步进行,要及时排查每一步中出现的新的阻碍;要加强协作,打通研发管理的全链条,必要时要成立高层参与的敏捷督导团队,请高层领导帮忙推动;在整个敏捷实践过程中都需要有能力的敏捷教练陪伴,并在推进过程中培养出适合自己团队的 Scrum Master。
     

9、避雷策略:如何防止你的敏捷变为“小瀑布”?

  • 先把大项目或需求做一个模块拆分,然后一个一个模块做下去,和瀑布模式相比,这种方式有了一点进步。然而,究其本质,仍然还是瀑布,我们一般称它为“小瀑布”。小瀑布依旧是瀑布,它并没有改变瀑布模式的宿命,它离真正的敏捷还有相当长的一段距离。
  • 先把客户的需求拿来看一下,挑选好并先从有价值的、优先级最高的需求开始做。在敏捷实践中,我们工作的结束点不应该是把之前所有计划的工作做完,而是把客户需要的工作做完。
  • 不管是使用哪种拆分方法,做需求拆分的目的,都是把大需求拆成一个个能够独立开发测试的小需求。
     

五、管理篇

10、内部教练:守护敏捷实践,求人不如求己

  • 培养自己的内部敏捷教练
  • 敏捷教练是帮助组织或团队推进敏捷实践的人,这个职位需要具备的能力,简要归结成两点:懂敏捷、能“教练”。
  • 懂敏捷指的是一名合格的敏捷教练,首先要有扎实、完备的敏捷知识,要有推进敏捷实践的经验和技术,这是能“教练”的基础。
    能“教练”指的是敏捷教练既要能教授团队什么是敏捷,给团队讲授基础的敏捷知识和敏捷背后的意义;又要能给团队示范和辅导具体的敏捷实践怎么做,通过引导团队会议等引导团队的敏捷推进;同时,他还能用一定的技巧来引导和启发团队主动思考,主动改良自己的行动。
  • 在一个庞大的组织中,敏捷教练可以按技能和分工的不同分为高级敏捷教练、中级敏捷教练和初级敏捷教练。
  • 从分工上来看,高级敏捷教练负责组织级别的敏捷事宜,包括培养初级、中级敏捷教练,新团队的敏捷导入,以及咨询和处理疑难敏捷问题等。中级敏捷教练通常负责几个小团队组成的一个部落的敏捷事宜,负责部落内各小团队的组间协同等等。而初级敏捷教练则主要负责一个一个小团队的敏捷事宜。
  • 由于初级敏捷教练是直接带领每一个敏捷团队的,且数量庞大,所以我们培养内部敏捷教练的主要精力也放在培养初级敏捷教练身上,而中高级敏捷教练也是在初级敏捷教练基础上逐渐成长起来的。
  • 初级敏捷教练需要先参加敏捷基础培训、设计思维培训和产品负责人培训。紧接着会安排实战工作坊,因为在敏捷实践过程中,有些问题只靠掌握基础知识是不能解决的,还需要将这些知识转化成实战技能,这就需要练习和实践。除了以上两个常规的活动以外,我们还有一系列在线培养初级敏捷教练的活动,这对于没有时间参加几整天实战工作坊的初级教练来讲,是一个非常不错的补充。除了基础培训和安排实战工作坊,高级教练还会为初级教练提供一对一的教练服务。
     

11、服务型领导:在敏捷中你该怎样提升自己的领导力?

  • 作为新时期的一场变革,敏捷固然会带来组织方式和文化理念上的各种改变,但与此同时,它也对原来的领导方式和领导力有了新的要求,激励领导者革新管理方式,在敏捷这一新形势下持续提升自己的管理能力。
  • 我们需要的管理方式和领导方式是,管理者和团队一起,在短时间内对新的市场要求做出快速反应。而符合这种条件的新型领导者,我们称他为“服务型领导者”。
  • 简单来说,这指的是领导者首先要是一个服务者,要为整个团队服务,拉近他与员工的心理距离,这样才会取得团队的信任。从管理目标上来说,他的目标是和团队成员共同成长,所以做任何事的首要动机都是为团队中大多数人谋取利益,由此团队成员才会更愿意跟随他,努力工作并取得整个工作的胜利。
  • 首先,作为一个服务型领导者,给员工建立心理安全机制是必不可少的,只有这样,才能真正拉近与员工的心理距离,更好地达成团队目标。
  • 领导者能在不同的情境下运用不同的领导力来指导和支持团队成员完成目标或任务。
  • 一般来说,有两种基本的领导行为:
    指导性行为:告诉他人应该做什么,何时做,如何做,并经常提供结果反馈;支持性行为:鼓励、表扬他人自力更生解决问题,倾听意见,并让他人参与决策。
  • 在如今变化快速的环境尤其是敏捷的环境中,要想做好一个管理者和领导者,一定要具备“服务型领导”的能力。服务型领导的核心是团结员工,形成凝聚力更强的团队。作为一个服务型领导者,首先要从内心里有服务意识,要给员工营造安全的心理环境,拉近与员工的心理距离。还要有足够的能力来从语言和行动上让员工感受到他们是被关怀的,这就需要掌握情境领导力,针对不同的情境,使用不同的领导风格。
  • 《情景领导者》
     

六、结束语

12、用敏捷提升自己,从敏捷走向未来

  • 讨论到最后,大家一致认为,未来的人才一定要具备这 6 大能力:健康力、交往力、学习力、专注力、批判力和创造力。

  • 敏捷虽从软件研发中来,却并不止于此,对敏捷的使用已经远远超出了这一行业,因为敏捷的很多思想,都可以在很多领域和工作中发挥价值。

  • 敏捷学习的高阶程度不是你学会了几种实践方法,而是你真正掌握了这背后的敏捷思维,并且能用这些思维来助益你的工作和生活。

  • 敏捷书单:
    《敏捷教练:如何打造优秀的敏捷团队》、《敏捷软件开发:原则、模式与实践》、《Scrum敏捷项目管理》、《硝烟中的Scrum与XP》、《敏捷回顾:团队从优秀到卓越之道》、《团队协作的五大障碍》、《用户故事与敏捷方法》、《持续集成》、《持续交付》、《Devops实践》、《有效的单元测试》、《测试驱动开发》、《重构》、《代码整洁之道》

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值