写点什么

约束是一种隐蔽的优势

  • 2010-11-21
  • 本文字数:1169 字

    阅读完需:约 4 分钟

构建软件与管理大量的约束有着紧密的联系。这些约束可能是时间上的,也可能是资金、技术、决策、兼容性、管理、人员、过程或者以上所有方面的。 Jim Bird 探讨了 Scrum、XP 的约束,并讨论了这些约束如何帮助我们培养创造力并构建正确的软件。

关于约束,Jim 提到了一个有趣的观察结果。

但是,我很喜欢思考约束和限制的奇妙悖论:
通过指引,通过强迫你用特定的方式思考和工作,通过限制你的选择,约束夺走你的控制权。
但是……
通过指引,通过强迫你用特定的方式思考和工作,通过限制你的选择,约束又可以帮助你进行控制权。

Jim 认为,XP 和 Scrum 强制团队工作在一个固定的、短期的时间盒中,以此限制你在一个 sprint 中的工作量。这个方案可能并不完美,但它却给我们提供了绝佳的机会去获取反馈,在下一轮迭代中,我们就可以根据那些反馈做出改进。时间盒可以很好地防止完美主义、画蛇添足和拖延。工作于时间盒的约束下还有助于管理风险,因为你不会一直去构建太多很难丢弃的东西。

时间盒强迫你在一个小的范围里工作,让你去思考、真正地思考如何把工作做好。一切都是关于执行的:谁,什么,何时,什么先什么后。它营造了一种紧迫感,以及一种看到工作完成获得反馈的满足感。

同样地,Jim 提到一旦完成就过时的庞大计划是无谓的浪费,约束规划可以及时帮助我们消除这种浪费。

37signals 公司的书《 Getting Real 》认为,约束引导我们找出创造性的解决方案。团队应该去拥抱约束而不是蔑视它们。

永远都是僧多粥少。没有足够的时间;没有足够的资金;没有足够的人手。这是一件好事。

37signals 说,正是这些约束帮助它们提出了创造性的解决方案。

我们总是构建更少功能的软件,以此减小变化的代价。我们给人们提供的软件,功能刚刚够他们以自己的方式去解决他们的问题——然后我们就收手了。

Google 的 Marissa Ann Mayer 有一个类似的故事要分享。据她介绍,约束能塑造和集中问题,而且它们清晰地为我们提供了需要克服的问题。同时,约束会尽其所能激发我们的创造力。

约束能给你速度和动力。在制订用于设计产品的过程中,约束可以实实在在地加快开发。

然而,Marissa 提醒道,我们应该理性地权衡,对于不可能的事情是否不予理会。良好的平衡可以带来创新,帮助团队产生一个极好的主意或者让他们快速失败。

Ethan Zuckerman 提到,有些最好的创新,是当我们在约束条件下工作时产生的。他引用了毕加索的例子。

事实证明,伟大的艺术家总是会选择约束他们自己。一些毕加索最感人的作品是在他的忧郁期创作的,当他有意或无意约束自己使用限定颜色的调色板时。

因此,约束通常带来革新和创造力。在约束条件下工作获取最佳创意,并且把约束转变成优势的关键,正如 37signals 所说的,

约束通常是一种隐蔽的优势。忘记风险投资,长发布周期和快速招聘吧,就在你现有的条件下工作好了。

查看英文原文 Constraints are Advantages in Disguise

2010-11-21 20:452108
用户头像

发布了 38 篇内容, 共 90845 次阅读, 收获喜欢 1 次。

关注

评论

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

用JS实现简单的屏幕录像机 | 京东云技术团队

京东科技开发者

JavaScript 前端 屏幕录制

软件测试/测试开发|一文详解Linux grep命令

霍格沃兹测试开发学社

HarmonyOS应用事件打点开发指导

HarmonyOS开发者

HarmonyOS

使用 Taro 开发鸿蒙原生应用 —— 探秘适配鸿蒙 ArkTS 的工作原理 | 京东云技术团队

京东科技开发者

现代 CPU 技术发展 | 京东云技术团队

京东科技开发者

软件开发 cpu 性能提升

强大的数据库管理:Valentina Studio Pro终端激活版最新

胖墩儿不胖y

Mac软件 数据库软件 Mac管理数据库

拆解低代码平台核心功能:八大关键点解析

天津汇柏科技有限公司

低代码

人工智能可以战胜人类智慧大脑么?

天津汇柏科技有限公司

人工智能

[译]优秀的URL设计

南城FE

前端 后端 url

杭州悦数成立「悦数图技术陆家嘴数据智能研究院」,入驻上海陆家嘴金融城「双城辉映」平台

最新动态

即时通讯技术文集(第28期):IM开发技术合集(Part1) [共18篇]

JackJiang

网络编程 即时通讯 IM

同事突然问我:异步网络请求编码的方法

华为云开发者联盟

开发 华为云 华为云开发者联盟

数据库编程大赛:一条SQL计算扑克牌24点

NineData

数据库 sql SQL开发 NineData 编程大赛

强烈推荐的前端学习资源,先收藏!

伤感汤姆布利柏

前端 工具

Java第一个程序——Hello,World!

小魏写代码

一套分布式IM即时通讯系统的技术选型和架构设计

JackJiang

网络编程 即时通讯 IM

软件测试/测试开发|Python selenium CSS定位方法详解

霍格沃兹测试开发学社

软件开发

Geek_8da502

顶级加密混淆混淆工具测评:ipagurd

Wi-Fi 6 vs. Wi-Fi 6E: The differences between IPQ6018, IPQ6010 and IPQ5018

wallysSK

一起学Elasticsearch系列-深度分页问题

Java随想录

Java 大数据 elastic

终端闲思录(2)- 终端的源流嬗变

蓬蒿

终端 终端仿真

软件测试/测试开发|测试用例设计方法——边界值

霍格沃兹测试开发学社

vivo 容器平台资源运营实践

vivo互联网技术

容器平台 资源运营 利用率提升

TDengine 创始人陶建辉出席 CIAS 2023 年会,为新能源汽车数据处理带来新思路

TDengine

tdengine 时序数据库

支付宝 v3 自签名如何实现

盐焗代码虾

Java 支付宝 签名 加签

高级数据库数据安全保障方法就是使用靠谱的工具!

行云管家

数据库 数字化 数据安全 数据安全运维

约束是一种隐蔽的优势_研发效能_Vikas Hazrati_InfoQ精选文章