Synergy,一个软件团队质量改进之路之一 --- 规划
关于质量改进
ISO9001:2000的核心思想是持续改进
ISO关于质量管理有8项原则:
原则一: 以顾客为关注焦点
原则二: 领导作用
原则三: 全员参与
原则四: 过程方法
原则五:管理的系统方法
原则六:持续改进
原则七:基于事实的决策方法
原则八: 与供方互利的关系
为什么需要质量改进?
为什么要进行质量改进,总体来说来是现状不尽如人意。系统暴露的简单、重复性问题越来越多,系统开发和维护的成本越来越高,团队的精神面貌越来越消沉,积极性也不高。总体起来, 是来自与与以下两个方面的需求。
1. 来自项目的需求
软件系统的开发, 即使在架构和设计阶段有很好的规划, 在实际执行和开发的过程中, 因为不同开发人员的水平差异以及对标准的理解不同。如果标准定义的不明确更容易导致代码风格的千差万异。
特别是项目比较大,模块化开发时,各个模块又不同的子团队进行负责时, 很容易导致,相同功能的重复开发。浪费人力不说, 系统也变得更繁重。很多的冗余和重复。
2. 来自团队的需求
团队的发展是经历组合、磨合、成熟、衰弱、解散这样一个过程。
对于以组织结构为主组织的组织结构来说, 虽然组织内部开发项目时是以项目为主导。但是固化的人员安排基本上是 SA, SD, AP, QA 这样一些角色。
合作的时间长了, 大家的熟悉度增加了。但是对于合作上的一些不顺之处, 要不就彼此包容的接受了, 要不就是碍于情面,无法启齿。
另外, 就是伴随着团队合作时间的增加, 团队成员也都各自老去。有的社会保险都已接近买满的年限。成员的热情逐渐淡去;此外, 对于工作上的激励也从之前的快速、圆满的完成本职工作上逐渐转变。或更关注本身之外的团队的部分,或对整个团队的其他部分有更高的要求,或希望更多的来自终端用户的肯定。
关于Synergy
Synergy - 协同,配合,协力优势或协和作用。
Synergy只是一个英文单词, 这里是想借有这个词,尽量的表达持续改善的一个重要观点: 通过畅通组织与项目团队的各个角色与阶段的合作, 提升整体的质量。借由这个词是想营造一个改进的文化, 更容易被大家所接受。 另外, 这个词也可以体现全国程改进的思想。
Synergy-质量改进的框架
从整体的思想来说, 是想做全方位, 全过程, 上下贯通、左右贯彻的质量分析与改进。
1.上下垂直面-从人员角色划分
划分成 PM Team, Delivery Team,QA/Admin Team
PM Team: 项目的各项目管理人员, 负责项目的时程、资源安排和需求收集和系统分析的工作。
Delivery Team: 团队的产出团队, 主要是系统设计和系统开发人员, 这一部分应该是改进的重点和重心。
QA/Admin Team:团队的测试和答疑用和的人员。这部分的工作虽然工作内容比较简单,但是却很重要。
QA 决定系统的质量, Admin 直接面对终端用户, 直接体现系统价值。
2.左右水平面-各角色工作平台和任务
针对以上不同的角色。
PM 按平台再进行划分。
Delivery按技术领域进行划分
整体思想, 汇总如下图:
基于以上, 改进从以下三个维度进行
1. 跨Project/Platform 的管理团队的协作
2. 跨Project/Platform 的产出团队的协作
3. 软件工程面的 协作。也就是垂直方向的贯通。畅通上下角色的协力。
Synergy of Cross-Project/Platform Management 框架
时间、质量、成本是项目管理的三要素, 所以
管理上的协同,或者说改进,基本三也就是从这三个要素切入。
结合团队和项目的具体状况和遇到的问题,展出了一下四个方面的内容:
1. Resource Control.
资源的控制, 包括时间和人力成本的控制。
2. Solution Design
方案设计。共用化, 精益化设计方案,可以提升系统的质量并节省成本。
3. Branch Plan
分支规划。 主要是内部如何协同和开发的角度来进行, 提升质量,节省时间。
4. Deployment/SQC Plan
安排合适的部署计划和进行全面的测试计划, 确保上线后的系统质量, 提升用户满意度。
规划如下图:
Synergy of Cross-Project/Platform Delivery 框架
产出团队的改进, 是重点,也是重心。基本的框架如下:
西部的产出部分后续会有相关文章
Synergy throughout SE 框架
Synergy,一个软件团队质量改进之路之一 --- 规划的更多相关文章
- 让工程师爱上CMMI,实现管理于无形 --- 中标软件CMMI L5之路 (1/2)
操作系统市场被微软等国外的IT厂商垄断的大环境下,中标软件作为市场夹缝中发展起来的民族企业,致力于成为中国操作系统旗舰企业.系列核心产品已经在政府.金融.教育.财税.公安.审计.交通.医疗.制造等行业 ...
- synergy一个鼠标键盘控制多台电脑
有些时候我们同时操作多台电脑,但是我们只用一个鼠标和一个键盘,如果通过转换器啊或者是多个鼠标键盘就非常不方便了 下面我介绍一下通过安装synergy这个软件来给开发人员提供方便 这个软件安装比较简单, ...
- (转)我在北京工作这几年 – 一个软件工程师的反省
我于2007年来到北京,在北京工作这些年,先后在NEC.风行.百度几家公司担任软件工程师的职务.NEC是一家具有百年历史的传统日企,在知春路的分公司叫日电电子,我们部门主要从事机顶盒.数字电视上嵌入式 ...
- 解决由于一个软件限制策略的阻止,windows无法运行此程序cmd.reg
解决由于一个软件限制策略的阻止,windows无法运行此程序cmd.reg Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFT ...
- ubuntu完全卸载一个软件
今天卸载一个软件,老是有配置残留,网上找到了解决方案: 查看已安装的软件: dpkg -l |grep 软件名 找到一大堆相关的包,然后卸载核心的包: sudo apt-get remove --pu ...
- 打包mysql、tomcat、jdk为一个软件
打包mysql.tomcat.jdk为一个软件 博客分类: 成长中的点滴 . 我们在本地开发web应用的时候,直接在IDE里面就可以完成jdk.容器.数据库的配置和集成. 但是如果当我们把应用程序交 ...
- Flux是一个Facebook团队的前端开发架构
Flux是一个Facebook团队的前端开发架构 Flux introduction 本文组成: React 官方文档翻译 相关实践心得. 内容上是Flux的介绍,例子将会在以后写出.一旦稍微多了解一 ...
- 高速下载百度网盘的方法,只需要一个软件【win/mac/linux】
论坛里差不多全部都是用百度云的,但是官方百度云的限速,大家都懂的,下面教大家使用一个软件满速下载,不用油猴 1,软件支持mac,win64/32,linux.Linux只有自己编译使用,我也不会哈哈哈 ...
- iOS查看一个软件ipa包的全部内容
iOS查看一个软件ipa包的全部内容 一,打开itunes----->我的iPhone应用程序. 二,右键点击app---->在Finder中显示---->出现下图所示界面. 三,将 ...
随机推荐
- 洛谷P1273 有线电视网 【树上分组背包】
题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. 从转播站到转播站以及从 ...
- omnet++4.0安装使用
http://my.oschina.net/u/2269841/blog/423659 本文主要借鉴该文章在此对作者表示由衷的感谢http://blog.csdn.net/xiaobei4929/ar ...
- 编写优质嵌入式C程序(转)
前言:这是一年前我为公司内部写的一个文档,旨在向年轻的嵌入式软件工程师们介绍如何在裸机环境下编写优质嵌入式C程序.感觉是有一定的参考价值,所以拿出来分享,抛砖引玉. 转载请注明出处:http://bl ...
- Google Cast和ChromeCast
Google Cast类似于DLNA,AirPlayer,Miracast,就是一种投屏技术.我们ATV产品是对Google Cast和ChromeCast都是支持的. Google Cast 大致工 ...
- angular 有关侦测组件变化的 ChangeDetectorRef 对象
我们知道,如果我们绑定了组件数据到视图,例如使用 <p>{{content}}</p>,如果我们在组件中改变了content的值,那么视图也会更新为对应的值. angular ...
- discuz开发,登录次数过多,锁定解决方法
到数据库里的表找到pre_common_failedlogin 和pre_ucenter_failedlogins清空里面的内容即可. truncate table pre_common_failed ...
- 题解 P4092 【[HEOI2016/TJOI2016]树】
参考了皎月半洒花的博客 看到树想到树剖,由于要取距自己到根离自己最近的标记点,刚开始想到线段树里存节点深度,查询时返回最大值.但是这样的话只能得到节点深度,无法得知节点编号,就想倍增乱搞一下,求出标记 ...
- python---Scrapy模块的使用(二)
出处:http://www.cnblogs.com/wupeiqi/ 一:去除重复URL scrapy默认使用 scrapy.dupefilter.RFPDupeFilter 进行去重,相关配置有: ...
- CCD与CMOS的区别
我们在购买相机或是摄像机时,都会看到使用CMOS镜头或是CCD镜头,那么CCD与CMOS是什么意思呢,CCD与CMOS的区别是什么?首先,让我们了解CCD与CMOS的意思. CCDCCD使用一种高感光 ...
- forEach、for+i、map的用法及区别
array.forEach(callback[, thisObject]); 下面是参数的详细信息: 1. callback : 函数测试数组的每个元素. 2.thisObject : 对象作为该 ...