写点什么

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

  • 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:331686
用户头像

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

关注

评论

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

Cloud Kernel SIG 月度动态:ANCK 特性新增芯片厂商支持、新版本发布

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 龙蜥社区SIG

Go连接池复用踩坑

三七互娱后端技术团队

golang

GaussDB(for Redis)特性揭秘:大key治理

YG科技

将比特币安全性带到Persistence One

股市老人

虚拟仿真云:从传统仿真到云仿真的转变与应用

3DCAT实时渲染

虚拟仿真 仿真云

守护更多女性健康,华为云GeminiDB助力美柚完成数据库高效稳定迁移

YG科技

智算创新 云峦同行!龙蜥衍生版浪潮信息 KeyarchOS 的 10 年发展历程

OpenAnolis小助手

开源 操作系统 国产操作系统 龙蜥社区

NVIDIA AI 新网络助力龙蜥提升网络通信速率

OpenAnolis小助手

AI 操作系统 国产操作系统 龙蜥社区

选择KV数据库最重要的是什么?

YG科技

英特尔锐炫最新驱动首日支持国产武侠大作《射雕》,开启流畅武侠之旅!

E科讯

一文读懂兼顾隐私、高性能和可拓展的公链Partisia Blockchain

大瞿科技

5大支撑能力,6大系统优势!解读龙蜥场景化镜像平台技术

OpenAnolis小助手

AI 操作系统 国产操作系统 龙蜥社区

教学必备的9个教案和课件网站!建议收藏!

彭宏豪95

效率工具 培训 在线白板 办公软件 在线教学

GaussDB(for Redis)游戏实践:玩家下线行为上报

YG科技

Partisia Blockchain:如何做到兼顾隐私、高性能和可拓展?

西柚子

在线教学用什么软件?这款可视化白板工具值得推荐!

彭宏豪95

培训 在线白板 办公软件 在线协作 在线教学

8款AI视频生成产品实测,谁将成为中国Sora?

自象限

电源噪声的起因及危害

芯动大师

噪声 电源

一文读懂兼顾隐私、高性能和可拓展的公链Partisia Blockchain

加密眼界

ai智能写作网站免费!5款工具轻松生成高质量内容!

彭宏豪95

人工智能 写作 在线白板 AIGC AI工具

提升龙蜥内核测试能力!探究持续性模糊测试优化实践

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 Anolis OS

体验 AIGC 魅力!龙蜥社区邀请您从零开始部署运行 GPT-2 大语言模型

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 人人都可以参与开源

GaussDB(for Redis)特性揭秘:多租户管理

YG科技

《龙蜥理事说》正式上线,龙蜥携手浪潮信息共同应对 AI 时代新需求

OpenAnolis小助手

开源 操作系统 国产操作系统 龙蜥社区

十万奖金等你来拿!中国研究生操作系统开源创新大赛火热开启

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 人人都可以参与开源

C++ 字符串完全指南:学习基础知识到掌握高级应用技巧

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

《计算机网络: 自顶向下方法(原书第7版)》PDF

程序员李木子

GaussDB(for Redis)助力金智教育业务数字化,增效降本双赢

YG科技

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