敏捷中国大会2009终于落下了帷幕,总的来说今年的大会办得相当成功。Kent Beck和David Thomas,两位敏捷宣言的签署人,给大会带来了十分精彩的演讲。
Kent Beck做了一个很切题的主题演讲——“务实的理想主义”("Pragmatic Idealism")。现实和理想往往是比较矛盾的,但是在充满竞争和变化的现代社会,这种矛盾却无处不在。对软件开发来说,我们的理想目标包括:
• 责任心(Accountability),客户和团队之间,团队成员之间,公司内部不同部门之间不再需要相互遮遮掩掩,所有人勇于承担自己的责任;
• 可依赖性(Reliability),软件团队只忙于对客户最有价值、有用的功能;
• 可预测性(Predictability),团队以比较稳定的速度和质量发布软件,团队总是能够信守对客户的承诺,按时给客户发布可靠的软件;
• 专注(Focus),每个成员能够专注于真正给带来价值的工作;
• 有效性(Effectiveness),仅仅把时间花在做有价值的事情上;
• 财务有效性(Cost Efficiency),尽管软件开发的成本以及门槛变得越来越低,我们还是需要更有效的投资。有效的投资能够保证公司尝试更多的选择,在激烈竞争中更容易生存;
• 更高频率的发布周期,高频率的发布带来的好处是更多的客户反馈,公司能够从反馈中快速学习,不断调整。
怎样实现这些看似很难实现的理想目标,Kent给我们的建议是:
• 在敏捷团队中树立标杆;
• 分享敏捷开发的成功经验;
• 给团队激励、支持和认可,鼓励团队一步一个脚印的向理想的目标靠近。
Dave Thomas的演讲题目是“务实的敏捷”("Pragmatic Agile")。敏捷其实是一种怎样做事情、做什么样的事情的方法。“卓有成效的程序员”作为与敏捷宣言同一个时代出版的书,其中很多基本原则仍然有很多 现实意义,而且这些原则与敏捷开发的原则相辅相成的:
• 破窗理论,团队应该专注处理小问题,及时处理小问题能够大大减少大问题出现的几率,正如老子说的“为之于未有,治之于未乱”;
• 不重复原则(DRY),无论是代码还是设计都应该减少重复;
• 减少代码耦合,试图同时做所有事情,结果往往是一事无成;
• 自动化一切重复工作。
敏捷并不是一个目的,我们要用敏捷的思维方式来指导我们开发程序、写书以及做很多其他的东西。这个务实意味着“只做有用的东西”(Doing what works, if not wok, stop; Working at what to do),关注与给客户带来价值。