软件研发管理经验总结 - 技术管理
软件研发管理经验总结 - 技术管理
- 技术管理主要负责有技术团队建设、管理团队成员技术相关事务、帮助团队成员成长、负责团队成员交付的代码质量、以及负责产品技术方向、以及产品相关前沿技术调研;
- 管理团队成员技术相关事务有代码Review、故障率跟踪、分析及根据分析结论指导开发人员改进技术能力、常规问题解答、疑难问题攻关…
总之技术管理者的工作重点就是以技术为中心展开
相关系列文章
软件产品研发管理经验总结-管理细分
软件研发管理经验总结 - 事务管理
软件研发管理经验总结 - 技术管理

目录
- 软件研发管理经验总结 - 技术管理
- 一、建立完整的产品开发过程
- 1、需求分析
- 2、概要设计
- 3、详细设计
- 4、编码制造
- 5、测试
- 二、建立完整的质量管理体系
- 1、基于产品开发过程建立质量管理
- 1)、需求分析质量管理
- 2)、概要设计质量管理
- 3)、详细设计质量管理
- 4)、编码制造质量管理
- 5)、测试质量管理
- 三、产品相关技术
- 四、团队成员技术能力管理
- 1、建立团队能力进升机制
- 2、尽可能的量化指标
- 五、行业技术前沿
一、建立完整的产品开发过程
以下过程并非CMM系统标准过程,而是根据我们公司自身产品研发出发,目的是在有限的条件下,提升产品质量,使产品研发周期可控、产品质量可控、产品可维护,不断的提升团队整体技术能力,软件研发规范性…
1、需求分析
此过程由需求分析人员负责将用户的需求进行收集、理解、分析后,形成需求分析文档,然后再与用户确认,需求是否正确、缺失、多余的部分。
如果用户确认后会根据需求分析的成果对功能点进行拆分,颗粒度一般到页面的级别或功能级别,具体以技术人员能理解、控制得了的最小颗粒度为参照即可;
2、概要设计
经过需求分析过程后,将一个复杂系统按功能进行模块拆分; 概要设计的主要任务是把需求分析得到的DFD1 (数据流图) 转换为软件结构和数据结构,进行功能和体系结构分析设计。
3、详细设计
详细设计主要是对模块的各子功能设计程序的输入参数、程序的处理流程、输出值,包括采用的算法、计算方法、计算步骤;在模块中需要定义的接口…。
4、编码制造
根据设计文档、代码编写规范…要求编写代码、单体测试…
编码规范如果团队没有统一的规范可以参照谷歌、阿里、腾讯发布的相应规范进行一定的调整即可。
5、测试
※ 说明:
- 如果产品开发过程采用了CMM系列标准过程的可以跳过此节。
- 如果产品开发过程未采用CMM系列标准过程的,开发过程需从各自企业、团队、产品自身出发来确定自己所需要的过程,不用每个过程都要做。
二、建立完整的质量管理体系
1、基于产品开发过程建立质量管理
1)、需求分析质量管理
此过程主要的质量管理方法是人工【评审】,针对需求分析的成果物进行评审,或全程参与到与用户沟通与确认过程中,确保需求的准确性、完整性。
2)、概要设计质量管理
此过程主要的质量管理方法是人工【评审】,主要评审的内容是设计文档,评审内容
| 序号 | 评审内容 | 说明 |
|---|---|---|
| 1 | 文档变更记录 | 变更记录中要体现现变更者、变更日期、变更的章节、变更内容 |
| 2 | 规范性 | 概要设计是否与符合规范(此处的规范是公司内部制订的概要设计规范) |
| 3 | 设计内容 | 概要设计是否与需求分析中的功能一致、是否准确 |
3)、详细设计质量管理
此过程主要的质量管理方法是人工【评审】,主要评审的内容是设计文档,评审内容
| 序号 | 评审内容 | 说明 |
|---|---|---|
| 1 | 文档变更记录 | 变更记录中要体现现变更者、变更日期、变更的章节、变更内容 |
| 2 | 规范性 | 详细设计是否与符合规范(此处的规范是公司内部制订的详细设计规范) |
| 3 | 设计内容 | 详细设计是否与概要设计中的一致、是否准确 |
4)、编码制造质量管理
此过程主要的质量管理方法是,当开发人员编码完成后,首先需要自测,可以采用【单元测试】、【覆盖率测试】,并验证业务功能; 自测完成后就可以向上级负责人提交【评审申请单】,批准通过后会根据模块的复杂程序安排小范围的评审、正式的多人参与的评审会议,在评审过程中开发人员记录被评审出的问题,评审过程完成后,需要将评审出的问题、原因及修改方案以正式的评审记录文档提交,并在审核通过后归档;
从管理的角度还需要记录开发代码量、评审时长、故障率等数据来做分析,将分析结果反馈给开发人员,并引导开发人员提升改善自身的不足。
下图故障跟踪记录表仅供参考:

5)、测试质量管理
此过程主要的质量管理方法是人工【评审】,评审测试用例。
三、产品相关技术
定期组织团队成员分享产品使用的技术、框架、原理…,遇到的技术问题以及分析解决过程,经过长期反复的磨炼后,团队成员的思想、能力逐渐一致了,团队凝聚力、能力会越来越强。
四、团队成员技术能力管理
1、建立团队能力进升机制
按技术力能划分出几个级别,每个级别需要具备的技术能力,腾讯、阿里也采用类似的方式将技术人员划分为P1到Pn级别,这样技术人员有明确的发展方向和规划。
2、尽可能的量化指标
将团队用到的所有技术、能力、态度、极积性等很多无法准确的判断的信息通过尽可能的去量化,将感性判断的范围尽可能的缩小。
- 例如,我们在面试Java技术人员时,可能很多时候面试完只能给人力资源一个行或不行的结论,人力资源也比较懵,不知道如何调整找人的方向。面试者心里有个感性的判断,无法明确的表达;
- 这时我们可以按照技术要求,将需要面试的技术项进行细化,并给其一个百分占比,所以有项加起来100分,下图为参考图

- 这样做的话,面试者每面试完一个技术小项后可以给这个小项一个印象分,每个小项满分100分,但是每个小项的得分=印象分*(百分占比),例如上图中【集合】这个技术小项占比为%5,当面试完“张三”后,面试者对于“张三”【集合】这个技术小项给出的印象分为30分,则“张三”在【集合】这个技术小项的得分=30*%5 = 1.5,这样就可以将感性影响的范围限制在较小范围内 。
五、行业技术前沿
- 定期分享行业前沿技术资源,与团队成员进行讨论相关的技术内容;
- 鼓励团队成员极积和探索前沿技术、最新的技术,不断开横向扩展技术面,纵向的加深技术能力;
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 ↩︎
相关文章:
软件研发管理经验总结 - 技术管理
软件研发管理经验总结 - 技术管理 技术管理主要负责有技术团队建设、管理团队成员技术相关事务、帮助团队成员成长、负责团队成员交付的代码质量、以及负责产品技术方向、以及产品相关前沿技术调研;管理团队成员技术相关事务有代码Review、故障率跟踪、分析及根据分…...
项目实战典型案例19——临时解决方案和最终解决方案
临时解决方案和最终解决方案一:背景介绍二:思路&方案四:总结五:升华一:背景介绍 本篇博客是对项目开发中出现的临时解决方案和最终解决方案进行的总结和改进。目的是将经历转变为自己的经验。通过博客的方式分享给…...
机器学习模型的可解释性算法汇总!
模型可解释性汇总简 介目前很多机器学习模型可以做出非常好的预测,但是它们并不能很好地解释他们是如何进行预测的,很多数据科学家都很难知晓为什么该算法会得到这样的预测结果。这是非常致命的,因为如果我们无法知道某个算法是如何进行预测&…...
什么是着色器/Threejs如何使用着色器/Threejs使用着色器实现平面网格的动态效果案例
1,什么是着色器着色器(Shader)是计算机图形学中的一个重要概念,它是在 GPU 上运行的程序,用于计算三维场景中每个像素的颜色和其他属性。着色器通常分为两种类型:顶点着色器和片元着色器。顶点着色器主要用…...
191、【动态规划】AcWing ——AcWing 900. 整数划分:完全背包解法+加减1解法(C++版本)
题目描述 参考文章:900. 整数划分 解题思路 因为本题中规定了数字从大到小,其实也就是不论是1 2 1 4,还是2 1 1 4,都会被看作是2 1 1 4这一种情况,因此本题是在遍历中不考虑结果顺序。 背包问题中只需考虑…...
Java 比较器
public interface Comparable Comparable 接口位于 java.lang 包下,对实现它的每个类的对象强加一个总排序,这种排序被称为类的自然顺序,compareTo 方法被称为其自然比较方法。 实现此接口的对象的列表(和数组)可以由…...
配置本地 python GEE、geemap环境
1.安装anconda 百度搜索anconda清华镜像,从清华镜像中选择最新的anconda安装包,国内镜像网站下载速度较快,如果从国外官网下载速度相当慢,详细安装教程请参考: anconda安装教程https://blog.csdn.net/lwbCUMT/article…...
cmd命令教程
小提示: 在本文中,我将向您展示可以在 Windows 命令行上使用的 40 个命令 温馨提示:在本教程中学习使用适用于 Windows 10 和 CMD 网络命令的最常见基本 CMD 命令及其语法和示例 文章目录为什么命令提示符有用一、cmd是什么?如何在…...
深圳大学计软《面向对象的程序设计》实验15 函数模板和类模板
A. 有界数组模板类(类模板) 题目描述 编写有界数组模板BoundArray(即检查对数组元素下标引用并在下标越界时终止程序的执行),能够存储各种类型的数据。要求实现对数组进行排序的方法sort,及对数组进行查找…...
组播详解及示例代码
写在前面 由于公司业务需要用到组播实现,这里就记录下学习过程。在学习组播之前,我们先来看看另外两种数据包传输方式:单播和广播。 单播:简单来说就是数据一对一发送,如果需要给多个主机发送数据时,就需…...
C语言-qsort函数示例解析
一.qsort函数是什么stdlib.h头文件下的函数qsort()函数:是八大排序算法中的快速排序,能够排序任意数据类型的数组其中包括整形,浮点型,字符串甚至还有自定义的结构体类型。qsort函数实现对不同元素的排序主要就是通过对compar函数…...
一些Linux内核内存性能调优笔记!
前言 在工作生活中,我们时常会遇到一些性能问题:比如手机用久了,在滑动窗口或点击 APP 时会出现页面反应慢、卡顿等情况;比如运行在某台服务器上进程的某些性能指标(影响用户体验的 PCT99 指标等)不达预期…...
【JVM】逃逸分析
开发者都知道,基本上所有对象都是在堆上创建。但是,这里还是没有把话说绝对哈,指的是基本上所有。昨天一位朋友在聊天中,就说了所有对象都在堆中创建,然后被朋友一阵的嘲笑。 开始我们的正文,我们今天来聊聊…...
C51---震动传感器控制LED灯亮灭
1.example #include "reg52.h" sbit led1 P3^7;//原理图中led1指向P3组IO口的P3.7口 sbit vibrate P3^3;//Do接到了P3.3口 void Delay3000ms() //11.0592MHz { unsigned char i, j, k; //_nop_(); i 22; j 3; k 227; do { …...
使用 JaCoCo 生成测试覆盖率报告
0、为什么要生成测试覆盖率报告 在我们实际的工作中,当完成程序的开发后,需要提交给测试人员进行测试,经过测试人员测试后,代码才能上线到生产环境。 有个问题是:怎么能证明程序得到了充分的测试,程序中所…...
windows下neo4j安装及配置,并绘制人物关系图谱
neo4j安装及配置,绘制人物关系图谱 先升级pip,安装py2neo pip install py2neo2021.0.1依赖 jdk1.8, neo4j 3.xx; 或者jdk18,neo4j 4.x,5.x; 官网下载了neo4j4.x,5.x 因为jdk版本原因都不行&am…...
【Spring6】IoC容器之基于XML管理Bean
3、容器:IoC IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。 Spring 通过 IoC 容…...
Warshall算法求传递闭包及Python编程的实现
弗洛伊德算法-Floyd(Floyd-Warshall)-求多源最短路径,求传递闭包 Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法, 与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大…...
AcWing第 93 场周赛
4867. 整除数 给定两个整数 n,k,请你找到大于 n 且能被 k 整除的最小整数 x。 输入格式 共一行,包含两个整数 n,k。 输出格式 输出大于 n 且能被 k 整除的最小整数 x。 数据范围 前 4 个测试点满足 1≤n,k≤100。 所有测试点满足 1≤n,k≤109。 …...
计及需求响应的粒子群算法求解风能、光伏、柴油机、储能容量优化配置(Matlab代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
FTXUI::Dom 模块
DOM 模块定义了分层的 FTXUI::Element 树,可用于构建复杂的终端界面,支持响应终端尺寸变化。 namespace ftxui {...// 定义文档 定义布局盒子 Element document vbox({// 设置文本 设置加粗 设置文本颜色text("The window") | bold | color(…...
java+webstock
maven依赖 <dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.3.5</version></dependency><dependency><groupId>org.apache.tomcat.websocket</groupId&…...
