科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道从电影《Pulp Fiction》看软件敏捷

从电影《Pulp Fiction》看软件敏捷

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

究竟什么是精简敏捷,在最短的时间内用最快的速度为我们的客户提供最高的价值这需要敏捷的处理风格.

作者:Dick Sun的专栏 2007年4月25日

关键字: UML 框架 项目管理 软件工程 敏捷

  • 评论
  • 分享微博
  • 分享邮件

《Pulp Fiction》是我最喜爱电影中的一部,这部电影不仅仅拥有让人感叹原来粗话也能如此巧妙地贯穿成让人捧腹不止的诙谐对话。同时也拥有让人揣摩的神学意义。真正让我喜爱的是里面几个片段中表达出由于生存压迫而产生的随机应变的数理突发事件的机制。你看完前面一句话马上就会知道我说的是哪个片段,电影是分成好几个章节,最后一个章节是“The Bonnie Situation”,这个章节里有许多突发事件,这些突发事件的出现将整个电影推到观众意想不到但是很期待知道下面情节的高潮。和敏捷开发联系最紧密的就是当Vincent Vega(John Travolta扮演)用desert eagle(手枪)把合伙的小混混Marvin的脑瓜子打爆之后,开车的Jules(Samuel L Jackson扮演)和Vincent跑到一个朋友Jimmie(导演Quentin Tarantino扮演)家里避祸的那一场戏。随后出现了一个Winston Wolfe(Harvey Keitel扮演),人称The Wolf。


我们剖析一下下面发生的故事,Vincent在光天化日之下把同伙Marvin给打死了,车的后部洒满死人的脑浆和献血。观众一看就知道这下两个主角都完了。这就像一个开发小组一下发现设计的产品或是做事的过程种出现巨大的问题,需要马上的解决,但是问题非常严重,如何在最短时间内,用最快的速度,用最好解决方式处理好突发事件,就是敏捷事务管理的精髓。故事接下来的情节展示了敏捷与精简结合的处理方式,在最短时间内找到最佳解决方案,并解决问题。首先,Jules和Vincent迅速将车开到朋友Jimmie家里,Jimmie作为被动卷入的一方对这个问题很不满意,他变成了一个希望问题得到解决的客户(一个迫不得已而卷入整个事件的受害者)。Jules和Vincent一开始还想安慰Jimmie,Jimmie反而告诉他们如果不在短期内解决问题,麻烦会变得更大。我们做工程的,都碰到过这样的情况。电影中的解决方法我可在现实中从来没有见到过。首先Jules打电话给大老板Marsellus(Ving Rhymes扮演)要求请人过来解决问题。Marsellus一看就是懂得利用敏捷处理问题的经理,先是保证自己的员工马上让Scrum Master--The Wolf来处理后事,然后又打电话给The Wolf让他马上过去处理。

The Wolf不愧是Scrum Master中的高手。我想理想化的Scrum Master就长得跟Harvey Keitel一个鸟样,相貌平平,说话象打枪,做起决定想都不想,只要有特殊情况,他马上有解决方法。他先是拿到整个情况的现状,然后在9分37秒内赶到事发地点(平时他要花30分钟才能赶到事发地点,这样的效率可不让人吃惊,一点时间都不浪费)。这里我们确认一下各个角色,Marsellus是管理层,他想获得的结果是整个事件圆满解决。Jules和Vincent是处理人,他们是真正进行工作并解决问题的员工,他们想要的价值是自己能够从这样的糟糕问题中爬出来。Jimmie是个客户,他希望自己不被卷入这个问题。他想得到是整个事件就像没有发生一样。The Wolf是Scrum Master,他经验老道,知道在什么样的具体事件中运用什么样的方法来最快最佳地解决问题,他想要得到的是每个卷入事件的人物在最短时间内得到他们想要得到的价值。这样,他在管理层的价值也就显示出来了。

The Wolf查看了问题以后,马上提出了解决方案,先让Jimmie贡献出家里所有的清洁剂和打扫用具,Jules和Vincent先要将车里所有的人体部分全部清扫一边,不需要最干净,只要能够把最血腥的部分清除出汽车就好,然后用Jimmie家的床单被子把车里的座位覆盖上,接着Jules和Vincent要浑身清洗一下,换上干净的衣物,最后The Wolf,Jules和Vincent要把两辆车(一辆是The Wolf开的车)开到Hollywood外一家叫Monster Joe's Truck and Tow的废旧汽车处理中心去。这里的敏捷处理解决方案是:

任何需要几小时甚至一天的解决方法都是不可取的,只有耗时最短,最能解决当前问题的方法是可行方法,这是敏捷的要义。


不需要最干净的车,只要把车里大块的不干净的东西清除就好,这是精简的要义,不要最复杂最好的解决,只要简单的,容易做到的最佳解决就好。


不要给汽车座位换新的布罩,只要能够有效压住血腥和犯罪证据的棉被就可以了。这里也是精简的要义。
采用当前能够找到的最便宜的用料来完成需要完成的工作是精简和敏捷,寻找最好的用料,最好的解决方式,费时,耗费资源,不可取。这种解决思路是精简和敏捷。


 最后整个问题圆满解决。虽然这部电影不是教育片,但是这些片段在精简敏捷开发的教育意义是很深远的。

回到我们的精简敏捷的话题上来,究竟什么是精简敏捷,在最短的时间内用最快的速度为我们的客户提供最高的价值这需要敏捷的处理风格,能够保持这样的速度在未来同样的时间内为我们的客户提供同样高的价值这需要精简利用的风格。《Pulp Fiction》最后这段情节可以为从未进行过敏捷开发的人一点启示,最很紧的时间内,没有任何高价值的资源,有的只是人力,和有限制的资源,你应该如何把一件事情做好?回答是,用有限的人力和资源拼凑出一个解决方案,然后进行简化和优化,最佳利用这些资源达到你想要达到的设计。然后从现实来考虑你手头上的资源可能大大超过你所估计的,那么假象你的最坏打算,只有现在一半的资源,如何用这一半的资源最好地达到自己的目的。如果你能用这一半资源达到你要的设计,那么再切掉一半的资源,你又能如何分配利用。通过这样的练习,你可以从最少最有效的角度进行事务处理方案设计。从而学会如何用精简与敏捷来进行项目开发管理。

文章来自Dick Sun的专栏

 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章