越是大公司,流程越落后,越僵化。大公司成功的原因在于积累丰厚,打个不好的比喻就是地主家有余粮,冬天不容易饿死。但是地主的儿子不见得比穷人的儿子有能力。
一、Scrum是什么
Scrum 是一个用于开发和维持复杂产品的框架 ,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周(互联网产品研发可以使用1周的Sprint)。在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum团队总是先开发对客户具有较高价值的需求。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint backlog。在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量。 Scrum起源于软件开发项目,但它适用于任何复杂的或是创新性的项目。
更详细的大家可以登录下面网站学习:
http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.html#tab-id-1
简单来说就是一种敏捷开发过程和理念。
二、Scrum核心理念
敏捷和scrum有很多理念,挑几个核心的:
1、产品需求是变化和不清晰的。
2、自组织团队效率最高。
3、快速迭代,持续不断及早交付有价值的软件。
4、全自动化,测试驱动开发。
个人理解强调变化和自组织,强调回顾价值本身,简化流程,发挥个人能动性。个人能力的提升,个人自我管理的觉醒,是软件开发管理的大势所趋。
三、Scrum的阻力
CMM流程相比敏捷,我觉得可以类比,“集团军作战” 和 “班长作战”。武器落后,人员文化程度不高,要想赢得战争就要靠人海战术。随着技术发展,巡航导弹随叫随到,班长接近一线,最了解客户需求,指挥权前移确保快速赢得战争。
理念容易实践难,要搞好scrum,要从三方面去改革。
1、工具
要让班长赢得战争,核心是要武器能支援到位。
同样的,让一个小团队可以随时随地发布可以工作的软件,各种开发工具(流程工具,开发工具,集成严重工具,部署工具,运维工具)就要丰富和自动化。如果一个小团队没有丰富的工具支撑,所有的人力就会陷入到繁琐不增值工作中,根本没有精力应对需求本身。
2、思想
敏捷要搞的好,团队的思想要一致,思想一致,沟通才能一致。
scrum强调自组织团队,自组织团队核心就需要团队每个人的主动参与和自管理。
能力是其次的,团队思路一致才是最重要的,所以在scrum的角色里面,scrum master不可少,尤其是在scrum团队初期。
3、组织结构
传统企业设置了各种角色,分工很细。好处是每个角色都找到自我定位,各司其职,坏处也非常明显高级别压榨低级别,后端要为前端擦屁股。擦的越多,通常思路就靠设置各种流程检查点来保证质量,设置越多,流程越厚重,导致了整体效率越来越低。
要实践敏捷,实现自组织团队,就是要扁平化组织,去掉各种titile,相当于叫各层领导革自己的命。自己革自己的命,绝对是反人类的需求,靠主动和自觉能顺利推行吗?必须有强有力的顶层领导,干掉中间阶层才有可能或者闹革命,干掉地主。