理解敏捷价值观

敏捷是指能够让团队思考更加有效、工作更为高效、并且做出更好决策的一组方法和相关理念。敏捷也是一种思维模式

敏捷宣言

我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人

  • 个体和互动高于流程和工具

  • 可工作的软件高于详尽的文档

  • 客户协作高于合同谈判

  • 响应变化高于遵循计划

也就是说,虽然右项有其价值,但是我们更重视左项的价值。

瀑布式项目管理

需求分析–> 设计 --> 实现 --> 验证 --> 维护

最成功的项目会充分运用优良实践、工具和思想,将时间节省下来,与用户和同事沟通,应该考虑如何解决问题而不是花时间同代码作对

瀑布式流程要求团队在项目开始阶段完整的写下软件的描述,然后完全按照写下的文档构建软件。

瀑布式流程很难应对变化,因为这种流程关注的是文档而不是协作

没什么银弹流程或实践可以让项目完美运作

有些团队可以成功使用瀑布式流程,是因为采纳了高效的软件开发实践和原则,尤其是加强了沟通。

初步实践敏捷

更好的沟通可以帮助团队更好的管理变化

**团队作为一个整体来制定计划(planning as a team)**好过事先过度详细地制定计划,然后盲目执行。

软件项目具有不可预知性,从20世纪60年代开始产出不好的结果。这种情况在当时被称作"软件危机"

很多团队”步入敏捷“的方法是采用伟大的敏捷实践改善他们已经做的很好的事情

因为团队没有从根本上改变沟通和工作的方法,因此他们采用更好的实践得到的只是聊胜于无的结果

用户故事是一种敏捷实践,在这种实践中,一名团队成员(通常是产品所有者)通过几句话描述用户操作系统的各种具体方式,使用的语言是用户可以理解的语言

目前,采用敏捷最常用的方法是一次采用一种时间,但这并不是最有效的方法

敏捷宣言帮助理解敏捷

敏捷宣言包含了高效团队必备的共同价值观和思想

个体和互动高于流程和工具

团队应该首先关注团队中的人以及人之间沟通的方式,工具和实践是次要的。盲目的遵循流程会使人走入误区。

好的工具有时候可以帮助我们更快的犯错。

拥有”正确的","最佳的"流程并不够,更重要的是将这些流程推销给队友,让大家心里有数,每个人都明白为什么这么做,在做什么,明白每个人的工作会对其他人造成什么印象。

用户故事、每日站会等流程和工具本身并不重要,重要的是这些东西可以帮助团队一起沟通、讨论、碰撞、协作实现这些流程和工具的真正意义

可工作的软件高于详尽的文档

交付满足用户需求的软件比交付描述这个软件的说明文档重要

对于敏捷实践者,可工作的软件是给公司带来实际价值的软件。虽然通常团队不直接谈钱,但价值的大部分情况下最终回落到钱上面。团队应该着重于构建和交付能带来价值的可工作的软件,文档只是实现目标的工具

可工作的软件高于详尽的文档,并不代表敏捷开发团队就不需要文档。在一个团队中,很多种类的文档可以帮助团队成员之间、团队与客户之间理解、沟通问题,避免可工作的软件中引入错误的需求,偏离正轨。这种文档消耗的成本与节省的时间和精力相比是划算的。

团队可以采用一些将文档嵌入软件本身的方法,如使用swagger生成API文档、实践TDD记录自动化测试代码等

客户协作高于合同谈判

传统项目团队中,程序员、产品测试人员、产品所有者、项目经理在不同的团队工作,相互之间遵循协定进行合作,而不是真正朝着交付可工作的软件这样一个单一目标合作努力。合同谈判的好处在于出现矛盾、问题的时候,可以”甩锅“,坏处是大家会倾向于保护自己/团队,潜在台词就是会不太愿意尝试新的合作方法,也不愿意为可工作的软件采用创新的方法。

客户协作就是要把所有人看作同一个团队的成员。

敏捷团队中,通过把PO当作团队中的一员,来落实这个价值观,PO将产品当作自己的东西,不实际进行开发工作,但更开发团队一起参加会议、贡献想法进行协作。PO同其他成员之间协作的媒介通常是用户故事。

响应变化高于遵循计划

计划是会变的,交付软件产品比严格遵循计划更重要。

理论上讲,遵循计划有利于项目顺利执行,但如果出现了变化,在产品完成度很高的情况下处理变化会更加困难。

制定计划的人通常很抗拒变化,这是正常的,因为将工作进行切分、评估每一份任务的工作量、重新调整工作安排都需要消耗不少精力。

任务板(task board):是一种敏捷规划工具,大家把用户故事粘贴在任务板上,根据用户故事在当前项目或迭代中的状态,把这些用户故事分类在不同的列中。

任务板可以帮助团队做出响应变化的决策。建立任务、人、进度更快的反馈回路。必要的时候,可以站在任务板前面进行讨论、指定、移动相关卡片,拥抱变化。

原则高于实践

敏捷实践之上,还有一套敏捷的思维。践行实践的同时遵循原则,收获更大。

在为客户构建有价值的软件时,在互动、协作以及应对变化上采用敏捷实践,比仅仅在编程、文档、计划上采用敏捷实践收获更多。

jim highsmith 在《敏捷项目管理(第2版)》进行了总结

没有具体的实践,原则是贫瘠的;但是如果缺乏原则,实践则没有生命、没有个性、没有勇气。伟大的产品出自伟大的团队,而伟大的团队有原则、有个性、有勇气、有坚持、有胆量。

盲人摸象

以割裂的视角采用敏捷方法,每个人只会使用对自己的工作有影响的实践,对现状肯定会有所改善,就好像盲人只摸到大象的一部分,只看到敏捷实践中对自己有用的部分,这个团队会错过人与人之间重要的互动。视角割裂、相互独立,无法真正发挥团队的力量。

敏捷有很多优越的时间组成,整体比零散个体的总和更为强大。互动是内建在敏捷方法中的。

敏捷实践

只关注单个实践的团队看不到加强沟通和响应变化的大目标

敏捷方法涵盖了实践、思想、建议和团队

诸如scrum、极限编程、精益这样的敏捷方法,不仅包含了很多优越的实践,还要求团队关注这些目标背后的思想

敏捷教练通常使用隐喻帮助团队学习

敏捷团队不需要计划???,事实上敏捷团队做的计划比很多传统项目要更细致,敏捷团队只是不在一开始就做详尽的全局计划,而是工作计划的拆解到了敏捷实践的不同工具中了,以scrum为例,在每个sprint开始前,全员进行sprint计划会议,sprint进行中,每天组织每日站会。这些其实都是在为项目工作制定计划,而且由于是全员参与,所以花费在计划上的工作量折算起来,比传统项目团队要更多。也是由于全员参与,计划制定之后不需要再逐级宣贯、解释,可以直接开始实施,从外部看就是团队很少做项目计划,就直接进入项目实施阶段了。

现在可以做的事情

  • 列出你和团队使用的所有实践,可以是:编写规格说明书、使用版本管理工具、甘特图、每日站会等
  • 请团队中的其他人也写一个这样的列表,比较你们的列表。有哪些时间没有被所有人纳入列表?就此展开讨论。找出成员间视角的不同

学习资料

  • 《敏捷软件开发(原书第 2 版)》,Alistair Cockburn 著:深入了解敏捷价值观和原则。
  • 《敏捷项目管理(第 2 版)》,Jim Highsmith 著:深入了解原则和实践的关系。
  • 《如何构建敏捷项目管理团队:ScrumMaster、敏捷教练与项目经理的实用指南 》,Lyssa Adkins 著:深入了解敏捷教练。

教练技巧

  • 培训一个新团队的时候,单独与团队成员聊天,尝试理解不同角色之间视角的差异。
  • 单独询问团队成员对敏捷宣言中价值观的理解:怎样看待这些价值观?哪些价值观最重 要?这些价值观是否可以用在日常工作中?
  • 团队通常会有一种“聊胜于无”的感觉,但是不知道如何表达。直接提出这个概念,要 求团队成员想出一些感到“徒劳”的实践或一些事半功倍的实践。
  • 发起关于敏捷宣言中某项价值观或原则的讨论。例如,如果团队谈到了他们与客户之间 协商定下的“合约”,那么可以以这份合约作为起点讨论合同谈判与客户协作之间的异同。 帮助他们理解在哪里作出选择。

理解敏捷价值观(学习敏捷笔记)相关推荐

  1. 敏捷结果: 学习笔记

    敏捷个人学习笔记 敏捷个人是平衡和快乐的生活态度,节奏和反省的生活系统,价值和卓越的哲学. 敏捷个人是为个人设计的一个成长系统,适应快速变化.强调学习的环境,适用于指导每个人工作和生活各方面的短期和长 ...

  2. 【敏捷那些事儿 02期】如何理解敏捷价值观和原则?

    目录 敏捷开发宣言 左右事项的辩证关系 四条价值观剖析 敏捷十二原则 原则一 价值优先 原则二 拥抱变化 原则三 短迭代交付 原则四 业务参与 原则五 以人为本 原则六 面对面沟通 原则七 成果导向 ...

  3. 《学习敏捷 构建高效团队》 读书笔记 —— (一)学习敏捷

    第一章:学习敏捷 以下是敏捷承诺的几种解决方案: 敏捷项目可以按时完成 敏捷项目交付高质量的软件 敏捷团队构建的代码优良且易于维护 敏捷团队会让用户满意,不再交付无法为用户带来价值的软件 出色的敏捷团 ...

  4. 用敏捷思维来指导我们的工作和学习 --专栏《说透敏捷》学习总结

    "无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程." 敏捷开 ...

  5. 敏捷 | 【万字长文】 说透 如何学习敏捷开发流程和运用

    作为程序员如果说你不了解 敏捷开发流程,不能说你不是一个好程序员,肯定的是你一定很痛苦,你将面临项目周期和版本无序的困扰. 针对这种情况,建议你看看这边文章,看完你完全能够明白敏捷. 敏捷开发是目前很 ...

  6. ACP_1_敏捷价值观原则

    生生不息,"折腾"不止:Java晋升指北,让天下没有难学的技术:视频教程资源共享,学习不难,坚持不难,坚持学习很难: >>>> 一.引论 1.1 课程整体介 ...

  7. 读《Scrum敏捷软件开发》笔记

    读<Scrum敏捷软件开发>笔记 目录 读<Scrum敏捷软件开发>笔记 第I部分 启动 第II部分 个体 第iii部分 团队 第四部分 组织 第四部门 下一站 第I部分 启动 ...

  8. 中文A-CSM认证项目Advanced Certified ScrumMaster进阶敏捷教练学习培养

    2017年8月,优普丰敏捷学院的Vernon Stinebaker老师成为中国和亚洲首位新CSP体系路径的认证教育者(Educator of New path to CSP of Scrum Alli ...

  9. Scrum敏捷价值观与原则

    Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发.如果还不知道Scrum敏捷开发的朋友们,请出门左转,点击 Scrum 了解. 敏捷价值观 个体和互动 高于 流程和工具 工作的软件 高于 ...

最新文章

  1. 两个负数相减计算机如何表示,计算机如何表示整数
  2. 以计算机为话题写作文,以我的发现为话题作文(通用3篇)
  3. 在asp.net中如何自己编写highcharts图表导出到自己的服务器上来
  4. java jdbc 删除_java使用jdbc实现各种类型添加删除修改数据
  5. MD5算法之C#程序 MD5算法描述
  6. T-SQL 操作文件 具体解释
  7. 什么是Hadoop,怎样学习Hadoop
  8. [机器学习]机器学习常用的模型评估方法
  9. CDC不同模式在ODI体现系列之二 异步模式
  10. SoftCnKiller高速下载器捆绑软件杀手
  11. android 整人代码‘’,史上最全的 整人代码
  12. Java递归下降分析器_递归下降语法分析器
  13. python人脸识别门禁系统_一种基于python的人脸识别开源系统
  14. C# SplitContainer控件实现折叠展开面板
  15. 全国哀悼日,博友应该做的两件事
  16. API_Day02_StringExcise
  17. APP闪退有哪些原因造成的?
  18. Ubuntu14.04 安装 TP_LINK驱动 TL-WDN5200H 1.0无线网卡
  19. entity、bo、vo、po、dto、pojo如何理解和区分?
  20. R语言train函数调参(caret包)

热门文章

  1. 刻意练习(重点摘抄)
  2. 携创教育:2022学历改革解读系列|提升学历、迫在眉睫
  3. C++ XML操作类
  4. 数据集成技术概述-常见的CDC方案比对
  5. 华为5500网络限流配置_华为USG防火墙综合解决方案
  6. 微信扫码下载APK解决方案
  7. html浅色_修改CSS样式实现网页灰色(没有颜色只有浅色黑白)的几个方法整理
  8. 【yum是什么?】centos7基于阿里云,配置网络yum
  9. 项目目标的SMART原则
  10. 使用Kettle 进行行Oracle数据迁移时处理编码转换处理US7ASCII 编码