EduSoho架构师:从《用机器进行思考》看敏捷开发的本质

凯文.凯利在他的《失控》中提到了《用机器进行思考》这本书中的一个例子:在1948年以前,钢铁行业中的技术人员想要生产出厚度统一的薄板,结果都失败了。他们发现,影响轧钢机轧出的钢板厚度的因素很多,比如速度、温度、牵引力。他们不遗余力的一项项调整,然后又花了更多的时间进行同步协调,试图找到一个完美的条件组合,却没有任何效果。控制住一个因素会不经意地影响到其他因素。减慢速度会升高温度;降低温度会增加拉力;增加拉力又降低了速度,等等


后来,维纳提出了一个办法巧妙地解决了这个问题。他的核心思想是:反馈回路


轧钢时,在出口处安装一个厚度测量仪,然后把这个信号传送回控制拉力变量的伺服电动机上,形成一个回路。如果产出的钢板厚度超过设定值,伺服电动机就调整拉力,这样,钢板的厚度就会变小。如果,产出的钢板厚度小于设定值,伺服电动机就反向调整拉力,使得钢板厚度增加。这样,通过这个反馈装置,在不知道速度、温度、牵引力等等这些因素如何具体影响钢板的情况下,精确控制了钢板的输出。


轧钢系统中的反馈回路


   回到我们的敏捷管理的话题上来。简单的说,敏捷管理的核心思想就是:在流程中增加一个快速反馈回路


Scrum敏捷管理模型


    软件开发中的敏捷管理思想,要求团队在一个较短的时间内(一个迭代)生产出一个可运行的软件。这就如同轧钢时快速让钢板从出口产出一样。然后,可运行的软件会交付给用户使用,让用户提出反馈意见。用户就是厚度测量仪,他们在真实的场景中使用这个软件,便知道它是否符合实际需要。如果软件偏离方向,用户会就会发出相应的信号。


开发团队会定期开回顾会议和迭代会议,将用户的这些信号转变成下一个迭代的需求内容,让软件的特性朝着用户需要的方向发展。这个机制就像在流程中增加了一个回路装置一样,让流程出口的信号返回到入口,进行再加工。每一个迭代都会让团队向正确的方向上微微调整一点点。经过反复迭代,团队就能交付出满足需求的软件。


为什么PC时代通常使用瀑布模型,而到互联网时代更多采用敏捷思维?瀑布模型是Royce在1970提出的软件开发模型,这个模型源于对工业生产管理的模仿。由于工艺上的各种限制,工业产品从设计到交付有一个很长的周期,中途很难调整。比如生产飞机。厂家无法做到让飞机经常上天试飞,频繁重复各种故障。很多时候,故障出现一次就是致命的。因此,必须在设计阶段就把各种风险解决掉。



瀑布流开发模式


PC时代的软件开发,与工业制造有颇多相似之处。软件开发出来通过光盘销售,软件与用户的距离很远。开发团队收到用户的反馈周期长,无法形成一个有效的快速反馈回路。因此采用瀑布模型是合适的。


互联网时代到来后,用户和软件的距离大大缩短,反馈回路得以实现,敏捷开发思想便适时的出现了。


如果我们理解了敏捷的本质,就不会纠结于怎么开迭代会、怎么估点、怎么评审这些细节。不管怎么玩,只要始终把握正确的方向,就不会出错。


本文作者:

Stanley,阔知(EduSoho)架构师,负责EduSoho大数据团队及项目团队。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EduSoho资讯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值