“我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由 此我们建立了如下价值观:
个体和互动 高于 流程和工具
可用的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
也就是说,尽管右项有其价值,我们更重视左项的价值。
(https://agilemanifesto.org/iso/zhchs/manifesto.html)
无论你的流程有多么深入和巧妙的设计,你的工具有多么高科技,最终决定成功与否的是你与团队已经团队本身的协作方式。你的团队以及他们有效高效沟通的能力比他们遵循的流程或所使用的工具更有价值。
这并不是说敏捷哲学不鼓励形式化的流程或工具。它们都可以为你的团队提供结 构和促进互动。但归根结底,它们排在次要位置。
毕竟,如果你的团队不能有效沟通,流程和工具就毫无价值。但如果让一个聪明、有动力的团队去完成任务,有时虽然没有任何流程或工具来管理项目,他们很可 能会找到一种合适的方式来达致成果。
传统的产品开发流程通常在编写一行代码之前需要大量的文档。在敏捷哲学下,让软件(或者任何产品成果)尽快进入客户手中是最重要的。毕竟,如果你不让产品投放市场并从真实用户那里收集反馈,你怎么能改进你的产品呢?
虽然这个价值观强调了在让文档成为瓶颈之前尽快推出软件(或者任何产品)的重要性,但需要注意的是,文档本身并不是一件坏事……只要你不过度去做,并且能持续去更聪明的使用文档及改进你做文档的方式来带来最优产品成果的交付。你的最终成败在于是否给客户/用户提供价值,而且最好是早一点能做到。
敏捷哲学强调以客户为中心的产品开发实践,而不只是以交付物为中心的方法。虽然合同及法务条款在业务中始终有其存在的位置和必要性,但若只是列出你会向客户提供的东西,其并不能替代与他们实际沟通,了解他们的真正需要和面临 的挑战及要解决的问题本身。
传统的以交付物为中心的流程允许合同决定最终交付什么,这为双方期望的一致性留下了很大的缝隙和潜在偏差。敏捷哲学(以及由此产生的许多形式化流程)鼓励在开发周期中建立一个持续的客户/用户反馈循环。
在敏捷哲学下,与客户的协作在开发过程的早期就开始,并在整个过程中频繁发生。与真实客户/用户密切协作及互动的这种文化帮助产品团队确保他们向客户提供有效、有用的解决方案。当你经常与客户交流并将反馈纳入你的开发过程中时,你减少了风险,消除了猜测,最终一起实现共赢。
复杂事物及工作中,唯一不变的是变化本身,以及各种在行动前无法完全把握及预测的偏差和不如意。敏捷方法的一个重要好处是它鼓励团队根据持续收集和分析的新信息频繁地审查和调整当前的计划。因此,产品或者项目路线图不再是一份静态文档,而是一项动态的战略,而且更有潜在最终成效。
在敏捷环境中,产品经理或者任何负责人(通常也鼓励和团队一起)需要学会以充分透明的方式向利益相关者展示他们的目前的真正进展(当前交付物增量及动态路线图),以反 映基于最新所学习和掌握到的变更可能性。
换句话说,敏捷方法允许产品或者项目团队根据战略需要随时调整其优先事项和计划。这些团队不会因为承诺要完成原计划而陷入已经过时的计划中。
通过遵循敏捷宣言的价值观,我们相信可以更好地应对软件开发的挑战,提供更有价值的产品和解决方案。无论是个体和互动、可用的软件、客户合作还是响应变化,我们都将以这些价值观为指导,不断改进和创新。