zoukankan      html  css  js  c++  java
  • 约束是一种隐蔽的优势

    构建软件与管理大量的约束有着紧密的联系。这些约束可能是时间上的,也可能是资金、技术、决策、兼容性、管理、人员、过程或者以上所有方面的。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

  • 相关阅读:
    leetcode108 Convert Sorted Array to Binary Search Tree
    leetcode98 Validate Binary Search Tree
    leetcode103 Binary Tree Zigzag Level Order Traversal
    leetcode116 Populating Next Right Pointers in Each Node
    Python全栈之路Day15
    Python全栈之路Day11
    集群监控
    Python全栈之路Day10
    自动部署反向代理、web、nfs
    5.Scss的插值
  • 原文地址:https://www.cnblogs.com/bmate/p/1884446.html
Copyright © 2011-2022 走看看