敏捷史话读书笔记5-13章

简介: 《敏捷史话》禅道团队,个人读书笔记。了解敏捷agile的由来和人物。记录敏捷开发各个不同的节点。【敏捷是什么】【I am a programmer】【不要让自己成为一个标签】【瀑布开发之旅】【敏捷开发的萌芽】【贯彻[匠艺精神]】【重构】【《敏捷宣言》】【Bliki的诞生】【守】【破】【离】【UML/MDA】【Agile UML/MDA】【Dark Scrum】【敏捷之外】【极限编程的诞生】【JUnit的诞生】

第五章
【敏捷是什么】
专注于个体对敏捷实践的思考,而不是照搬敏捷专家的说法
敏捷需要严格的纪律来约束团队。
设计编码流程等尽可能简单小步快跑持续反馈。
敏捷实践需要多操练因时而变,让敏捷成为一种习惯。
【I am a programmer】
《程序员修炼之道》Dave Thomas 和Andy Hunt
【不要让自己成为一个标签】
标签理论:标签是一个名词,表明了你是做什么的,却限制了你如何去做。
把标签改成一种解决方案创造更多的可能性
《程序员修炼之道》第二版
所有值得做的事情都是困难的,但克服这些挑战不仅会让你更强大,还会让你变得更加投入。
能够改变世界的人,首先改变的是自己。让自己不只是具备广泛的能力,还能将不同的技术结合起来创造价值。
Robert C. Martin aka UncleBob
敏捷不是项目管理方法,而是一套价值观和纪律,可以帮助相对较小的团队构建中小型产品。
【瀑布开发之旅】
代码的整洁是需要引起重视的。软件质量不仅依赖软件架构及项目管理,还与代码质量紧密相关。
将瀑布模型和代码整洁结合,但进入开发阶段,事情不可控。
【敏捷开发的萌芽】
极限编程(XP),测试驱动开发(Test-Driven Development,TDD)
《代码整洁之道》代码首先要能读懂,其次才去要求功能实现。
一个观点:工作保证速度与质量的唯一方法就是尽可能地保持代码整洁。
【贯彻[匠艺精神]】
对[代码整洁]进行扩充。成功的秘诀在于用很多小团队解决很多小问题,需要每个程序员具备[匠艺精神]。
什么是[匠艺精神]?基于把事情做好的渴望,来提供专业的服务。
软件匠艺(Software Craftmanship)
《敏捷整洁之道:回归本源》
敏捷和匠艺都是为了交付高质量有价值的工作。
Martin Fowler
如何从复杂的局势中找出最简洁、直观的破局之法。
【重构】
由于软件需要不断地修复Bug并添加新特性,这会让原本的代码库变得繁杂,导致之后的工作进度越来越缓慢。
更改逐渐叠加的情况,可以重构代码减少不必要的复杂性。
重构并不是出现在项目计划中的一项特殊任务,而应该是编程活动中的一个常规部分。
【《敏捷宣言》】
轻量 方法论
【Bliki的诞生】
Bliki是Blog+wiki 简短的想法,建立一个交叉链接的主体。
Alistair Cockburn
守 破 离
【守】
做事,需要一个做法的步骤清单,告知怎么做。正确的方法,只要按照方法去做,就能做好。
【破】
不满足于按照清单去做,需要不同的处方,做出不同的效果。
水晶方法 六边形架构
【离】
可以根据方法来做,但即使没有方法,我们也知道怎么做。
敏捷的核心是简化信息提示,以便更好地专注于实现出色的结果。
Jon Kern
【UML/MDA】
UML(Unified Modeling Language, 统一建模语言)
软件开发中,要确保团队提升的是[频繁的、切实的工作成果],而不是无限趋近于完成但始终没有完成的开发过程。
MDA(Model Driven Architecture,模型驱动体系架构)
基于组件的开发、设计模式、中间件、说明性约束、抽象、多层系统、企业应用整合以及契约式设计。
MDA提高文档编制的便利性。
【Agile UML/MDA】
细节是一项至关重要的因素。从长远角度看问题,善于发现细节,促使团队或公司完善每一个细节,从而推动业务成功。
Stephen J. Mellor
敏捷和建模 前期大规模设计
模型是可运行的。建模要被广泛认为是可执行的。
建模者能从实施敏捷的人身上学到许多,例如尽早为模型构建测试;遵循敏捷过程的人,也能从提高生产率以及轻松地跟客户沟通
过程中受益。
永远不要相信你最近创建的系统是唯一的,应设法寻找不同方法来解决相同类型的问题。
Ron Jeffries
远离人造敏捷,回归敏捷本质。
【Dark Scrum】
XP目的是让程序员的生存环境变得更安全一些。
人造敏捷和黑暗敏捷不能改善开发人员的生活,而是敏捷宣言最初思想的对立面。
人造敏捷对企业有利,对开发人员不利。开发人员不具有自主性而是被强制性工作。
每周产出可运行的集成软件;不断提升自身技能;保持软件设计干净;在软件价值的基础上进行沟通对话。
【敏捷之外】
《Extreme Programming Installed》《软件开发本质论》
惠及程序员、提高效率、产出价值才是敏捷的本质。
Kent Beck
每六个月汇报一次对企业的影响,每个人都专注于自己正在做的事,保证每个人对公司有所贡献。
【极限编程的诞生】
适合重构环境的软件开发方法《规划极限编程》《测试驱动开发》
【JUnit的诞生】
java测试驱动开发。务实的理想主义。现实和理想往往是比较矛盾的,但是在充满竞争和变化的现代社会,这种矛盾却无处不在。
需要一个理想的目标。

相关文章
|
2月前
|
监控 架构师 Devops
敏捷测试价值观、方法和实践读书笔记(3)
本章节介绍敏捷测试转型框架,涵盖模型概览、实施难度与顺序、文化转变、角色技能需求及测试流程。敏捷测试转型模型包括文化、组织、流程与实践等关键要素,并针对各层面提出具体实施建议与障碍解决方案。此外,详细阐述了不同敏捷测试角色的技能需求与职责,以及从Sprint内至跨Sprint的测试流程与交付物。
34 5
敏捷测试价值观、方法和实践读书笔记(3)
|
2月前
|
敏捷开发 数据可视化 Devops
敏捷测试价值观、方法和实践读书笔记(4)
本章节探讨了敏捷测试执行的关键概念与实践。首先介绍了用户故事及其重要性,强调其在敏捷开发中的角色,并阐述了用户故事的 INVEST 原则。接着分析了用户故事生命周期中的测试关注点,包括定义、处理、完成及验收阶段的测试活动。此外,还对比了不同测试术语的差异,并提供了敏捷测试计划的策略与过程。通过看板等工具实现任务管理与跟踪,确保测试活动高效进行。最后,介绍了敏捷测试中的度量指标,帮助团队评估测试效果。
37 5
敏捷测试价值观、方法和实践读书笔记(4)
|
2月前
|
开发框架 数据可视化 项目管理
敏捷测试价值观、方法和实践读书笔记(1)
敏捷软件开发宣言在身体力行的同时也帮助我们一直在实践中探寻更好的软件开发方法。由此,我们建立了如下价值观:个体和互动 高于 流程和工具工作的软件,高于 详尽的文档客户合作, 高于 合同谈判响应变化,高于 遵循计划。也就是说,尽管右项有其价值,但我们更重视左项的价值。
55 4
敏捷测试价值观、方法和实践读书笔记(1)
|
2月前
|
JavaScript 前端开发 Java
敏捷测试价值观、方法和实践读书笔记(5)
本章节介绍了敏捷功能测试的原则与实践,包括单元测试的概念及其编写步骤,测试驱动开发(TDD)的流程,以及如何通过模拟对象进行测试。详细讲解了单元测试的编写方法,如初始化对象、执行操作及验证结果,并探讨了 TDD 的五个步骤。通过具体案例展示了如何逐步完善储蓄账户的功能测试,包括存款、取款及异常处理。此外,还讨论了代码覆盖率的重要性及其局限性,强调了测试充分性比单纯追求代码覆盖率更为关键。
24 3
敏捷测试价值观、方法和实践读书笔记(5)
|
2月前
|
机器人 测试技术
敏捷测试价值观、方法和实践读书笔记(6)
验收测试驱动开发(ATDD)强调在开发前定义验收标准,并通过自动化测试确保用户价值得到满足。验收测试关注用户需求是否实现,而非代码细节。ATDD涉及用户、产品负责人、开发人员及测试人员,通过讨论、开发和交付三个阶段,确保产品符合预期。此方法有助于团队更好地理解和实现用户需求。
29 5
|
2月前
|
敏捷开发 测试技术
敏捷测试价值观、方法和实践读书笔记(2)
本章节介绍敏捷测试在快速变化的软件开发环境中的重要性。传统测试方法在敏捷环境中面临时间紧迫、文档不足、频繁变更及资源短缺等挑战。敏捷测试遵循敏捷开发原则,强调测试与开发的紧密融合、团队协作及业务价值交付。其特点包括更强的协作、更短的周期、更灵活的计划及高效的自动化。相较于传统测试,敏捷测试具有加快产品上市时间、提升整体质量及简化流程降低成本的优势。
26 3
|
2月前
|
XML 存储 API
敏捷测试价值观、方法和实践读书笔记(8)
本文介绍了API的基础知识,区分了Web Service和Web API的概念,详细阐述了Web Service中的SOAP服务和REST服务的特点及区别。同时,文章还探讨了如何在项目中进行API测试,包括API测试的类型和实施阶段,强调了API在现代软件开发中的重要性和优势。
9 0
敏捷测试价值观、方法和实践读书笔记(8)
|
2月前
|
JavaScript 前端开发 Java
敏捷测试价值观、方法和实践读书笔记(7)
本文介绍了BDD(行为驱动开发)的Given-When-Then方法,并详细描述了如何在Java环境中使用Cucumber框架实现BDD测试。内容涵盖配置环境、修改POM文件、编写Feature文件及步骤定义文件、运行测试等过程。同时,提供了使用Cucumber和Selenium对Web页面进行测试的具体示例,并探讨了BDD在团队中的实施策略,包括不同角色之间的协作流程与自动化测试框架的选择。
27 0
敏捷测试价值观、方法和实践读书笔记(7)
|
2月前
|
Devops jenkins 测试技术
敏捷测试价值观、方法和实践读书笔记(10)
本文介绍了敏捷测试的延伸实践,重点讨论了持续集成(CI)和持续部署(CD)的概念与实践方法。持续集成强调频繁提交代码至主干并自动化构建测试,确保快速反馈和高质量代码。持续部署则进一步实现自动化部署,通过蓝绿部署、金丝雀发布等方式提升软件交付效率。此外,文章还探讨了持续反馈机制,如A/B测试和混沌工程,以及DevOps文化下的测试策略,强调测试在整个开发流程中的重要性。
38 0
敏捷测试价值观、方法和实践读书笔记(10)
|
6月前
|
敏捷开发 开发框架 持续交付
【软件工程】航行敏捷之路:深度解析Scrum框架的精髓
【软件工程】航行敏捷之路:深度解析Scrum框架的精髓
下一篇
无影云桌面