每个团队都有自己的工作方式——流程或方法,即使没有被正式写下来。这种工作方式反映了软件开发的基本哲学,虽然这种哲学很少被阐明,也不一定是自洽的。
要做到敏捷,你需要改变流程以反映敏捷的哲学。
要做到敏捷,你需要改变流程以反映敏捷的哲学。这比听起来更容易也更难。说它简单,是因为在大多数情况下,你可以从许多现成的敏捷系统开始,例如参考本书中的方法。说它难,是因为你需要改变工作方式,而这涉及改变很多习惯。
敏捷社区将这些习惯称为实践,本书的大部分内容都是关于实践的。实践是像计划会议、自动构建和面向利益相关者演示之类的东西,大多数已经存在了几十年。敏捷方法以独特的方式将它们结合起来,强调那些支持敏捷理念的部分,摒弃其他部分并掺入一些新的想法,产生一套精简的、强大的、自我强化的工具包。
敏捷实践经常执行双重或三重任务,同时解决多个问题,并以巧妙的、令人惊讶的方式相互支持。在你看到敏捷方法在实际行动中的表现之前,你是不会真正理解它们是如何工作的。
因此,尽管从一开始就定制自己的敏捷方法很容易,但最好从标准方法开始。最不熟悉的实践往往是最容易被删减的,但如果你真的要成为敏捷开发者,它们反而是你最需要的,因为它们对你而言蕴含着最大限度的理念上的变革。