软件研发管理经验总结 - 技术管理
软件研发管理经验总结 - 技术管理
- 技术管理主要负责有技术团队建设、管理团队成员技术相关事务、帮助团队成员成长、负责团队成员交付的代码质量、以及负责产品技术方向、以及产品相关前沿技术调研;
- 管理团队成员技术相关事务有代码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代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
