美文网首页
敏捷团队的随笔

敏捷团队的随笔

作者: _缘来有码_ | 来源:发表于2017-07-16 18:18 被阅读0次

成长伴随迷茫,扛起问题一路前行,念念不忘,必有回响

在敏捷开发方面做了多年的思考,也做了很多的实践,依然困惑重重:

  • 多团队维护一套代码如何保持代码风格

  • 自组织的驱动力究竟来源何方

  • 团队究竟如何组建

把这几个问题的思考记下来,以便后面翻阅。

多团队代码维护

多团队对一套代码进行维护时,总会因为每个团队的要求不一样,导致代码内在质量的逐渐恶化。而对代码洁癖的团队来讲如梗在喉,该如何是好呢?

该问题无解也有解。

说它无解,其一,这跟每个团队看待代码的方式有关,敏捷的目标是多快好省,即使都是敏捷团队,整个实施过程也有很大的差别,何况大家对代码的理解!其二,即使别人写的很烂,那么多任务,其中一个“自以为”代码写得好的团队也忙不过来啊!从此处来看的确很难化解。

凡事无绝对,即使没有化解方法,总有某一些可以曲线救国的方式。

“多快好省”是敏捷的原始驱动力,我们先把“好”拿掉,那是专家级的评价,很难去衡量。所以能做的事情就是先把多、快、省的东西体现出来,这是所有人都认可的事情。

优秀程序员的效率比普通程序员的效率要高很多倍,体现在哪?就体现在同样的时间内能够完成更多的feature,更少的故障!

所以强调优秀代码本身,很难得到一致认可,如果没有优秀的外在表现,谁会去在意你的代码是否clean,架构是否优秀。

因此优秀的代码要体现出优秀的外在表现,当优秀成为一种习惯时,会有人注意到的,此时再拿出来优秀的代码,可能它就是别人必须需要遵循的标准。

此时随着所做守护团队认知水平的统一和提高,才能达到代码统一的可能。

TIPS:
代码质量需要较长的时间周期反馈,使得多团队都高标准难以实现。

团队组建

在团队自组织内驱力问题解答之前,先看看团队的组建,也许内驱力就迎刃而解了。

谈到团队的组建,不得不从团队的目标和团队竞争力来讲了。

团队目标

团队从成立起,就确定了用最优秀的代码,产出最优秀的产品。

实际上优秀的产品在实践中,更多的体现出来故障少,然而故障少其实也可以通过一些流程来做到,例如产品交付的DoD。

实践发现,DoD可以减少故障,但是做不到交付周期的变短。

所以团队目标还是得依靠人和技术来达到。

团队竞争力

团队竞争力就是人才,而程序员本身也需要有研发体验,而研发体验就是团队在人才方面的竞争力。

程序员研发体验不是更快的电脑,更舒服的座位,而是解决问题时被打断的次数有多少和有多快的开发反馈体验,前者代表着有多少自主性,后者是体现着当程序员的成就感。

程序员的大部分时间是工作,幸福感与研发体验强相关。

所以程序员体验优化是一个团队必须考虑的重要问题。

团队能力要求

到此时,敏捷团队的组建就显得比较简单了,只要能够为团队的目标和提高竞争力的做持续贡献的人。

那么问题来了

  • 如何减少打断
  • 如何快速反馈

如何减少打断

项目的管理会议实际上是有规划的,团队内部的打扰实际上是可控的,但是我们面临着外部来的各种需求、各种临时任务,导致打断变得频繁。

敏捷提倡的是timebox的概念,不希望我们在这段时间内被打扰。迭代的概念就在于这个timebox,你迭代要足够快,你受到的打扰就会降到最低。

例如来了一个临时任务,分析,讨论的过程中,如果能把上一个迭代的任务完成,那么这种打断造成的影响也会降到最低。

为了达到这个目标,就需要需求分析,代码开发能够尽快的完成,测试完成的非常快,这就要求团队的业务分析能力,技术能力,CI能力持续强大才能办到。

如何快速反馈

从需求到用户使用是一个比较长的链条,这里的反馈姑且定义成团队能给的快速反馈吧。

站在开发团队的角度,提交的代码能够快速部署,运行,看到需求的交付到测试部,通过测试部的测试,就算是快速反馈了。

为了能够提高反馈速度,团队级CI的持续运行和自动化用例的部署显得尤其重要。

所以团队的组建就要求能够满足技术,业务,测试,持续集成的人来完成这种事情。

自组织的自驱力

为了达到提升开发人员的研发体验,大家会持续努力的为之奋斗,因为它真的影响到了我们生活的幸福感。

那么努力的方向也就非常明确,别人以月为单位迭代,我们可不可以以周,可不可以以天为单位。

为了达到这个目标,实际上还是会让我们在技术,管理等方面都做到极致。

最后

我们明白所有道理,依然过不好一生

人才是最重要的,我也知道,可我如何找到一个靠谱的人呢?

人才那么贵,不可能挑最贵的,如何破解项目中的人品驱动开发,敬请关注下篇《人才的平台化培养》。

相关文章

  • 敏捷团队的随笔

    在敏捷开发方面做了多年的思考,也做了很多的实践,依然困惑重重: 多团队维护一套代码如何保持代码风格 自组织的驱动力...

  • 敏捷团队的特征

    在敏捷开发过程中,我们需要组建敏捷团队。优秀的敏捷团队有哪些特征呢? 1、小团队 敏捷团队的规模在3~9人,规模较...

  • 如何成为一个合格的scrum master

    Scrum Master是敏捷团队的核心团队成员。他们确保敏捷团队按照Scrum价值观开展工作并帮助团队使用敏捷技...

  • 浅谈全栈团队建设

    敏捷开发必然促成团队的全栈式属性;全栈或全功能团队必然更加拥抱敏捷。敏捷开发与全栈团队建设紧密相连,实施敏捷开发...

  • 敏捷思维方法论3-如何组建敏捷团队

    第三章:如何组建敏捷团队 人是最重要的,在开始敏捷之前,敏捷团队必不可少。 敏捷开发团队的人数不能太多,最好控制在...

  • PMI-ACP 案例分析-敏捷团队试点实施

    选择敏捷试点项目 试点团队看到价值以及后续的“好处” 组建敏捷团队 开发、测试再一个团队 开展敏捷导入培训 按照自...

  • 【翻译】什么是质量

    【本文翻译自Mike Cohn的博客】 敏捷团队生产高质量的产品。敏捷团队的成员编写高质量的代码。敏捷团队通过不牺...

  • Scrum Patterns:小团队(译)

    Bruce有话说 为什么敏捷团队需要是小团队,当然大型敏捷团队是由众多敏捷小团队组合起来的,这里暂且不提,这属于规...

  • 敏捷开发 | 如何在日事清上实践scrum3.0?

    开发团队应该如何敏捷?敏捷开发适合你所在团队的工作吗?你是不是在做假的敏捷开发?敏捷开发软件/工具有哪些推荐? 敏...

  • 6 团队和技术敏捷力

    敏捷宣言:坚持不懈的追求技术卓越和良好的设计,敏捷能力由此增强 为什么需要团队和技术敏捷力 团队和技术敏捷能力是业...

网友评论

      本文标题:敏捷团队的随笔

      本文链接:https://www.haomeiwen.com/subject/ouqxkxtx.html