当前位置:昱宏生物> 管理智慧
栏目类别

“管理五字法”打造高绩效团队

【摘要】某大型国企信息化项目平台采用业内先进的微服务开发架构。根据“先试点,后推广”的实施策略,选取各方面相对成熟的模块进行微服务试点探索,取得了“从0到1”的开创性成果,为平台的最终实现提供了有力保障。

本文作者作为试点团队负责人,发挥自身人力资源管理优势,与微服务新技术、产品型项目管理有机结合,大胆创新,通过实践总结,形成了独具特点、具有推广价值的激发小微技术团队高绩效的管理方法-“小、快、通、产、学”管理五字法

随着互联网行业的迅猛发展,敏捷、精益、持续交付方法论的深入人心,虚拟化技术与DevOps文化的快速发展,传统的单块软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。

在这一背景下,微服务架构逐渐流行。它提倡将单块架构的应用划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境。

随着用户需求个性化、产品生命周期变短,微服务架构将是未来软件架构朝着灵活性、扩展性、伸缩性以及高可用性发展的必然方向。无论何种新技术,都必须借助人的一系列智力活动才能得以实现,而且团队协作共同达成目标已成为常态。

一般而言,绝大多数的问题归根结底是人的问题,因此在面对综合素质高且思想异常活跃的团队时,必须要高度重视人力资源管理。从尊重个体出发,在发挥个人主观能动性的前提下,激活每个单元细胞,进而激发团队活力,提高微服务团队整体绩效水平成为试点探索的核心所在。

1. “小”,保持合理的团队规模和结构,是高绩效微服务团队的基础条件

微服务团队的组织结构必须是跨功能的、强搭配的DevOps开发运维一体化团队,理论上团队人数在10人左右。

人数太少,不能独立地完成团队职能;人数太多,其运作速度又会有所下降。微服务架构是按照业务的功能进行划分,每个单一的业务功能成为一个服务,每个服务对应一个独立的团队,团队里包含业务需求人员、用户交互UI设计师、后台服务开发人员、测试、DBA、运营和运维人员。在业务服务的内部实现需要升级或者变更时,团队内的各角色成员进行沟通即可,而不需要进行跨团队沟通,这大大提高了沟通效率。

由于是试点探索,整个集团信息化平台(以下简称“平台”)项目组没有先期可借鉴的经验,在第三方咨询公司的建议下,试点微服务团队按照功能实现所涵盖的全部角色进行人员配置,包括业务咨询顾问、前端工程师(PC端、移动端)、开发工程师(PC端、移动端)、测试工程师、代码管理工程师等共计13人。

团队组建后,第一时间明确了试点的目标,明晰了各小组负责人、各方职责以及沟通机制,组建了目标明确、步调一致、各司其职、沟通高效的团队组织架构。实践证明,因为是小微团队,体量适中,而且大家各有所长、分工明确,打破了组间屏障,极大降低了日常沟通成本,行动更加灵活方便,作战能力大大提升。

2.“快”,采用敏捷开发模式和基层设施的自动化,是团队高效率的保障

敏捷开发以需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视化、可集成和可运行使用的特征。

云化及自动化部署等技术极大地降低了微服务构建、部署和运维的难度。团队要依据微服务不断进行流程变革,通过应用持续集成和持续交付,实现生命周期管理和基础设施自动化,可以大量缩短微服务交付时间,提升微服务交付效率。

试点启动前,为了保证在规定时间内达成试点目标,与平台项目组就试点范围进行了边界明确。

o首先仅选取某一成熟模块下的典型功能作为试点功能,并且明确业务方案以设计初期的功能方案为依据,后期不断迭代;

o同时采用敏捷迭代开发方式,随着新业务需求的梳理和输入进而实现功能的迭代;

o需要调用其他模块的内容,包括组织、人员、角色、通用组件、UI标准等先用挡板隔离,即用敏捷方式先实现本微服务的主体功能,提高“自消化”能力,同时梳理与其他微服务间的接口,但接口数据先采取模拟数据处理,后期待其他微服务实现后再打通接口间的调用关系;

o过程文档采用简化便捷的处理方式,并做好知识管理,做到边试点、边总结、边规范。

整体而言,本次试点的设计方案、功能开发、文档标准都采取了敏捷思维,保证了快捷高效的微服务开发节奏。

3.“通”,创建良好的沟通环境,保证和谐共赢的微服务团队氛围,提高团队凝聚力和战斗力

不论团队内外,传递信息效果最好、效率最高的方式是面对面的交流。微服务的实现,同样要求业务人员和开发人员通力合作,高频、高效沟通,避免出现信息递减以及期望偏差。因此把微服务的用户故事打印出来挂到白板上,让团队所有成员铭记于心,此举会大大强化团队对微服务的边界认识。

虽然随着团队的反思和学习,用户故事有可能会发生变更,但只要让团队形成共识一致的意见,让业务、开发和测试达成一致,清楚了解要做、能做、不能做的事情,沟通即为有效,因为实现了沟而通。

由于微服务团队包括各种角色的人员,用同一种“语言”说话,是任务达成的基础,因此高效沟通显得尤为关键。试点团队主要从三种途径畅通沟通渠道:

o从地域上,指定团队联合办公区域,布置白板、投影、视频工具等沟通辅助工具,要求所有成员集中办公,沟通交流无缝无地域对接;

o从信息上,反复强调试点的大目标和各小组的阶段目标;功能设计方案若有变更或增减将在第一时间进行变更通知,保证团队所有成员接收到的信息是对称透明的;

o从心理上,营造一种张弛有度、自我管理、自我学习的团队氛围,通过谈心、充分授权、信任尊重、团队建设等管理方式,让大家在和谐快乐的工作氛围下实现目标一致、无障碍沟通、共同进退。

4.“产”,小步快跑,快速持续产生交付物,用关键产出驱动开发,提高团队的交付能力

微服务开发迭代周期不能太长,要防止集体画大饼,重点关注每日和每周的工作目标,而且要倒逼团队产出进而推动整个项目目标的实现。

团队交付周期必须短且可评估,上线成为家常便饭,随时迭代,而不是过去短则数月、长则一年的大爆炸模式。形成有规律、有质量的团队交付节奏,并让软件系统时刻处于可发布状态是团队的共同责任。

因此,做好项目的过程管理十分重要。首先,组织团队各小组对工作计划进行详细讨论,达成共识,明确清晰的工作计划和工作产出物;其次,要求各小组长每天下班前对工作计划进行刷新细化,达到工作进度公开透明,掀起组间竞赛的目的。在功能开发进入白热化阶段,各小组甚至将每天工作完成情况用数据呈现在白板上,充分调动了大家的工作积极性,达到了非常好的效果。

由于强调有效产出,试点团队总结的文档资料为后期平台功能推广打下了坚实基础。最终形成的文档资料除功能实现的相关成果外,还有两类工作成果:一类为工作产出物,包括需求规格说明书、详细设计说明书、业务流程图、数据库设计、测试用例以及梳理的接口、调用矩阵、界面字段等;另一类为过程跟踪产出物,包括工作计划、工作日报、问题清单、会议纪要等。

5.“学”,持续改进,重视学习和反馈,打造高绩效的微服务团队

持续学习、改进微服务团队,微服务架构才能持续发展下去,保持最新鲜的生命力。因此增强学习本领,在试点团队内营造善于学习、勇于实践的浓厚氛围显得至关重要。

试点中,团队成员坚持开放创新共享的思想,学以致用、指导实践、推动工作,做到既把学到的知识运用于实践,又在实践中增长解决问题的新本领。通过自己学、组内学、团队学,促进团队成员共同学习、共同成长、共同进步,提高团队的综合作战能力,逐步成长为全功能团队。

作为试点团队,为后续微服务团队当好先遣团是首要任务。因此在每天下午的工作例会上,除了简要汇报工作进度外,各类主题分享成为重中之重,包括各小组遇到的困难、需要协调解决的问题、资源调配、经验总结、业务知识、开发知识等等。

这样不仅能在最短时间内暴露问题,而且快速提升了团队成员发现问题、解决问题、总结汇报、沟通表达、自主学习等能力,同时为试点总结会提供了大量宝贵的素材。

综上,微服务架构催生出的微服务团队既要有理论指导,更要有符合企业文化,符合项目自身特色的量体裁衣运作。

而一支高绩效微服务团队的打造,既要灵活运用“小、快、通、产、学”管理五字法,还需要其他配套机制的有力补充,例如团队负责人团队管理、组织协调的能力;团队成员快速响应、沟通学习的能力;企业的项目精细化管理水平;项目的总体管控能力等。

71