聊一聊大型嵌入式软件开发的高效管理模式之一:人员的分层管理

  这里主要想跟他们讲一下大型的嵌入式软件开发的流程。本人之前对小型、中型、大型的软件工程开发都做过。作为软件部分的TL,随着代码规模的变大,我越来越发现,如果没有相应的开发管理手段的话,那软件开发的流程将会变得进退维谷。会面临前端随时变更需求、当前在走的开发有delay、代码质量不佳、软件工程师的任务目标不明确或不饱和等诸多问题。因此一些好的管理方法和工具,会对大型的软件开发,有着事半功倍的效果。部分经验来源于敏捷开发的思想,部分经验也是结合自己的工作经历和嵌入式软件开发的特点来展开。

 

  百度百科对于敏捷开发的定义:敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

 

  根据我的前任领导的经验分享,当要向你汇报的人员超过5个人时,你对他们的工作跟进的精度就会大幅下降。说白了其实就是人太多你管不过来了。因此,当一个软件工程开发的人员超过15人后,建议需要分层级管理:

  • 第一层级,TL作为软件工程的总负责人;
  • 第二层级,由3~5个资深的工程师来分别负责相应的技术模块,负责和TL讨论指派任务的技术细节、负责指导下一级的工程师完成任务、对负责模块的代码进行review等;
  • 第三层则是其余的软件工程师组成,负责动手完成各种实验和最终的codding。

  一个健康、稳定、高效的层级团队,是软件开发的管理起到至关重要的作用。软件工程无论是速度还是质量,很大程度都是取决于技术人员的能力和创造力。如果团队的协作关系高效,那后续的开发攻关则会畅通很多。因此,在项目的一开始阶段,就需要把团队人员的协作模式确立清楚。然而我个人认为,这个开头的环节,往往也是最困难的环节。中间层人员的指派是一件需要多方面权衡的事情。例如有些人年纪偏大但能力一般,这种可能无法胜任中间层的岗位但又会对其他人员作为他的上级对他指派任务十分不爽、又或者是可能多个项目组之间的人员调配,可能会突然空降一些人员来打破原本的人员安排等等。这个要根据大家的实际工作环境来做调整。总言之,一个良性的团队协作氛围,是一个十分难得的事情,而且一旦定下来对后续1到2年的开发过程有着深远的影响。所以需要TL及其上司仔细斟酌清楚,否则等着你的将是一堆焦头烂额而冗余低效的沟通成本。

posted @ 2022-02-20 16:34  冷剑白狐77  阅读(309)  评论(0编辑  收藏  举报