实习的第一份工作是在某一线游戏公司做游戏客户端实习生,大的公司或许在管理制度上的确要更加完善先进,这是不可否认的,整整实习了一年,差不多是半年的客户端实习生,半年的项目管理实习生,那么谈谈我自己对敏捷开发的看法。
一.每日站会
刚到公司的时候,每天早上我都发现旁边的服务器组准时在10点,所有人站在一起,悄悄的说十多分钟的事,偶尔还会在旁边的白板上勾勾画画,然后就散了。观察了很久,我甚至不知道他们在干嘛,甚至于刚开始我还以为以为服务器组怎么每天早上都在一起闲聊一会。之后后来我问了他们在干嘛?我们客户端也实施同样的方式。我才知道我们在做一件事----敏捷开发中的每日站会。
1.时间问题:站会开始时间一般在上班半小时内,或者午饭前十五分钟,上班半小时内举行可以让大家同步完信息后,立刻投入到工作,午饭前十五分钟则是为了在吃饭这个前提下,让大家高效的沟通完。时间长度则一般为15分钟,需要有人进行时间控制。
2.站会目的:每日站会的目的则是高效的同步信息,方便今天一整天开展工作。通常形式是每个人说一下自己昨天做的事,今天做的事,遇到的困难。一轮站会下来,团队可以高效的完成同步信息这个操作。
3.站会人数:正常一个小团队大概保持在10个人以内,并且为了提高大家的主人翁意识,需要每人轮流做站会主持人,主持人主要负责控制每个人的发言时间,改变白板上任务状态。
二.白板的使用
白板的框架大致就是上面的这张图。我们项目这段时间内要做的事分成一个个Story,每个Story在细分成一个个小的Task。Story一般是一个功能,工时大概在一周以内,而Task则是将这个Story继续拆分得来的,拆分粒度一般是一个Task保证在一个工作日内完成。我们将Task的状态分为Todo, Doing, Done。每个Task,我们使用一张Task贴纸标注详细内容。内容有Task开始日期,预估工时,负责人。需要用贴纸的颜色来变现Task的紧急程度,即优先级(红>黄>蓝),然后根据Task的状态将其每天进行状态更新。
为什么使用白板?最大的因素是方便团队成员清楚的知道我们最近的大目标是什么,将自己的工作以目标为导向,知道自己在团队中的角色,自己做的事对团队大目标的关键性。其次是信息同步,知道团队成员各自在干什么
上面的两个原因也决定了白板的形式不是一成不变的,而是不停的优化,从而达到最适合团队的使用。
三.拥抱变化,迅速反应
因为互联网产品的开发充满了不确定性,在已有的开发流程中,突发一些情况是非常的正常。按照以往的瀑布式开发,产品功能,原型设计好交付开发,这时候开发就根据详细文档开始自己的工作,接下来PM 就很少接触这件事。但是问题来了,等这个产品开发上线后,可能已经一年半载过去了。那么你上线的产品起初设计时的大前提是否还存在?前提存在,是否又出现其他影响因素?往往这时候上线的产品已经不合适市场的要求。所以瀑布式开发的确点是显而易见的。但是瀑布式也有优点,程序员喜欢瀑布式,因为当初约定好的功能点后期不会改变,这对开发工作是十分友好的。而现在的敏捷开发呢?PM会在任何时候提出自己的新想法,或许不着急上线,但是整个产品的设计永远不是事先约定好的,而是在不停的优化。
因为经常出现不确定性因素,开发人员对敏捷开发常常是抱着负面态度的。但是团队的目标是做一款适合市场的好产品,那么敏捷开发又不失为很好的选择。
我们在这里宣扬“拥抱变化,迅速反应”。把这种改革性的思想传授给整个团队,这是需要一定的软技能。当我们发现需要改变的设计时,我们接受且迅速作出反应。因为我们工作是以目标为导向,而大的目标就是一款好的产品。
未完待续。。。。