
敏捷开发是相对于瀑布开发来说,一种轻量级的软件开发方式。敏捷开发是为了快速响应需求变化、通过组建跨职能团队实现持续不断的交付高质量的产品的方法的集合。所有符合敏捷宣言和敏捷开发十二项原则的方法都可以是敏捷开发的一种实践。
敏捷软件开发宣言强调的四个核心价值:
个体和互动高于流程和工具
工作的软件高于详尽的文档
客户合作高于合同谈判
响应变化高于遵循计划
在大多数的敏捷开发实践过程中,团队会组合应用多种敏捷开发的实践,常见的方式是Scrum模型和看板的方式,并结合DevOps实现持续集成与持续部署等实践来推进敏捷开发。在具体展开说明敏捷开发过程之前,我们先看一下这三种敏捷分类。
极速敏捷:单周迭代、多次发布,以需求为粒度极速交付。典型场景有运营类、初创型产品。
迭代敏捷:是主流的研发模式,融合Scrum、Kanban、XP等。典型场景有独立应用、算法、系统以及预研等。
规模化敏捷:大象模型、>100人团队,跨部门、跨地域协作,交付周期 >2个月。典型场景有涉及多团队合作的大型项目以及集成项目。

▲ 详情可点击公众号菜单下的
研运干货-内容中心-《DevOps方法论和实践指导》ppt
接下来,以一个团队的一次迭代举例说明敏捷开发过程(点击查看如何正确引导团队进行敏捷转型)。
1
需求梳理
在敏捷开发之前,基于需求开展敏捷协同工作,将需求尽可能的拆分到小颗粒度,方便估算且能够在一个短周期内实现并交付上线,可以实现小步快跑的交付节奏。
从业务需求到功能需求的多层级拆分,并实现拆分后的关联追溯,能够清晰的展示所有拆分后的零散需求得到实现。
▲ 左右滑动查看业务需求拆分和功能需求拆分
2
迭代规划
根据需求的优先级(点击查看详情)、清晰度以及交付周期进行规划迭代,拆分后的需求分布到每个迭代,并规划版本发布时间,使得迭代和版本分离,让已经达到发布条件的需求,按需进行版本发布。

▲ 迭代计划与版本计划
3
迭代实施
实施过程中包括设计、编码、测试等活动,通过每日站会同步进度,并处理遇到的问题和障碍,通过看板展示迭代的进展。

▲ 看板
设计阶段,基于每个需求可独立上线的基本诉求,对架构解耦的要求逐步提高,设计架构从单体架构到分布式架构最后到微服务架构,根据软件业务属性选择适合的架构,进行合理的架构解耦。
编码实现过程中,同步关注质量。基于减少浪费、一次性把事情做对的质量原则,加强编码阶段的质量保证,进行充分的单元测试和代码检查(点击查看检查代码的哪些方面)。通过研发持续集成流水线,频繁地验证每次编码输出之后成果的正确性,尽早发现问题,实现测试左移。
采用统一仓库或者分支策略来进行代码管理,保证代码的安全和便于统一管理,并且通过统一的制品管理确保软件产品输出的唯一性(了解CPack制品库)。
完善的测试管理以及充分的自动化UI测试、接口测试,确保产品输出的质量。

▲ DevOps持续交付流水线
4
迭代评审
在迭代实施结束后,组织业务人员对相关的产品进行演示评审。相关责任人演示自己的交付产品,整个团队对交付产品进行评审是否符合交付预期成果,对于不符合交付预期的产品进行下一个迭代的规划,对于符合预期的产品进行就近版本的发布。至此任务完成,如果演示中存在一些缺陷,也需要进行记录并在后续迭代中进行处理。最终形成迭代评审的会议结论。也作为迭代回顾和下一期需求梳理的输入。
5
迭代回顾
迭代结束后,进行总结回顾。明确迭代目标的达成情况,在目标实现过程中,我们完成了需求情况,迭代速率、产品质量与历史数据的对比等具体情况。从迭代现状中发现本期迭代的优势和不足,并确定如何保持优势,如何处理不足等一些的改进措施,实现迭代的逐步改进。
在企业中应用敏捷开发并不是一个独立的迭代,迭代只是众多实施过程里的一个最小单元。即使是单元团队的敏捷开发,也需要前后衔接和规划迭代与迭代之间的边界,需要明确各角色在迭代内的工作产出,以及前后工序间的对接。在面临更复杂的多团队敏捷开发时,我们需要考虑的因素或借鉴的模型与实践会更为复杂。
嘉为蓝鲸CTeam敏捷协同解决方案
方案介绍
嘉为蓝鲸CTeam敏捷协同,是嘉为蓝鲸自主研发的企业级研发协同管理解决方案。CTeam提供高度灵活的配置模型,可满足敏捷、传统、双模等各种研发模式,并支持企业级规模化敏捷、大规模研发团队的多产品、多项目的协同管理和交付管理。
应用场景
产品研发管理协同:产品团队围绕企业长期业务价值,通过产品(线)管理与研发敏捷结合交付模式展开产品交付工作,积极拥抱市场变化;CTeam通过需求层级管理、产品管理、规划迭代和看板跟踪等功能,打通业务部门和研发团队之间的协同工作,加速信息高效流转,及时响应频繁变化的需求,实现业务价值的快速交付。
敏捷研发转型:传统项目自身管理模式对频繁变动的需求难以及时响应;企业通过使用CTeam需求管理、缺陷跟踪、迭代规划和敏捷看板等功能,打造研发过程中多角色之间的高效协作环境,通过小步快跑和持续交付方式逐步实现敏捷转型,提升组织更快交付价值和更灵活应对变化的能力。
软件外包项目管理:企业缺乏适用于软件外包项目的研发管理工具,研发过程透视度差;CTeam通过需求管理、看板跟踪、迭代规划、工时管理和统计报表等功能,解决项目进度透明度差和质量难以管控等问题,帮助IT部门实时掌握进展,提前规避风险,提升软件系统质量,实现IT部门降本增效。

往期推荐

在看一下,让更多人同享好文哟!







