阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

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

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

关注

评论

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

jar包的精细化运营,Java模块化简介 | 京东云技术团队

京东科技开发者

Java Java9 模块化 jar包

TiDB故障处理之让人迷惑的Region is Unavailable

TiDB 社区干货传送门

集群管理 故障排查/诊断 扩/缩容

QCN9074 QCN9024|DR9074E Compatible with DR4019 Platform OpenWrt

wallyslilly

QCN9074 QCN9024

您的代理记账企业的数字化保卫和合作伙伴-智慧云

知者如C

趋势:国产数据库发展的五个一体化

科技热闻

如何使用 NFTScan NFT API 在 Polygon 网络上开发 Web3 应用

NFT Research

NFT NFT\ NFTScan nft工具 API 接口

ATC汽车电子与软件技术周:汽车行业客户使用静态代码扫描工具的案例与建议

龙智—DevSecOps解决方案

ACT

MegEngine 9-10 双月报:新版本发布,AI 生态升级,不容错过!

MegEngineBot

深度学习 开发者 开源社区 MegEngine

KiCon Asia 2023 深圳

华秋电子

KiCon

新形势下芯片研发如何实现数智化转型,革“芯”未来?龙智即将携手Perforce及Atlassian亮相ICCAD 2023

龙智—DevSecOps解决方案

ICCAD

实用PCB拼版攻略,您的拼版合理吗?

华秋电子

拼板

【实践篇】一次Paas化热部署实践分享 | 京东云技术团队

京东科技开发者

热部署 PaaS平台化能力 企业数字化 PaaS 平台 企业号11月PK榜 Paas化

TiDB x 北京银行丨新一代分布式数据库的探索与实践

TiDB 社区干货传送门

实践案例

【TiDB 社区智慧合集】史上最全的 158篇 TiDB 用户实践合集来啦!千万不要错过!

TiDB 社区干货传送门

混音师必备软件:iZotope Ozone 11激活最新

胖墩儿不胖y

Mac软件 音频处理工具 母带处理软件

vivo 网络端口安全建设技术实践

vivo互联网技术

网络端口风险治理 端口扫描 流量行为基线 端口管理规范 漏洞扫描平台

OpenTiny Vue 3.11.0 发布:增加富文本、ColorPicker等4个新组件,迎来了贡献者大爆发!

OpenTiny社区

开源 TinyVue 前端组件库

自动化API测试工具ReadyAPI新增业务历史记录功能

龙智—DevSecOps解决方案

ReadyAPI

大模型在代码缺陷检测领域的应用实践

百度Geek说

知识图谱 大模型 企业号11月PK榜

观测云产品更新 | 单点登录新增 OIDC / Oauth2.0 协议、数据转发优化、场景优化等

观测云

可观测性 单点登录 #数据分析

探秘英伟达显卡的制造之路 | 英伟达断供GPU,中国大模型何去何从?

蓝海大脑GPU

Windows、Linux 和 Mac:操作系统之间的比较

小齐写代码

活动回顾|OpenTiny 参与线下大会:共创开源未来,助力低代码技术创新

OpenTiny社区

开源 前端 低代码 UI组件库

飞码LowCode前端技术:如何便捷配置出页面 | 京东云技术团队

京东科技开发者

前端 低代码 低代码平台 企业号11月PK榜

TiDB基础运维操作汇总

TiDB 社区干货传送门

管理与运维 故障排查/诊断 6.x 实践

Nginx 知识点一网打尽:动静分离、压缩、缓存、跨域、高可用、性能优化

郑在暴富中

nginx 高可用 反向代理

机械加工行业云MES解决方案

万界星空科技

工业互联网 制造业 生产管理系统 mes 机械臂

万界星空科技MES与WMS如何集成的?

万界星空科技

数字化转型 工业互联网 wms mes 3D仓库

PCB设计安规丨电气间隙与爬电距离要点

华秋电子

Mac电脑版红巨星粒子插件 Red Giant Trapcode Suite激活中文版

mac大玩家j

Mac软件 红巨星粒子插件 视觉效果插件

安全审计 合约审计:代币开发公司的一个关键方面

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发

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