这年头不作敏捷开发都很差意思说本身是作软件开发的。不少人都知道敏捷开发或者项目就在敏捷开发中,可是愈来愈多的人对敏捷开发表示不理解了。我常常听身边的人问:敏捷是什么?究竟什么才是敏捷开发?难道敏捷开发就是这样吗?web
这就跟早上正常点上个班,周末加个班就喊“狼性”是一个道理:不少人认为早上开站立会就是敏捷了!工具
我不是科班出身,对敏捷开发了解是工做时候了解的,很早工做的时候有个雅虎来的牛人加入公司,他原本就是作流程软件的,每天给咱们将如何敏捷,如何走开发流程,第一次据说还有敏捷开发这种东西。以后在腾讯工做,团队有个业内Scrum大师,参与了不少大型项目,包括腾讯搜搜项目整个的研发流程制订之类,那段时间给咱们团队作流程优化,也给咱们分享,经他推荐,也算读了几本Scrum的书籍。下面简单谈下本身的认识。优化
若是要问:敏捷开发和站会是什么关系?我想说:的确有关系,但要知道不是你把敏捷的流程都走一遍就真的敏捷了。接口
scrum会议能够分为:sprint计划会,每日站会,评审会和回顾会。资源
我的认为:敏捷提到的站会只是一天固定时间沟通的会议,主要目的仍是跟进进度、暴漏问题,PO(product owner)和SM(Scrum Master)意图经过站会来完成本身的职责:开发
协调资源,解决项目的障碍文档
保证项目进度产品
保证团队内角色之间的协做io
团队跟其余团队的接口人,协调沟通ast
而现实中的站会多是下面的样子:
PM忙着改需求
RD讨论解决方案
UE忙着改图
QA在报bug
可有可无的人在打哈欠
敏捷开发是一套通过多年实践而总结出来的一套方法论。因此不要神化,更不要跟风,适合本身的team就好(本人一直实用主义,从不盲从)。
敏捷总结了一些项目中经常碰见的问题,而且想经过敏捷的流程来避免这些问题。而如今不少公司不少项目用了敏捷(或者敏捷扩展版),实际参加敏捷的童鞋并无「敏捷」,而是在抱怨:为何这么多流程?为何这么多会议?
每每大公司一个项目须要牵扯太多人,一次发布会能够开5个小时,涉及到的人都参加,前面的人七嘴八舌各抒己见,后面的人各干个事。可能某些人只知道本身负责的部分,绝大多数都不知道本身想要的是怎样的一个产品,产品的roadmap是什么,该坚持的不坚持,最多的状况是在听取了意见后作了妥协。
团队太大,还会出现一些鸡同鸭讲的会议,好比每日站会:先是UE,而后RD,后是QA,再。。。
这样前面讲的事情,根本本身都不知道干啥,听不懂,那为啥还要非拉在一块儿开会呢?
最大的错误是team太大,忽略了个体。敏捷有个说法:2个披萨。也就说团队人数要控制在两个披萨够吃内。
敏捷提倡对团队人的信任,充分调动团队中每一个人的积极性,发挥最大的效率。
当一个项目team太大的时候,能够考虑拆成几个敏捷团队来执行,团队之间共享角色,来实现沟通。好比:UE开UE的会,而参加RD的会就会昏昏欲睡;何须呢~当涉及到其余团队角色的时候能够叫上一块儿啊。
其实这在scrum里面有个专业术语:scrum of scrums。个人想获得,大佬想不到吗?固然我相信他们也想获得,不过没有什么比成功更具备说服力。因此也许坚持经验更重要。
好比说燃起图(燃尽图)这件事,就是为了你们看到天天的进度,而老一些“敏捷er”每每对新“敏捷er”说:task要拆的够细,天天都有事情作,天天都有事情完成,要燃起图好看。
你是知道的中国人都是很聪明的,因而会想尽办法「造」task,由于我要保证次日个人燃起图正常,否则会被点名批评的,被批评了KPI怎么办?
对于流程来讲,当流程太复杂的时候,咱们应该敢于提出来,去精简。当一个新的SM(搞错意思的面壁三分钟)接棒的时候,应该审视以前的流程,是否合理,是否须要调整。
如今每每是你们以为项目作成了,leader升级了,留下的就是宝贵的经验,下一个leader就会按照这个流程来作,尽快他也深受其害,可是这是「宝贵经验」,以前的leader就是这样成功的,为何咱们要颠覆呢?
也许好几个项目并行,一个角色穿梭于多个项目中,这样貌似在并行,其实人仍是那我的,他不可能同时作两件事情,这不是一种提升效率的事情。人只有在专一一件事情上,才能发挥最大的效率。多个事情并行会分散精力。这就像番茄钟要25分钟专一一件事情的道理同样的。
为啥你们都怨声载道还要摸黑走下去呢?该变就变!
SM须要作的是:要每一个角色效率都最大化利用,为角色提供更温馨的工做环境(包括流程)。
个体和互动高于流程和工具
工做的软件 高于详尽的文档
客户合做 高于合同谈判
响应变化 高于遵循计划