【每日一学 20261014】《程序员生存手册》——敏捷开发
- 2026-10-14 11:01:00
- 蓉蓉 原创
- 18
1.Scrum:迭代式增量软件开发
Scrum是一个轻量级的框架,它帮助个人、团队和组织,通过对复杂问题提供适应性解决方案来产生价值。2.编程:软件开发工程实践
极限编程是基于简单、沟通、反馈、勇气和尊重5类价值观构建的软件开发行为准则。它的工作方式是将整个团队聚集在一起,通过践行一系列简单的实践和足够的反馈,使团队能够感知目前的状态,并根据自身独特的情况对实践进行调整。(1)核心实践:整个团队
在极限编程中,项目的每个贡献者都是“整个团队”的组成部分。团队围绕着一个叫作“客户”的业务代表,客户和团队坐在一起,每天和他们一起工作。(2)核心实践:规划机制,小型发布,客户测试
极限编程团队采用一种简明扼要的计划和追踪机制,以明确下一步的行动,并预估项目的完成时间。该团队专注于快速实现业务价值,通过一系列小型、高度集成的软件发布来开发软件系统,并确保每次软件发布都能通过客户定义的所有测试。(3)核心实践:
简单设计,结对编程,测试驱动开发,重构极限编程实践者结对或组成小组工作,采用简单的设计和经过严格测试的代码,不断地重构,使其始终符合当前的需要。
(4)核心实践:持续集成,集体代码所有权,编码标准
极限编程团队采用结对编程的方式紧密合作,共同编写代码。他们遵循统一的编码标准,以确保每个人都能理解代码并能对代码进行必要的改进,从而保证系统始终处于可运行和可集成的状态。(5)核心实践:隐喻、可持续的步调
极限编程团队共同拥有一个简单而共识的整体视图,对系统的形态有清晰的认识。每个团队成员都以可持续的、无限期的步调工作,确保项目的持续进行。3.看板:可视化管理
什么是看板?简单来说,看板是一种可视化管理工作的方法(也称知识工作)。通过看板,工作流程和任务状态可以清晰地展现在团队成员面前,以便团队成员更好地管理和跟踪工作进度。
(1)可视化
合理的可视化是有效合作和识别改进机会的关键。在许多情况下,组织中的工作是不可见的。将这些工作和流程可视化,可以极大地提高透明度。从进化的角度来看,人类的视觉感知是非常古老的,它使我们能够在短时间内吸收和处理大量的信息。此外,可视化通过信息共享使所有人看到相同的画面,对团队合作来说更加友好。(2)限制在制品
在制品(orkin Progress,WIP)指的是在某一时刻正在进行的工作项目的数量。通过应用看板我们发现,有效的系统更注重工作的流动,而不是员工的利用率。当资源被充分利用时,系统中就不会有任何松弛的部分,结果就是工作的流动会受到影响,就像公路上的拥堵。
(3)管理流动
管理工作流动的目标是尽可能顺利、可预测地完成工作,同时保持一个可持续的速度。如前文所述,限制WIP是确保流程顺畅和可预测的关键方法之一。对工作流动的监控或测量会产生重要的信息,这些信息对于管理客户的期望值、预测和改进都非常有用。(4)明确决策
我们每天都会面临无数关于工作安排的决策,无论是个人独立决策还是群体的共同决策。
(5)实施反馈环路
反馈环路是协调交付和改善服务交付的必要条件。一套适用于特定环境的反馈环路可以加强组织的学习能力,并通过管理和检验来实现组织的发展。
(6)协同改进,通过试验进行演进
在看板方法中,我们主张从现有的工作方式开始,认同通过渐进的变革来追求改进,激发各级领导力。
4.规模化敏捷:大型敏捷实施
(1)SAFe
SAFe是一个经过验证的集成原则、实践和能力的知识库,用于使用精益、敏捷和DevOps实现业务敏捷性。(2)LeSS
LeSS (Large-Scale Scrum)是一种大规模的Scrum方法论。它并不是对Scrum的新定义或改进,也不是通过在底层添加额外层级来处理多个Scrum团队的方法。
LeSS的核心理念是在大规模环境下以简单的方式应用Scrum的原则、目的、元素和优雅性。它强调保持Scrum的本质和简洁性,同时提供适应大规模需求的指导和实践。
与Scrum和其他真正的敏捷框架一样,LeSS是一种“恰好够用的方法论”,即它提供了必要的指导和结构,但也鼓励团队根据自身情况进行适应和调整。LeSS不是一种僵化的框架,而是一种敏捷方法,鼓励团队在实践中学习和不断改进。
LeSS的目标是在大规模环境中实现敏捷的价值交付,并促进协作、透明度和自组织。它提供了些实践和原则,以帮助团队和组织处理规模化带来的挑战,并在保持Scrum简单性的同时实现良好的协同工作。
(3) Nexus
Nexus是一个由3~9个Scrum团队组成的大组,旨在合作交付同一个产品。在Nexus框架中:- 所有团队共享同一个产品待办事项列表,并由一位产品负责人进行管理;
- 框架明确定义了团队的责任、事件和工件,有效连接不同Scrum团队的工作;
- Nexus在Scrum的基础上建立并扩展,满足大规模团队协作需求;
- 通过共享产品待办事项、定义责任与事件等,NeXus帮助团队在大规模环境中协同工作,实现共同目标。
(4)Scrum@Scale
Scrum@Scale是一种框架,旨在帮助组织有效地整合多个团队,让组织能够专注于高优先级的目标。它通过构建一个最小可行官僚(Minimum Viable Bureaucracy,MVB)架构来实现这一目标,该架构能够自然地将单个Scrum团队的工作方式扩展到整个团队网络。
来源:《程序员生存手册》