的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程敏捷框架的名字取名为Scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗*、人人你争我抢地完成它,你一定会感到非常兴奋的。Scrum是一个用于开发和维护复杂产品的框架,是一个增量的、迭代的开发过程。
是Sprint计划会议的产物,它定义了团队所接受的工作量,在整个Sprint过程中它将保持不变。
在Sprint开始前,定义本次Sprint要讨论的“ProductBacklogItem”,从中产生本次Sprint要完成的“ProductBacklog”。
每次会议都采取开放形式,所有人都可以参加。(这是敏捷开放的体现。由于国情及文化等原因,暂时无法达到面向所有人的,建议采用邀请的形式)
)会前准备•提前邀请所有必须参会的人,让他们有时间准备。•发送带有会议目标和意图的会议纲要。•预订会议所需的全部资源:房间、投影仪、挂图、主持设备,以及此会议需要的其他东西。•会前24小时发送提醒。
6)TDD,测试驱动开发,这项人人都称赞、却很少有人真的去做的活动,不应该只是一个被供奉起来的神。接地气,再接地气一点。
你真的以为员工想进步吗?让他们不得不去想想自己和团队怎么进步,然后他们还不得不去执行行动方案。别天真了,人的天性是不喜欢改变的,人的天性是习惯于一些按部就搬的事,也许那样做令人讨厌,但是人家还是能干点东西出来。如果你逼着人家改变,你就是在压迫人家,人家自然会反抗。
迅速将产品推向市场,拥抱变化、快速响应。今天的市场向所有的从业者提出了一个要求:拥有应对快速变化的需求的软件开发能力。而敏捷就是赋予团队应对快速变化的需求的软件开发能力的方法,而这就是敏捷流行的原因。
客户的需求可能在项目开发过程中不断变化,即使是在合同谈判阶段确定的需求,也可能在客户看见了逐渐成型的产品之后而发生改变。敏捷方法欢迎并且随时准备应对变化。制定计划的时候应该尽量简洁、灵活,使其能适应技术和需求方面的变化。可以说,随时响应变化的能力往往决定着一个项目的成败。
然而,这根本不行。你的ProductOwner马上就想要这个功能,他才不管你的软件开发的技术难题,人家只要快,要你meetdeadline,要你给我们重要的客户做出承诺。另外,你千万不要以为你们可以轰走这个初级的productowner,因为他的后台是直接汇报到高层管理。你作为一个程序员可能只是其个小部门的一个小喽啰,或者只是外包公司,你觉得可能吗?你觉得建立信任可能吗?
9)CI持续集成.没有CI的项目开发是在耍流氓。CI在Agile中是一项最基础的设施,它通过自动化来提供有效的反馈机制以及高效的部署,大大降低代了码集成和项目交付的风险。
更多的意义是在于规划,其内容根据业务需求的价值顺序排列;根据公司运作方式,将PB分解成PBI,规划给各个scrum执行或多个Sprint执行。
既然我们喜欢的工作方式是传统的、瀑布的,为什么要敏捷?这还不都是市场环境逼的。今天的市场向我们提出了三个问题:
要相应敏捷团队的成员利益是一致。所有产出价值,都是团队创造的,自身应该相信团队成员都是为共同利益奋斗的。
有话要说...