向外国大师学习敏捷式开发?嫦娥掩面而笑

公告:因企鹅审核规定,本公众号从《德国IT那些事》更名为《欧盟IT那些事》。
学了那么久敏捷开发理论,绕了一圈,原来核心理论和实践都写在中国五年计划里。

作者 | 欧事君

编辑 | 欧事君

先来看一份15年前的老报纸。

2005年《科学发现报》

这份2005年的《科学发现报》一角写着:“国防科学工业委员会领导对外宣称,中国探月计划已进入实施阶段,3年内,一颗属于中国的卫星将开始绕月飞行;6年内,中国月球车将在月面软着陆;2020年之前,中国研制的机器人将把月壤样品采回地球。”

就在昨天,嫦娥五号圆满完成采集月壤样品的任务,顺利回到地球。

中国人,精准地完成了这15年前的计划中的每一步。

1计划不如变化?

按2005年《科学发现报》列出的各国探月时间表:日本将于2025年在月球建立基地;印度计划在2008年发射第一艘无人登月飞船“月球飞船-Ⅰ号”;俄罗斯登月飞船将在当年夏天首次试飞;美国将再度登月的时间定在2015年,且最迟不超过2020年。此外,欧洲计划在2020年实现载人登月,同时完成月球基地建设;

然而,十五年后,当嫦娥五号在月球背面孤独地挖土时,环顾四周,却不见一个当年一起许下豪言壮语的小伙伴。只有两具冷冰冰的先驱的尸体,2019年来自印度的”月球飞船-2号“和以色列的”创世纪“。

每个国家都是在验证”计划不如变化“这句生活工作箴言。除了一个国家。

这十五年间,从嫦娥一号到嫦娥四号,中国连续执行5次探月任务、6次发射成功。通过探月一期、二期工程,中国已掌握奔月和近月制动、对月球进行环绕、正面和背面软着陆、巡视和月地返回探测等关键技术,同时形成了较完整的探月工程体系。

除此之外,北斗全球卫星导航系统星座部署今年6月全面完成,也是圆满完成了近二十年的大计划;中国首个火星探测器“天问一号”顺利发射升空。

2敏捷的一点联想

从研制生产到发射试验,五大系统,上千家单位,数万名参试人员。探月项目这么复杂的工程,都能按时完成计划,那么IT项目呢?

相比传统行业,IT行业常常抱有来自新兴行业的优越感,并且IT项目往往自诩拥有其它行业项目无法比拟的复杂度。这种自诩某种程度上也并不夸张,一个大型IT数字化项目,肯定是大规模脑力和体力劳动力多方面协作的结果。

从软件构架上说,跨越了终端服务、后端服务、数据库,各类中间件,服务器,测试QA,以及发布部署等多种服务和组件。从软硬结合上说,跨越了用户终端,路由网关交换器,服务器,虚拟机,数据仓储,中间件服务设备,各类传感器等等。从工作职责来说,包含了前瞻研究,开发,项目管理,测试,发布,客户支持,团队管理等等。一个系统出了问题,可能是其中任何一环发生了错误。

如今的IT项目的复杂度,导致传统的瀑布式项目开发流程已经不再能跟上这种多方面协作的进程。

传统的瀑布式流程,从计划、开发到上线运行,三个阶段非常清晰。每个阶段顺序必须是从上到下,严格按照时间先后进行。而且环环相扣,在每一个阶段都必须有成果然后,才能进入到下一个阶段进行。

但是,计划赶不上变化,即使前期在计划研究需求上的时间足够长,人们也很难在需求阶段分析和挖掘出今后所有的需求。相当多的需求会在开发中甚至用户使用过程中才逐渐出现。而瀑布模型,将这种问题的发生推迟到测试或用户使用阶段,极大的增加了返工或变更可能。而且它过于强调原定计划,同时也束缚了开发人员在研发过程中的创造性。

所以敏捷开发方式应运而生。

敏捷式开发通过短周期迭代,尽可能早的交付可用的迭代小版本,以此拥抱和适应变化。

瀑布式流程里,任何不是经过测试通过的功能都无法把它标记成已完成。因此在敏捷开发里面换了一种思路,先把项目拆分成若干个粒度差不多的小功能,一次完成一个。打比方。有60%的功能点通过验证和测试,就可以说整体进度完成接近60%。这种可视化的评估进度模式在瀑布式里就难以做到。

敏捷方法论和思想中,核心是从对项目本身的关注,转到对团队自我管理,沟通和协同交互,以及自适应的关注。

3敏捷万能?
经过近二十年的发展,敏捷式开发几乎已经成为IT行业的项目开发标准。相比瀑布式,采用敏捷式开发的项目的成功率高出了一截。但是,一些没用过敏捷方式的公司或团队开始觉得敏捷是个万能药,觉得行将就木的项目开发遇到问题,只要用上敏捷,项目立刻就能枯木逢春,起死回生。
不管这玩意好不好用,形式上先敏捷起来。
  • 首先空出一间会议室,放几个颜色鲜艳的沙发,嗯,有点互联网那味。了

  • 每天都要站会,不管有事没事,团队成员先轮着说一圈,没做事也得编点事装出很忙的样子。

  • 做计划按小目标来,但小目标也需按传统流程开两三天会事无巨细地讨论。

  • 工作计划按Sprint(冲刺)做出来,两三周一个Sprint,但这期间管理层时不时丢给团队一个新任务,一个急着要的新需求,或者之前版本出现问题,需要紧急Hotfix。

  • 开发团队不重视测试,甚至不知道什么是TDD(测试驱动开发),没有集成测试。

  • 管理层不重视ops,觉得dev是dev,ops是ops,甚至团队开发人员也这么想,ops这“脏活累活”全部扔给印度外包公司。

  • 无视技术债,匆匆忙忙地不停开发新Feature,整个项目就像一个定时炸弹,不知道什么时候爆,哪里爆。

  • 以传统行业视角看待软件开发,觉得只要给出足够人员和时间,就一定有产出,无视Senior和Junior的巨大产出差异。坚信十个女人一个月可以生出婴儿。

  • 表面上是整个团队担责任,没有明确负责人,没有问责制,出了问题互相甩锅。

  • 不重视Sprint Retrospective复盘会,不重视总结,摸着bug过河。

......等等等等。
以上随便哪一条,都可以让人嗅到项目腐败的气息。想必读到这里的朋友,脑中会浮现更多的自己公司项目里出现的问题。
最终项目走向失败时,负责人还能把锅甩给敏捷流程:这玩意不好用呀。
4Cargo Cults

第二次世界大战太平洋战争时,美军于太平洋的美拉尼西亚岛建立临时基地。当时岛上的土著看见美军于「大铁船」(军舰)内出来,觉得十分惊讶。此外他们也看到有一些「大铁鸟」(军用飞机)运送穿着美军军服的人。

这些土著看见这种情况感到很惊讶,并觉得这些「大铁船」及「大铁鸟」十分厉害。加上美军也提供部分物资给土著,而这些物资对土著来说十分有用,结果令这些土著将美军当作神。

第二次世界大战完结后,美军离开美拉尼西亚岛,只留下一些美军军服及一些货物。这些土著便认为这些货物具有神奇力量,又相信「神」(美军)他日会回来,带来更多货物,使他们展开一个幸福新时代。

当然,美军在战后再没有回来,因此这些土著便自己发展出一套敬拜仪式,崇拜美军军服以及货物。该宗教的表现形式是土著会穿着美军军服升起美国国旗,图腾则是木刻的飞机。一般把这种新的宗教被称为「约翰布鲁姆教」。

这就是Cargo Cults,所谓的货物崇拜,特指当一些人看见外来的先进科技物品,便会将之当神一般崇拜。

人类的认知过程果然都是相通的,那些盲目崇拜敏捷开发形式却又不懂其精髓的的团队,和美拉尼西亚岛的土著,有多大区别呢?

5近在眼前的案例

我们常把敏捷开发的学习方向放在国外那些Master,费力的学习理论,考取证书。但如果我们把中国的探月计划,以及其它一些大型科研或者大型工程计划拿出来看一看,这不就是妥妥地敏捷式开发优秀案例嘛。

中国工程院院士,探月工程首任总指挥栾恩杰接受采访时说:

当时在提出总体规划的时候,科学院同志提出来,不但要我们做这样一个探测,希望我们还要做基础的就地探测,然后最好能像美国那样派宇航员拿回了很多东西,俄罗斯是送到月球,带回来一些东西。就提出这样三个目标,能不能达到?

客户开始只提出了三个模糊的用户需求:探测,就地探测,带回来一些东西。

后来大家都知道了,经过科学的论证和计划后,中国嫦娥工程整体可以分为“探”、“登”、“驻”三大步骤,概称“大三步”,分别指无人探月、载人登月、长久驻月。其中探月部分便是目前实施的“中国探月工程”,分为“绕”、“落”、“回”三个期段,统称“小三步”。

这里的三大步,无人探月、载人登月、长久驻月,就是敏捷开发里的大版本发布V1,v2,v3;每一大步里的小步,“绕”、“落”、“回”,就是V1里的分阶段的V1.1,V1.2,V1.3小版本发布。每个小步里的Story定义非常明确,需求细化。

比如: 一期Story“绕”:(嫦娥一号、二号),2007年启动,发射月球轨道器/硬着陆器,在距离月球表面兩千公里的高度绕月飞行,进行月球全球探测。

二期Story“落”:(嫦娥三号/玉兔号、四号/玉兔二号),2013年启动,发射月球软着陆器/巡视器,降落到月球表面,释放一个月球车,进行着陆区附近局部详细探测,着陆器还将携带天文望远镜,从月亮上观测星空。

三期工程“回”:(嫦娥五号探路星、嫦娥五号、嫦娥六号),2019年启动,发射月球自动采样返回器,降落到月球表面后,机械手将采集月球土壤和岩石样品(一次月球背面,一次在月球南极)送上返回器,返回器再将月球样品带回地球,开展相关研究。

每一个Story要完成的目标都能做到简单设计,避免过度设计,一口吃成一个胖子。每次发布的版本都有showcase,全世界都在公开检验。客户(中国航天局)有时间对每次迭代的成果进行确认,并提出改进意见。在当前版本有技术问题还没有解决的情况下,立刻着手解决,不急于进入下个Story。每一个Story也是之前一个Story的版本迭代,环环相扣,在每一个阶段都必须成功然后开始下一步计划。从这一点看,又属于瀑布式开发。

但是,敏捷开发,从某个角度看,也可以看成是分阶段的瀑布开发,每一次小迭代都是一次小规模的瀑布开发。敏捷和瀑布,只一种思维的变化,并不是两种互不相容的虚无主义,真正的项目管理大师并不会教条地只限于某一种思维,而对另一种思维方式100%排斥。

最终的项目目标是实现2030年中国航天员登月。国家航天局并没有在2003年直接提出一个空洞的2030登月目标,而是一步步来,并根据当时的环境和条件做出相应调整。实际上,中国登月工程截止2019年还处于研究阶段,未到决策阶段。充分做到了响应变化,拥抱变化。

再拿中国的五年计划来说,至今共实施了13个五年计划或规划。除了前期跃进式的失败外,近四十年的8个计划几乎全部按时按质地完成了计划目标。其中的共通之处,无非具有这几点:

  • 坚定和清晰的大目标

  • 小目标快速迭代

  • 能迅速修正和调整

  • 严格的问责制

当然还有最重要的一点:团队的主观能动性,能为项目自发性地提出意见并做出贡献。

最后还有:多做事,少BB
大部分项目都死于团队里这样BB的人居多;而太多国家也败于说话的人太多,做事的人太少。
参考

https://baike.baidu.com/item/%E8%B4%A7%E7%89%A9%E5%B4%87%E6%8B%9C

https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E6%8E%A2%E6%9C%88%E5%B7%A5%E7%A8%8B

http://news.cnwest.com/tianxia/a/2020/12/01/19331009.html

向中国嫦娥登月计划的所有前驱者和参与人员致敬!

本月新闻&文章回顾
可向下滑动

Xayn,德国自己的保护个人隐私的搜索App

记一次国内投德国IT工作机会

德国5G扩张速度超过预期

慕尼黑高等法院:脸书强制用户使用真实姓名合法

Zalando创始人之一Rubin Ritter将离职

2030年,德国将建100万充电站

欧洲Gaia-X云项目,华为和Amazon已参与

千名德国基尔居民测试疫情警报手环

2020.10新闻&文章回顾

2020.09新闻&文章回顾

2020.08新闻&文章回顾

2020.07新闻&文章回顾

2020.06新闻&文章回顾
2020.05新闻&文章回顾
2020.04新闻&文章回顾
2020.03新闻&文章回顾
2020.02新闻&文章回顾
2020.01新闻&文章回顾
点了在看,年薪百万
(0)

相关推荐