写点什么

适应性重用——来自土木工程的经验

  • 2010-02-11
  • 本文字数:1411 字

    阅读完需:约 5 分钟

随着敏捷方法逐渐被越来越多的主流人群所接受,不管是新接触者、转化过来的人还是支持者,都会发现敏捷的内在理念其实并无新意,而且在软件工程之外的其它领域也能发现它们。软件工程师常常质疑顺序式的开发过程,而这样的过程又是土木工程项目的核心。“为什么你们不能像修桥那样构建软件?”类似的批评常常施加到软件开发之上。而现实情况是:土木工程项目经常采取的一些方式方法,敏捷人士会从中发现类似之处。

这样的交叉可以在最近的一些文章中看到范例。

Howard Podeswa 在 Modern Analyst 博客中提到了一个建筑项目:

我在和一个朋友吃饭——他是一个非常出色的建筑师和设计师。我们在讨论他当时正着手的一个项目,他在其中负责一个大型商业开发地产项目的设计。这个项目有些东西充满了挑战,同时让他充满惊奇,其中一点是:建筑本身在不断增高的同时,其设计也在不断发展。也就是说,很多不同的活动是同时进行的。人们并没有先经历一个很长的前期设计过程,再去搞建设;实际上人们通过一系列循环周期完成了这个项目的开发。每个周期中,他们会先敲定整个建筑的某个方面或某个区域,然后为了构建成功只做足够的设计,再在工地上完成建筑过程。

接下来,他讨论了建筑师如何在短时间段内应对建筑工程上的挑战,同时还要在有些需求未知的情况下设计建筑物。

要是能够推迟到明天,就不要在今天做出承诺。换句话说,如果你能在不拖延项目的前提下延迟某项决策,那就别急着决策。如果必须要做出决定,那就别犹豫了。 选择对未来影响最小的决策。这样就能将错误决策造成的负面影响最小化。

他提供了一个实用的例子,用以说明上面的做法对于建筑设计师的意义。

下面这个例子说明了第二个原则如何在他的行业中起作用:在不知道某层楼的房屋用途的情况下,设计师需要在其中加入一个螺旋梯,可连房屋各自的大小和布局还不知道呢。因此,设计师在选择螺旋梯的位置时要考虑最大的灵活性,这样以后安排房屋更方便。此时就不能使用中央的螺旋梯了,相对于将其放在一边,这样做给房屋布局留下的余地更小。

适应性重用,这是土木工程的一个原则,而在软件开发的世界中也能引起共鸣。把旧的结构加以调整,使之适用于并非其原本设计目的之场合,这个过程就是适应性重用。在敏捷软件开发的世界中,设计模式的使用、重构,它们都是使用适应性重用的例子。

Rich Maltzman 是 Scope crêpe 博客的作者,他提到:即使在搭建金字塔的过程中,人们也需要适应不断变化的需求,还要掌握项目动力学;他还说到敏捷如何能够用来解决类似问题。

他提到项目经理应该如何自行调整,以及在项目进行到半途而且处于不稳定的状态下展示自己的敏捷性。

这篇博客有个评论,其中包括了一个链接,指向 Damian O’Malley 和 Steven Stark 在 Slideshare 上发布的演示幻灯片——《西斯廷教堂简介》。这个演示说明:一个清晰定义的远景规划产生的产品能够达到并超过客户的需求预期。

米开朗基罗对于教堂的简要远景是: 为了彰显天主的无限荣光,为了激励他的子民,请在我们的天花板上作画。 米开朗基罗根据这个简述画出了西斯廷的壁画,其中展示出了世界的诞生和堕落、人类因罪导致的堕落、神灵之怒引发的大洪水,还有诺亚及其家族的保留。他知道应该做什么,并被该项目的重要意义所激励。有了这样的指示,他就可以全心投入,以自己最好的方式,来尽力实现简述中的种种细节。

软件行业还能从其它行业吸收哪些经验、教训呢?

查看英文原文: Adaptive Reuse - Lessons from civil engineering

2010-02-11 07:332041
用户头像

发布了 479 篇内容, 共 181.1 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

干货 | 解决 App 自动化测试的常见痛点(弹框及首页启动加载完成判断处理)

霍格沃兹测试开发学社

TDengine 如何进行 SQL 写入?官方最全教程来了

TDengine

数据库 时序数据库 企业号九月金秋榜

企业如何规划SRM供应商协同平台?实现最佳应用价值

数商云

数字化转型 企业数字化

干货 | 谁懂这篇文,玩游戏还会卡顿?

霍格沃兹测试开发学社

字节前端必会面试题

夏天的味道123

JavaScript 前端

LG稳居高地再布新棋 顺应需求领跑高端家电市场布局新生态

极客天地

LeetCode-316. 去除重复字母&&1081.不同字符的最小子序列(Java实现)

bug菌

9月日更 Leet Code 9月月更

软件测试 | 测试开发 | 测试人生 | 拿到多个 offer 从了一线互联网公司并涨薪70%,90后小哥哥免费分享面试经验~

测吧(北京)科技有限公司

测试人生

基于threejs中秋佳节之际带你遨游星空🌃

南城FE

前端 中秋 three.js

手把手教你如何进行拆解竞品

产品海豚湾

产品经理 需求分析 竞品分析 9月月更 市场调研

「九章云极DataCanvas」完成C+轮融资,用云中云战略引领数据智能基础软件升级

九章云极DataCanvas

机器学习 数据智能

DevSecOps 落地三部曲|小孩子才做选择,极狐GitLab 安全、高效全都要

极狐GitLab

DevOps 运维 安全 DevSecOps 极狐GitLab

中移链DDC-SDK技术对接全流程(二)

BSN研习社

区块链、

软件测试 | 测试开发 | 测试人生 | 毕业2年,拒绝独角兽入职名企大厂涨薪10万+,这个95后小姐姐好飒

测吧(北京)科技有限公司

测试人生

跟我一起学mybatis

楠羽

mybatis 笔记 9月月更

热点直播 | 财务共享中心数字化转型,推动央企构建一流财务管理体系

望繁信科技

直播 技术干货

百度工程师教你玩转设计模式(工厂模式)

百度Geek说

Java 设计模式 企业号九月金秋榜

干货|APP自动化Android特殊控件Toast识别

霍格沃兹测试开发学社

软件测试 | 测试开发 | 测试人生 | 疫情之下,1个月内涨薪50%拿下亿级流量金融上市公司新 offer,我柠檬了~

测吧(北京)科技有限公司

测试

WAIC|九章云极DataCanvas公司携因果学习技术成果精彩亮相!

九章云极DataCanvas

人工智能 开源 因果学习

干货 | 读懂 Appium 日志,让测试效率翻倍!

霍格沃兹测试开发学社

CeresDB 技术架构简介

TRaaS

#开源项目

软件测试 | 测试开发 | 专项测试技术初识Hook

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 项目倒排,跟工期不足say byebye~

测吧(北京)科技有限公司

测试人生

【中秋特辑】嫦娥妹妹,你别着急~

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

干货| app自动化测试之Andriod微信小程序的自动化测试

霍格沃兹测试开发学社

软件测试 | 测试开发 | MockServer 服务框架设计

测吧(北京)科技有限公司

MockServer

同频共振数据时代,AntDB数据库与永洪科技完成产品互认证

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库

软件测试 | 测试开发 | 测试人生 | 从传统行业到名企大厂,薪资翻倍,我做到了

测吧(北京)科技有限公司

面试

软件测试 | 测试开发 | 测试人生 | 年薪50w+ 并入职名企大厂,这是双非学历小哥哥给自己30岁的礼物

测吧(北京)科技有限公司

测试人生

软件测试 | 测试开发 | 测试人生 | 从外行到外包,从手工测试到知名互联大厂测开 这个90后小姐姐是怎么腾飞的?

测吧(北京)科技有限公司

测试人生

适应性重用——来自土木工程的经验_研发效能_Shane Hastie_InfoQ精选文章