敏捷开发是一种新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。敏捷开发强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。
敏捷开发Scrum的步骤:1.找出完成产品要做的事情——Product Backlog;2.决定当前的冲刺(Sprint)需要解决的事情——Sprint Backlog。订单上的任务是团队成员根据自己的情况来认领。团队成员能主导任务的估计和分配,他们的能动性得到较大的发挥。3.冲刺(Sprint)。在冲刺阶段,外部人士不能直接打扰团队成员。一切交流只能通过Scrum大师(Scrum Master)来完成。这一措施较好地平衡了“交流”和“集中注意力”的矛盾。冲刺期间,每天要开一个每日例会,团队成员大多站着开会,所以又称每日立会。大家依次报告:我昨天做了啥?我今天要做啥?我碰到了哪些问题?
Scrum能够成功实施的关键在于Scrum Master。一个好的Scrum Master能够在两种语境(描述软件需求的商业语境,描述实现细节的技术语境)间自如地翻译和切换,事实上是一个强有力的项目经理。
敏捷对团队的要求很简单:自主管理、自我组织、多功能型。
Scrum对项目的众多需求采取分而治之的办法,能让相关人员集中精力,在一定期限内解决部分问题。它强调短时间的迭代,在多次迭代中不断总结,改进团队的流程和产品功能。它明确地指出不同的人在一个项目中的投入和责任的不同。它通过Daily Scrum、Scrum Master等方法和角色,鼓励团队内部交流,并优化团队和其他人员的交流方式。