《精益产品开发》读书笔记之二

简介: 何老师的这本书是一本非常“好”读的书,深涩的概念也是讲得深入浅出,触类旁通,而且故事感十足。

做性能优化的时候,比较容易想到的一个方法是增加线程数量;做项目加速时,比较容易想到的一个办法就是增加团队or成员的数量。


有效吗?


还真有!

技术架构有所准备的情况,增加线程可以提升性能;

技术架构和团队架构划分合理的情况,增加团队也确实可以缩短工期。


但一直增加一直有效吗?肯定不是。


想象一下,用线程数和性能作为横纵坐标绘制一个折线图,随着线程数增加,性能一路上升,但也必然会在某个点之后开始下降。


阿里云分布式调度系统遇到的5K挑战便是一个很好的例子。


通过技术的优化迭代,这个曲线可以有优化的空间,但曲线的形状会大变吗?

这个曲线表达的意义值得我们进一步思考。

大部分时候我们总是认为多就是好,其实少也是好。


根据实际情况,总会有一个合适的值。团队并行是这样,需求并行也是一样。


再看一个问题,做项目管理时,你会安排哪些例会?


现在很多的项目经理都会使用站会这种形式来完成每天的晨会。

在站会上,每个人会说明自己昨天任务执行的情况、今天计划完成的任务、遇到的问题和需要的协助等等。


这样好吗?

没有对比就没有伤害!


如果你的项目团队之前信息是不透明的,协同节奏比较困难,那每天的站会可以让项目团队高效地完成信息的同步,慢慢地,团队成员之间的协作也会变好。


如果你的项目团队已经应用了看板方法了呢?

因为任务执行的情况在看板上展现得比较直观了,每个人再去轮流说一遍显然不符合工程师的调性。


在这种情况下,大家有机会更好地关注更宏观更整体的情况,站会就可以对更有价值的事情了。

首先,大家可以看项目整体推进的情况,看看是否有瓶颈;其次,可以一起对齐,看看有没有更高优先级的事情发生;最后,观察一下有没有长时间没有被关注到的内容,是否需要调整优先级。


软件项目管理的目标都是追求效率更高,差异在哪?


传统开发过程,一般会把提高职能效率作为主要目标和改进点,比如提高开发的代码行产出效率,提高测试用例覆盖度和提高系统运行效率等等。

在开始时有一定的效果,但随着各个环节的持续优化,容易局部优化过度,最后反而会伤及整体的效率。因为软件项目不是简单的职能相加


上面提升测试覆盖度的例子,任何一个有质量意识的工程师都会觉得无比正确。

但一旦形成了职能竖井,质量团队只用覆盖度说话,项目进度赶不上合适的业务时间节点,这个覆盖度的追求有意义吗?


精益产品开发方法走的是另一个路径,以流动效率为核心改善组织的运营,最终实现流动效率和资源效率的均衡和可持续的改进。


怎么做?


首先,以流动效率改进为核心,在提高流动效率的同时,保障团队围绕用户价值展开协作,端到端的协调一致,系统改进。


接着,在整体协调的基础上,不断发现和解决价值流动过程中的问题,从而缩短前置时间,并带来交付速率的提升,同步提高流动效率和有效的资源效率。


最后,在承认和拥抱不确定性的基础上,缓解不确定性,并以合理的机制应对不确定性,提升团队的效率边界。

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