• 约束是一种隐蔽的优势


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

  • 相关阅读:
    <html>
    小贝_mysql 触发器使用
    windows能连网络,可是打不开网页,出现无法解析server的DNS
    POJ 3268 Bookshelf 2 动态规划法题解
    Artistic Style在windows下的使用(C/C++)
    ASP.NET CS文件中输出JavaScript脚本的3种方法以及区别
    跨浏览器的本地存储解决方案
    JavaScript Array 对象扩展方法
    JavaScript String 对象扩展方法
    jQuery开发技巧
  • 原文地址:https://www.cnblogs.com/bmate/p/1884446.html
Copyright © 2020-2023  润新知