实施敏捷:在敏捷环境中交付(实施敏捷经营需要具备哪些条件)
wxin55 2024-10-28 20:25 14 浏览 0 评论
项目章程和团队章程
每个项目都需要一个项目章程,这样项目团队就能了解项目之所以重要的原因、团队的前进方向以及项目的目标。同时需要有团队规范以及对一起工作方式的理解,需要一个团队章程。
敏捷项目章程回答以下问题:
- 项目愿景:我们为什么做这个项目?
- 项目愿景的一部分:谁会从中受益?如何受益?
- 项目发布的标准:对此项目而言,达到哪些条件才意味着项目完成?
- 预期的工作流:我们将怎样合作?
下面是团队成员制定章程的一些建议,可以将其作为制定团队社会契约的基础:
- 团队价值观:例如可持续的开发速度和核心工作时间。
- 工作协议:如“就绪”如何定义,这是团队可以接收工作的前提。
- 基本规则:例如有关一个人在会议上发言的规定。
- 团队规范:例如团队如何对待会议时间。
常见敏捷实践
回顾
回顾是最重要的一个实践,原因是它能让团队学习、改进和调整其过程。
团队成员可以决定在这些关键时刻进行回顾:
- 当团队完成一个小发布或者加入一些功能时。
- 自上次回顾以来,又过了几周时间。
- 当团队出现问题时,以及团队协作完成工作不顺畅时
- 当团队达到任何其他里程碑时。
首要的是,回顾并不是责备;回顾是让团队从以前的工作中学习并作出小的改进。
待办事项列表编制
待办事项列表是所有工作的有序列表,他以故事形式呈现给团队。
产品负责人(或产品负责人价值团队,包括产品经理和产品领域的所有相关产品负责人)可能会绘制一个产品路线图,以显示预期的可交付成果序列。产品负责人根据团队的实际成果重新规划路线图。
待办事项列表的细化
在基于迭代的敏捷中,产品负责人往往在迭代中期的一次或多次会议中与团队合作,为即将进行的迭代准备一些故事,主要的目的是细化足够的故事,让团队了解故事的内容,以及故事之间的相互关系。
至于细化过程与应该有多长时间,还没有达成共识,但是有一个连续区间:
- 基于流程的敏捷的即时细化,团队将下一张卡片从待办事项列表中拿出来讨论。
- 许多基于迭代的敏捷团队在两周的迭代中用1小时的时间盒讨论。
- 基于迭代的敏捷团队的多次细化讨论。
要点:考虑使用影响地图查看产品如何组合在一起。正常情况下,由产品负责人领导这项工作。作为向项目提供服务的一种方式,仆人式领导可以主持召开任何必要的会议。
每日站会
团队成员利用每日站会对彼此做出小的承诺,发现问题,并确保团队工作顺利进行。
每日站会规定时间盒,不超过15分钟。
在基于迭代的敏捷中,每个人都轮流回答下列问题:
- 上次站会以来我都完成了什么?
- 从现在到下次站会,我计划完成什么?
- 我的障碍(或风险问题)是什么?
要点:要鼓励任何团队成员主持会议而不是由项目经理或领导主持,以确保它不会变成状态报告会议,而是作为团队进行自我组织和相互承诺的会议。
展示/评审
当团队以用户故事的形式完成特定功能时,团队会定期(每两周至少展示一次)展示工作产品。看过展示后,产品负责人接受或拒绝故事。
规划基于迭代的敏捷
团队估算能够完成的工作,这也是一种能力的衡量。团队不能100%确定自己能交付什么,因为他们无法知道意外情况。当产品负责人拆分故事使其更小时,团队看到的是产品的完成进度,团队就知道他们将来能够做什么。
要点:将团队的注意力吸引到反模式,并帮助团队发现如何改进站会。
帮助团队交付价值的执行实践
如果团队不注重质量,很快就会无法快速发布任何东西。
下面技术实践中,很多都来自于极限编程,它们可以帮助团队以最快的速度交付:
- 持续集成:频繁将工作集成到整体中
- 在不同层面测试:对端对端信息使用系统级测试,对构建块使用单元测试。
- 验收测试驱动开发(ATDD):在ATDD中,整个团队聚集一堂讨论工作产品的验收标准。
- 测试驱动开发(TDD)和行为驱动开发(BDD):在编写/创建产品之前编写自动化测试,实际上可以帮助人员设计产品。
- 刺探(时间盒研究或实验):刺探对学习很有用,可以在诸如评估、验收标准定义以及通过产品了解用户行为的流程中使用。
迭代和增量如何帮助交付工作产品
迭代可以帮助团队为交付和多种反馈创建一个节奏。团队会为交付和反馈创建增量。交付的第一部分是一次演示。团队会受到关于产品的外观和运行方式的反馈。团队成员回顾如何检查和调整有关过程以取得成功。
演示或评审是敏捷项目流程的必要组成部分。为团队的交付节奏安排适当的演示。
解决敏捷项目的挑战
出于解决具有高变化率、不确定性和复杂性的项目相关问题的需要,敏捷方法应运而生。由于这些原因,敏捷方法包含了各种各样的工具和技术,用于处理预测法中出现的问题。
敏捷项目的衡量指标
替代衡量指标(如完成百分比)不如经验指标(如已完成功能)更有用,敏捷帮助团队发现问题和难题,以便团队能够诊断和解决问题。
除了定量指标外,团队还可以考虑收集定性衡量指标(侧重于团队选择的实践,评估团队使用这些实践的情况,例如交付功能的满意度、团队的士气、团队希望跟踪的任何东西等)。
敏捷团队的衡量结果
某些基于迭代的项目使用燃尽图查看项目随时间的进展情况:
某些项目团队更喜欢使用起燃图:
要点:团队可能会发现,可能需要四到八次迭代才能达到稳定的速度。团队需要从每个迭代中获得反馈,了解他们的工作情况以及如何改进。
看板面板示例
团队可以在一个功能燃起图/燃尽图和一个产品待办事项列表中衡量已经完成的工作,这些图表提供了随时间变化的完成趋势:
在敏捷中的挣值是基于已完成的功能,如下图:
如果一个团队需要衡量挣值,可以考虑使用燃起图:
累积流程图显示了看板上进行中的工作,如下图:
相关推荐
- Java中List 和 Map、Set 的区别(list和set和map)
-
hello,大家好,我是霖仔java集合的大家了解,我再给大家说一下他们的区别,希望能够帮助到大家结构特点:List和Set是存储单列数据的集合,Map是存储键和值这样的双列数据的集合;Lis...
- Java 集合框架全面解析:选对数据结构,提升开发效率
-
上一章我们详细介绍了各种常用的数据结构情况(参考:数据结构复杂度全览:如何选择最优结构?),本文结合关键数据结构,从列表(List)、队列(Queue)、集合(Set)、映射(Map)四个维度,深入解...
- LinkedList竟然比ArrayList慢了1000多倍?(动图+性能评测)
-
数组和链表是程序中常用的两种数据结构,也是面试中常考的面试题之一。然而对于很多人来说,只是模糊的记得二者的区别,可能还记得不一定对,并且每次到了面试的时候,都得把这些的概念拿出来背一遍才行,未免有些麻...
- LinkedList 底层源码深度解析(linkedlist底层数据结构)
-
目录1.引言2.LinkedList概述2.1类继承体系图2.2各个接口作用3.与ArrayList的对比4.底层数据结构5.核心方法源码解析5.1add()方法5.2a...
- List的用法和实例详解——Java进阶知识讲义系列(四)
-
序欢迎来到全网最完整的Java进阶知识系列教程!!!每天定时更新!!!本期是Java进阶知识系列的第四讲,将分享Java常用的数据容器——集合类。集合类也分很多类型,比如:List、Set、Map、Q...
- Rust高效集合操作(rust基本操作)
-
集合的分类Rust的集合类型主要分布在标准库的std::collections模块中,同时也包括语言内置的数组和字符串类型序列容器序列容器维护元素的顺序,适合需要按索引访问或顺序遍历的场景向量(...
- Java八股文:核心知识点梳理(java八股文是啥)
-
一、Java基础1.Java基本数据类型8种基本类型:整型:byte(1),short(2),int(4),long(8)浮点型:float(4),double(8)字符型:char(2)布...
- 为什么我不推荐研发人员使用 LinkedList?
-
在Java集合框架中,LinkedList作为List的实现之一,经常被认为是ArrayList的替代方案。然而,在大多数实际场景下,我们并不推荐使用LinkedList,原因主要集中...
- ArrayList 、 LinkedList、Vector的区别
-
ArrayList、LinkedList、Vector的区别如下:ArrayListLinkedListVector结构动态数组双向链表动态数组是否线程安全否否是效率遍历查找快,插入删除慢插入删除...
- (2020 )Java最新面试笔试题答案解析(一)
-
Java中的集中基本数据类型是什么?各占用多少字节?【数值型】—(整数类型)byte(1字节)short(2字节)int(4字节)long(8字节)拓展:Java中的数据类型除了上面的基本...
- 超简单五步实现Linux虚拟机CentOS 7系统Root密码忘记重置
-
环境:CentOS7.5重置root密码:1.CentOS7虚拟机开机,将鼠标光标移动至虚拟机内。2.在虚拟机中使用键盘上↑和↓键将选择行设置为第一行(背景高亮即为选中),按下键盘上的e,进...
- 吊轨门和推拉门哪个好?北京今朝区别介绍看完不入坑
-
厨房到底使用什么门好?相信这是大多数业主都比较抓狂的事情,其实在装修中材料的选择最终还是要依据空间而定,那么吊轨门和推拉门哪个好呢?下面就跟随北京装修网一起来看看吧!吊轨门与推拉门介绍吊轨门吊轨门的特...
- 〖省钱宝典〗不花冤枉钱,少走弯路!居家中推拉门如何设计?
-
想要空间最大程度的显大?想要充足的光线?又想拥有合理的区域划分?那么推拉门是你绝对不能错过的好选择。推拉门的设计轻盈简洁,绝对是室内每个空间的福音。它不仅可以最大化地节省空间,方便了居室的功能划分和利...
- 吊趟门与推拉门有什么区别?(吊趟门贵还是推拉门贵)
-
吊趟门与推拉门的区别很多人在购买的时候并不清楚,有些客人甚至根本分不清吊趟门和推拉门,今天小编就给大家讲讲吊趟门与推拉门的相关内容,看看吊趟门与推拉门的区别有哪些?1、推拉门采用以门扇下滑轮为主支撑点...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Java中List 和 Map、Set 的区别(list和set和map)
- Java 集合框架全面解析:选对数据结构,提升开发效率
- LinkedList竟然比ArrayList慢了1000多倍?(动图+性能评测)
- LinkedList 底层源码深度解析(linkedlist底层数据结构)
- List的用法和实例详解——Java进阶知识讲义系列(四)
- Rust高效集合操作(rust基本操作)
- Java八股文:核心知识点梳理(java八股文是啥)
- 面试题:ArrayList和LinkedList有什么区别?
- 为什么我不推荐研发人员使用 LinkedList?
- ArrayList 、 LinkedList、Vector的区别
- 标签列表
-
- hive行转列函数 (63)
- sourcemap文件是什么 (54)
- display none 隐藏后怎么显示 (56)
- 共享锁和排他锁的区别 (51)
- httpservletrequest 获取参数 (64)
- jstl包 (64)
- qsharedmemory (50)
- watch computed (53)
- java中switch (68)
- date.now (55)
- git-bash (56)
- 盒子垂直居中 (68)
- npm是什么命令 (62)
- python中+=代表什么 (70)
- fsimage (51)
- nginx break (61)
- mysql分区表的优缺点 (53)
- centos7切换到图形界面 (55)
- 前端深拷贝 (62)
- kmp模式匹配算法 (57)
- jsjson字符串转json对象 (53)
- jdbc connection (61)
- javascript字符串转换为数字 (54)
- mybatis 使用 (73)
- 安装mysql数据库 (55)