QCon 2011参会收获——关于敏捷

2011年4月8、9、10三天,是QCon北京大会召开的日子,和去年一样,我又和公司请了年假,然后跑到北京去参加,收获真的是很大,在这里简单总结一下。

因为涉及到的内容比较多,所以我会根据内容的不同分成几篇Blog来和大家分享和讨论,:)

关于敏捷

参会期间,与Ivar Jacobson公司的黄邦伟、方俊贤以及odd公司的麦天志就进行了深入的交流。

黄邦伟博士用了半个小时的时间,在Beta咖啡的小桌子上给我讲述了如何使用状态卡片来对开发软件过程中的各个环节进行管理,这个思想很有意思,他把每个环节或者每个要素整个的过程都划分为五个状态,每个状态有各自的特征,然后我们可以灵活地使用这五张卡片,判断出各个要素处于何种状态,从而有针对性地采取相应的措施。

而且,黄邦伟博士很是风趣幽默,和我讨论了什么是项目中最大的风险,这个问题不同的人会有不同的观点,他问我这个问题时,我的回答是需求不明确,他哈哈大笑,“因为你是需求专家。”恍然大悟,其实每个人都把自己的眼界放得太窄,只看到自己负责的一个方面的风险,更应该考虑到其他方面。其实风险存在于各个环节之中,需求、开发、测试、后期维护等等,都会存在风险。

而黄博士又说道,其实最大的风险就在于我们自身,也就是人才是风险的最大因素。我们要认识到自己的不足,认识到他人的长处,从而发挥团队的智慧和力量,才能够真正减小风险。

与方俊贤以及麦天志的讨论则更加具体于如何解决公司当前的问题,对于不敏捷的团队、不敏捷的程序、不敏捷的开发过程,如何才能够把敏捷的思想贯彻到其中。他们都给出了很不错的建议,其实并不需要关心方法是否真正是敏捷的,是否复合敏捷的各种最佳实践,我们的目的是要解决问题,只要有这样的一个共识,问题就比较好解决了。对于团队,十几个人的规模还是比较容易实施敏捷的一些方法的,不可能靠一个人,可能需要3-5个人先敏捷起来,待看到敏捷带来的好处时,才能够带动他人一起使用敏捷的方法和思想。对于程序,首先要做的第一件事儿就是要保证它是可测试的,不管是面向对象还是面向过程的程序,编写一些最基本的测试代码都是可行的,有了这个保证,我们的代码就不会继续腐败下去,之后才有可能谈到如何改善代码。至于开发过程,要在公司的框架和敏捷的方法之间找到一个最好的平衡点,那样才能够既不违反公司的规则,也能够让开发者获得敏捷所带来的好处。

对于在团队内部实施敏捷,他们还提出了建议的步骤:

  1. 发现问题——因为我们不管做什么,目的都是为了解决问题,所以首先要发现当前存在的问题
  2. 培训——把敏捷的意识深入人心,让大家明确为什么要实施敏捷的方法,它能够为我们带来什么样的好处
  3. Coaching——为了避免走很多的弯路,也为了避免错误地实行,结果导致达不到想要的效果,让有经验的敏捷实践者进行一段时间的紧密Coaching还是有必要的。

此外,参会的过程中还有一些与敏捷相关的观点要在这里列举出来:

  • 敏捷要快速地相应变化
  • 敏捷的过程中要不停地反思改进
  • 想要真正改善现状和解决问题,就不能仅仅关注于开发。
  • 对于实施敏捷的团队,领导具备敏捷的意识很重要
  • 只要目的一致,就不会存在不可调和的冲突和矛盾
  • 敏捷会节约成本,包括沟通的成本、反复的成本等等

对于以上内容,大家不知道有什么好的想法,欢迎在此一起讨论,:)

posted @ 2011-04-13 08:52 侯伯薇 阅读(...) 评论(...) 编辑 收藏