前言
本文将总结软件团队组建与管理的一些关键要素。 一切将以面试-文档-沟通-分享-评审-定位 六个主轴点归纳展开。
面试
面试是一个复杂的过程,但对于软件团队面试官-技术面试而言,主要考察候选人的一般有如下三个方面:
- 技术水平,编程技术水平
- 领域知识,业务了解程度
- 软性技能,沟通能力,抗压能力,性格等
文档
一个软件团队成熟与否的标志很大一部分可以从文档管理的程度看出,文档过多过少都会影响到项目进度与团队管理。文档过多,很影响软件开发的效率,文档过少,不易于项目的前期的设计,后期的维护,梳理等。 下文将从入职文档,测试资源文档,项目文档三个方面依次展开。
入职文档
- 要加入的公司邮件组,以及内部沟通的QQ群或微信群等
- 项目地址,svn或git 权限申请等
- Bug管理工具及其权限申请
- 测试环境和模拟环境地址
- 产品需求地址
- wifi设置、VPN申请、手机邮箱配置、打印机安装等待
- 常用开发软件下载
- 业务名词解释
- 自动打包或持续化集成地址
- 代码规范等
测试资源文档
列出测试机型号,操作系统等,并列出使用人,方便测试共享
项目文档
- 需求文档
- 需求分析/分解文档
- 工时评估文档
- 项目排期文档
- 业务模块拆分文档
- 业务逻辑(页面跳转)文档
- 前端接口文档
- 概要设计(框架设计)文档
- 第三方接口文档
- 版本管理策略文档
- 模块分工文档
- bug记录文档
- 项目进度文档
- 自测试模块
- 发布版本流程文档
沟通
沟通,是衡量一个人软件技能的重要指标。软件团队的沟通可以从团队内外部沟通两个方面展开。
团队内部
一对一沟通 沟通前团队提前十分钟想下:
- 最近一个月做了哪些事?有什么提高?
- 自身有什么提高?或什么需求?
- 沟通后总结
团队外部
- 与其他部门沟通
- 与客户甲方沟通
- 与第三方合作对接厂家沟通
技术分享
每周一次,可由teamleader和团队轮流, 分享前可搜集需求 分享后可整理成团队wiki文库 每次一小时左右,主要涉及:
- 涉及模式
- 算法
- 框架设计
- 协议
- 业务
- 性能优化
- 原理等等
代码评审
新员工,实习生,应届生指派对应的代码评审人,或者由核心员工轮流评审。 对发现的问题,进行总结,梳理,讲解。 代码规范等等。
定位
Leader的定位:
- 每次迭代把Task分配到具体开发人员。
- 组织线上Crash的修复。
- 处理线上突发bug。
- 解决团队中遇到的技术难点。
- 组织每周代码评审。
- 组织每周例会。
- 对接项目等。
Member的定位
- 及时高效处理手上的Task,Bug等。
- 遇到瓶颈难题时,要善于沟通交流,寻求解决问题的途径。
- 不断学习积累,在实践中不断提升自我的内功修养等。
后记
以上所述只是团队建设与管理这个大的体系中的凤毛麟角,实践过程中其实要考虑的要点更多,比如
- 团队的目标管理-项目进度管理-产品质量管理-技术迭代管理
- 任务分配的艺术-可执行性,可考核性,截止日期等。
- 版本管理的艺术-svn/git版本分支迭代等等。
- 团队考核-项目,任务的管理,执行,效率,目标导向等
- 团队建设-凝聚力,团建等等。
实践是检验真理的唯一标准。 软件团队建设与管理更需要我们在日常工作学习中不断的实践与积累。
参考
Recommended reading
管理篇
开发篇
工具篇
The Page is End,Thanks for u reading