在本章中,我们将重点关注称为"敏捷"的软件开发生命周期的概念.敏捷软件开发方法有助于通过增量会话在1到4周的短期迭代中构建软件,因此开发与不断变化的业务需求保持一致.
有12条原则描述了敏捷方法详细和减号;
客户满意度
通过早期和持续交付有价值的软件,客户可以获得最高优先级.
欢迎新的更改
在软件开发过程中可以接受更改.敏捷流程旨在满足客户的竞争优势.
交付
在一个范围内向客户提供工作软件一到四周.
协作
业务分析师,质量分析师和开发人员必须在项目的整个生命周期中一起工作.
动机
项目应该设计有一个有动力的个人.它提供了一个支持个人团队成员的环境.
个人对话
面对面交谈是发送信息的最有效和最有效的方法开发团队内部和之内.
衡量进度
衡量进度是帮助确定项目和软件开发进度的关键.
保持稳定的步伐
敏捷过程的重点是可持续发展.业务,开发人员和用户应该能够与项目保持一致.
监控
必须保持定期关注技术卓越和良好的设计,以增强敏捷功能.
简单
敏捷过程保持一切简单,并使用简单的术语来衡量工作未完成.
自组织条款
敏捷团队应该是自我组织的,并且应该与最佳架构保持独立;需求和设计来自自组织团队.
审查工作
定期审查工作非常重要,以便团队能够反思工作进展如何.及时审查模块将提高绩效.
每日站立
每日站立是指团队之间的每日状态会议成员.它提供与软件开发相关的更新.它还涉及解决项目开发的障碍.
无论办公地点如何,无论敏捷团队如何建立,每日站立都是一种强制性做法.
每日站立的功能列表如下:
每日持续时间站立大约应该是大约15分钟.它不应延长一段时间.
站立应包括有关状态更新的讨论.
本次会议的与会者通常希望尽快结束会议.
用户故事
故事通常是一个要求,用简单的语言用很少的句子表达,应该在一个迭代中完成.用户故事应包括以下特征 :
所有相关代码都应该有相关的签到.
指定迭代的单元测试用例.
应定义所有验收测试用例.
在定义故事时接受产品所有者的接受.
什么是Scrum?
可以考虑使用Scrum作为敏捷方法的一个子集.它是一个轻量级的过程,包括以下功能和减号;
这是一个流程框架,其中包含一组实践需要按照一致的顺序进行. Scrum的最佳例证是迭代或冲刺.
这是一个"轻量级"过程,意味着过程保持尽可能小,以最大化指定给定持续时间内的生产性产出.
与传统敏捷方法的其他方法相比,Scrum流程以其区分过程而闻名.它分为以下三类 :
角色
文物
时间盒
角色定义整个过程中包含的团队成员及其角色. Scrum团队包括以下三个角色 :
Scrum Master
产品负责人
团队
Scrum工件提供了每个成员应该注意的关键信息.该信息包括产品,计划的活动和完成的活动的详细信息. Scrum框架中定义的人工制品如下&&;
产品积压
Sprint backlog
烧掉图表
增量
时间框是为每次迭代计划的用户故事.这些用户故事有助于描述构成Scrum文物的一部分的产品功能.产品待办事项是用户故事列表.这些用户故事被优先排序并转发给用户会议,以决定应该采用哪一个.
为什么选择Scrum Master?
Scrum Master与之交互团队的每个成员.现在让我们看看Scrum Master与其他团队和资源的互动.
产品负责人
Scrum Master通过以下方式与产品所有者进行交互 :
寻找有效产品积压用户故事并进行管理的技术.
帮助团队了解清晰简洁的产品积压项目的需求.
具有特定环境的产品规划.
确保产品所有者知道如何提高产品价值.
促进Scrum活动当需要时.
Scrum团队
Scrum Master与团队进行了多次互动方式与否;
在Scrum采用中指导组织.
规划特定组织的Scrum实施.
帮助员工和利益相关者了解产品开发的要求和阶段.
与其他团队的Scrum Masters合作,提高指定团队Scrum应用程序的有效性.
组织
Scrum Master以多种方式与组织进行交互.下面提到了一些 :
教练和scrum团队与自组织交互并包含交叉功能的特征.
指导Scrum尚未完全采用或未被接受的领域的组织和团队.
Scrum的好处
Scrum可以帮助客户,团队成员和利益相关者进行协作.它包括时间框方法和产品所有者的持续反馈,确保产品处于工作状态. Scrum为项目的不同角色提供了好处.
客户
短期或迭代被认为持续时间较短,用户故事按优先级设计并参加冲刺计划.它确保满足每个sprint交付,客户要求.如果没有,则需要注意并计划并采用sprint.
组织
在Scrum和Scrum主人的帮助下组织可以关注开发用户故事所需的努力,从而减少工作量超负荷并避免返工(如果有的话).这也有助于提高开发团队的效率和客户满意度.这种方法也有助于增加市场潜力.
产品经理
产品经理的主要职责是确保产品质量产品得到维护.在Scrum Masters的帮助下,可以轻松地促进工作,收集快速响应并吸收更改(如果有的话).产品经理还验证所设计的产品是否按照每个sprint中的客户要求进行调整.
开发团队
具有时间限制性质并保持在较短的时间内冲刺,开发团队变得热情地看到工作得到了反映和正确交付.工作产品在每次迭代后递增每个级别,或者我们可以将它们称为"sprint".为每个sprint设计的用户故事成为客户优先级,为迭代增加了更多价值.
结论
Scrum是一个有效的框架,其中你可以在团队合作中开发软件.它完全基于敏捷原则设计. ScrumMaster以各种可能的方式帮助和合作Scrum团队.他的行为就像一位私人教练,可以帮助您坚持设计计划并按照计划执行所有活动. ScrumMaster的权威永远不应超越这个过程.他/她应该有能力管理每一种情况.