敏捷开发最佳实践:组织架构实践案例之构建软硬件融合部落

本节所选案例对于软硬件均有的企业具有重要借鉴意义,通过学习某一线制造行业合资企业如何解决软硬件部门之间的技术鸿沟和部门墙,以及全球分布的多支敏捷团队的协作难题,为所在企业在“组织架构”层面进行有效敏捷实践打开思路。

本实践节选自《2021中国企业敏捷实践白皮书》(点击可下载),分享者为伍舜喜,来自某一线制造行业合资企业

问题:

1.产品从一体机架构向平台模块化架构的转型中,以软、硬件为职能的部门间合作遇到了较大的技术鸿沟和部门墙;

2.全球软件团队内部的工程化效率低下,9个Scrum团队分布在5个国家 ,团队间的优先级、交付节奏,沟通等困难;

问题成因:

产品架构的转型,缺少非常强的系统架构师,来实现对产品的前瞻性、兼容性以及可扩展性的多维度设计。由于新技术的不断引入,且各个团队之间尚未建立良好地信任与合作,技术鸿沟和部门壁垒反而增加了协作难度;

软件部门人员多、扩展快。Scrum团队间缺少同步机制;团队间 Sprint周期不一致,公司新的平台产品发布是混合9模式 (hybrid mode),流程和术语不统一,未形成共识,

敏捷实践:

在转型过程中,积极探索新的组织模式:

1.软硬件融合组织:从软硬件独立管理模式转向以业务为导向的软硬件融合统一管理模式。形成从前端到后端,从Research、开发、生产、维保等整个一条链路的交付部落;

2.成立虚拟系统架构师小分队: 由系统架构师和模块架构师组成。利用他们的实践来打破原有的技术鸿沟和部门壁垒,明确各个模块之间的交付接口依赖。实现在Solution Architecture层面的各模块之间技术沟通同步;

3.建立Scrum of Scrums 层沟通机制: 其中包含 Scrum Master之间、Product Owner 之间沟通同步机制。敏捷团队包括3大类团队(7个模块开发团队、1个系统集成团队、1个自动化测试团队),模块开发和系统集成1个迭代3周.自动化测试团队置后1个迭代跟随;

4.在混合模式下(Hvbrid Mode)的迭代节奏统一:瀑布模式主要关注跟软件的关键依赖与交付节点,同时对硬件交件进行每个月的工作包拆分与交付,节奏上与软件相对应,设计不同的迭代周期,如硬件6周迭代,软件2周迭代。

实践结果:

1.产品路线图的向前及向后兼容完整,产品可扩展性良好;

2. 软件团队的工程化生产力翻倍,实现了每3个月的稳定版本发布节奏:

3.自动化测试覆盖率基本达到60%。实现了软件+硬件产品的质量快速反馈闭环。

总结

软硬件融合部落非常适合诠释敏捷原则第三条、第五条和第十一条:

  • “经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。” 

  • “提供所需的环境和支援,辅以信任,从而达成目标。” 

  • “最好的架构、需求和设计出自组织团队。”

产品部落化组织 是企业的第二套操作系统

小龙

Agilean 敏捷顾问

企业的转型离不开组织结构转型,而组织结构的转型是一个过程,最终将形成面向业务交付的组织。

在伍舜喜老师的这个案例中,通过组建虚拟架构师团队,组建 Scrum Master 层、Product Owner层沟通同步机制等,来打破技术鸿沟并最终取得成功。当然这个过程离不开高层领导支持,在新的组织模式下完成机制建立,文化建设等都是成功的要素。

同时,根据本人多年实践经验,推荐一种精心设计的矩阵组织:产品部落(详见下个案例)。部落的魅力在于基本不破坏职能线的情况下,建立以业务对齐的交付部落。把职能经理从协调人力资源解放出来,更好的关注整体技术方面的把控和人员培养,有时间走近业务提前做好能力储备和规划,给出行之有效的科技侧的方案,更好服务于业务,从此告别10口锅8个盖的低效协调工作。

产品部落承认职能线的重要性,在赋能、绩效管理上,甚至应该加强。部落本身是虚拟的,它的形态是遵循对齐业务的原则,业务变则科技变,虚拟性才更好的保障组织的灵活可调整。

如果把现有的组织结构定义为组织的第一套操作系统,产品部落化组织为企业的第二套操作系统。第二套操作系统依托于第一套操作系统的组织结构,在不动到第一套操作系统的根基上构建适合组织快速响应市场的第二套操作系统,即产品部落。

推荐阅读:

Scrum 开发指南: Scrum 框架详解  |  Scrum 四个会议及正确召开方式 |  正确的计划和执行Sprint的方式 |  做好迭代计划的4大关键点 |  做好这4点让每日站会更适配敏捷团队  |  开好迭代评审会的3个关键步骤  |  为什么要召开迭代回顾会  | Scrum 3大角色及其岗位的具体职责  |  Scrum三大工件在敏捷开发中的作用  |  2022年14个最佳 Scrum 敏捷项目管理软件  |  更多 

Kanban 敏捷指南: 使用看板(Kanban)管理方法的5大好处  |  看板 VS Scrum:如何选择? |  看板和 Scrum 的混合模式适合在哪些场景使用  |  更多 

规模化敏捷: 规模化敏捷的价值及五大规模化敏捷框架  |  规模化敏捷之 Spotify 模型  |  规模化敏捷框架之LeSS框架  |  SAFe 规模化敏捷框架  |  Scrum@Scale 模型  |  敏捷项目组合管理  |  OKR与敏捷开发  | 更多 

产品管理: 如何构建合格的产品路线图  |  如何成为一个优秀的产品经理  |  敏捷路线图的重要性以及构建  |  如何构建简单有效的产品需求文档  |  利用 NPS 确定功能优先级  |  每个产品经理都需要了解的产品分析技能  |  更多 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/767358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐一款制造执行系统(MES)国内比较好的实施厂家

什么是MES 制造执行系统(MES)是一种用于监控、控制和优化制造过程的软件系统。它通过与企业资源计划(ERP)系统和自动化系统的集成,实现对生产过程的管理和监测,包括生产计划、生产过程和生产数据。 MES可…

小白入门赛8

小白入门赛8 1 #include<bits/stdc.h> using namespace std;int main(){puts("5060");return 0; } 2 只考虑两个字符串a&#xff0c;b的情况下&#xff0c;优先让 a b ab ab 或 b a ba ba 中最小的放前面&#xff0c;据此排序 int n; string s[200010]…

BUG未解之谜01-指针引用之谜

在leetcode里面刷题出现的问题&#xff0c;当我在sortedArrayToBST里面给root赋予初始值NULL之后&#xff0c;问题得到解决&#xff01; 理论上root是未初始化的变量&#xff0c;然后我进入insert函数之后&#xff0c;root引用的内容也是未知值&#xff0c;因此无法给原来的二叉…

鸿蒙开发学习【地图位置服务组件】

简介 移动终端设备已经深入人们日常生活的方方面面&#xff0c;如查看所在城市的天气、新闻轶事、出行打车、旅行导航、运动记录。这些习以为常的活动&#xff0c;都离不开定位用户终端设备的位置。 当用户处于这些丰富的使用场景中时&#xff0c;系统的位置定位能力可以提供…

map 添加 访问 遍历

#include<iostream> #include<vector> #include<set> #include<map> using namespace std; int main() { //创建 map<string, int>m; //添加 m["hello"] 2; m["ijii"] 1; //访问 如果存在返回值,不…

[HackMyVM]靶场 Submissions

kali:192.168.56.104 靶机:192.168.56.131 端口扫描 # nmap 192.168.56.131 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-24 11:32 CST Nmap scan report for 192.168.56.131 Host is up (…

【Python】基础语法(一)

文章目录 1.注释2.关键字与标识符2.1关键字2.2标识符 3.变量4.数据类型4.1数字类型4.2类型转换函数4.3布尔类型 5.输入(input)与输出(print)5.1输入函数(input)5.2输出函数(print) 6.运算符6.1算术运算符6.2比较运算符6.3赋值运算符6.4逻辑运算符6.5运算符优先级 7.字符串7.1字…

JMH微基准测试框架学习笔记

一、简介 JMH&#xff08;Java Microbenchmark Harness&#xff09;是一个用于编写、构建和运行Java微基准测试的框架。它提供了丰富的注解和工具&#xff0c;用于精确控制测试的执行和结果测量&#xff0c;从而帮助我们深入了解代码的性能特性。 二、案例实战 在你的pom文件…

MySQL 排序的那些事儿

书接上回 上次发了几张图&#xff0c;给了几个MySQL Explain的场景&#xff0c;链接在这儿&#xff1a;你是不是MySQL老司机&#xff1f;来看看这些explain结果你能解释吗&#xff1f;MySQL 夺命6连问 我们依次来分析下这6个问题。 在分析之前&#xff0c;我们先来了解一下M…

【C++】学习记录--condition_variable 的使用

condition_variable使用步骤如下&#xff1a;创建一个condition_variable对象创建一个互斥锁mutex对象&#xff0c;用来保护共享资源的访问在需要等待条件变量的地方&#xff0c;使用unique_lock<mutec>对象锁定互斥锁并调用condition_variable::wait()、condition_varia…

大模型: 提示词工程(prompt engineering)

文章目录 一、什么是提示词工程二、提示词应用1、提示技巧一&#xff1a;表达清晰2、提示词技巧2&#xff1a;设置角色 一、什么是提示词工程 提示词工程主要是用于优化与大模型交互的提示或查询操作&#xff0c;其目的在于能够更加准确的获取提问者想要获取的答案&#xff0c…

16. 最接近的三数之和

16. 最接近的三数之和 中等 相关标签 相关企业 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1&#xff1a; 输入&#xff…

操作系统面经-用户态和内核态

字节实习生带你面试&#xff0c;后台私信可以获得面试必过大法&#xff01;&#xff01; 根据进程访问资源的特点&#xff0c;我们可以把进程在系统上的运行分为两个级别&#xff1a; 用户态(User Mode) : 用户态运行的进程可以直接读取用户程序的数据&#xff0c;拥有较低的…

实验7-2-8 找鞍点(PTA)

题目&#xff1a; 一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。 本题要求编写程序&#xff0c;求一个给定的n阶方阵的鞍点。 输入格式&#xff1a; 输入第一行给出一个正整数n&#xff08;1≤n≤6&#xff09;。随后n行&#xff0c;每行给出n个…

【蓝牙协议栈】【BLE】低功耗蓝牙配对绑定过程分析(超详细)

1. 精讲蓝牙协议栈&#xff08;Bluetooth Stack&#xff09;&#xff1a;SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅&#xff0c;【蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待&#xff01…

Three.js 中的 OrbitControls 是一个用于控制相机围绕目标旋转以及缩放、平移等操作的控制器。

demo案例 Three.js 中的 OrbitControls 是一个用于控制相机围绕目标旋转以及缩放、平移等操作的控制器。下面是它的详细讲解&#xff1a; 构造函数: OrbitControls(object: Camera, domElement?: HTMLElement)object&#xff1a;THREE.Camera 实例&#xff0c;控制器将围绕…

4.5 RK3399项目开发实录-案例开发之外部存储设备 rootfs 挂载(wulianjishu666)

嵌入式单片机项目开发资料&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1pJq-exGYrKZJIBaNvcmVsA?pwd3zr4 3.6. 外部存储设备 rootfs 挂载 根文件系统除了可以使用在内部的 eMMC 中的&#xff0c;还可以使用外部存储设备的根文件系统&#xff0c;如 SD 卡&#xf…

JAVA 100道题(14)

14.使用LinkedList实现一个简单的堆栈&#xff08;Stack&#xff09;数据结构。 下面是一个简单的Java程序&#xff0c;使用LinkedList来实现一个堆栈&#xff08;Stack&#xff09;数据结构。在这个程序中&#xff0c;我们定义了一个MyStack类&#xff0c;它包含了一些基本的堆…

从零开始学习在VUE3中使用canvas(五):globalCompositeOperation(图形混合)

一、简介 通过设置混合模式来改变图像重叠区域的显示方式。 const ctx canvas.getContext("2d");ctx.globalCompositeOperation "source-over"; 二、属性介绍 source-over 这是默认的复合操作。将源图像绘制到目标图像上&#xff0c;保留目标图像的不透…

1011: 【C1】【循环】【for】财务管理

题目描述 Larry今年毕业并找到了一份工作。他赚很多钱&#xff0c;但似乎总是不够。Larry认为他需要控制他的投资以解决自己的财务问题。Larry拿到了自己的银行账户详单&#xff0c;想看看自己有多少钱。请帮助Larry写一个程序&#xff0c;通过过去12个月中每月的月末结余&…