如何在中国成功实施改良Scrum框架
改良Scrum框架根据中国的实际情况已经强化了管理者的作用,强化了架构的作用,但是在中国实施改良Scrum框架还是会经常遇到一些阻碍,针对这些障碍,则必须克服才能取得成功:
1. 职能性组织、模块组织:由于实施CMMI的影响、团队年轻、人员流动等各种原因,许多企业都慢慢转向用职能性组织(如开发部,测试部,架构设计部,需求分析部,或者,如前端开发组,应用服务器组等等),实施改良Scrum框架,可以暂不改变现有的职能性管理架构,但必须要求Scrum团队的成员是跨职能、跨模块的,而且是在一起办公的,这个要求不可妥协。
2. 客户的参与信任关系的建立:在国内,有时客户不太愿意参与到Scrum过程中,参与了有时还不太适应他们手中排优先级的权利,这个可以慢慢培养,但是,必须要求客户和开发团队一起办公,共同参与Scrum过程,这样才能逐步建立起互信的关系。这在软件开发当中非常重要,因为,所有估算方式都只是一种拍脑袋的方式而已,只有让和客户建立起较强的互信关系,才能共同面对不断变化的开发交付过程,而没有比一起办公更透明的方式了。
3. 变革之心与QA的正确作用:在国内,交付压力都非常大,要求团队既能交付又要不断思考可以如何优化、变革是一个非常高的要求。我认为,这里应该正确发挥QA人员的作用,QA需要放弃那种只是简单比对流程要求,不符合就开NC(Non-Compliance)的粗暴做法,而真正做到参与到Scrum流程当中,冷静旁观,不断挑战现状、发现问题、和团队一起探索解决方案。因此,在我心目中,好的QA其实是Scrum Master的理想人选,有了变革的驱动者,每个迭代的回归会议才可能真正落到实处。
4. 增量交付价值:在国内,看到许多号称做Scrum的团队每个Sprint都在交付功能点,但是这些功能点并不能真正运行,这其实是伪Scrum,很可能还不如不迭代。因此,做好Scrum,就必须坚持不断交付客户可见的业务价值。也就是说,交付的代码必须是可执行,可以给客户演示的。对于复杂系统而言,这对划分Backlog Item提出了很高的要求,但是,是可以解决的,本文就不在这里展开了,未来再写文章详细解释吧!
5. 测试的全程参与:以前看到另一种伪Scrum,号称开发在前,测试之后一个Sprint。这种做法其实完全破坏了Scrum团队,开发测试无法形成合力。因此,必须坚持A-TDD和验收测试自动化,这又是一个很大的话题。
因此,大家可以看到,Scrum虽然简单,但是这正做好Scrum需要在组织上,人力上,技术上有许多的储备才行,所谓功夫棋外呀!最好,愿大家掌握改良Scrum匡计的精髓,灵活应用,在实际工作取得好的效果!