“管理五字法”打造高绩效团队
发布时间:2019-06-17 | 发布者: 东东工作室 | 浏览次数: 次
范珂
沃尔沃汽车亚太区人力资源总监、拓朗半导体亚太区人力资源总监,现为独立人力资源咨询顾问及讲师。(微信公众号:sailing-fan)
【摘要】某大型国企信息化项目平台采用业内先进的微服务开发架构。根据“先试点,后推广”的实施策略,选取各方面相对成熟的模块进行微服务试点探索,取得了“从0到1”的开创性成果,为平台的最终实现提供了有力保障。
本文作者作为试点团队负责人,发挥自身人力资源管理优势,与微服务新技术、产品型项目管理有机结合,大胆创新,通过实践总结,形成了独具特点、具有推广价值的激发小微技术团队高绩效的管理方法-“小、快、通、产、学”管理五字法。
随着互联网行业的迅猛发展,敏捷、精益、持续交付方法论的深入人心,虚拟化技术与DevOps文化的快速发展,传统的单块软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。
在这一背景下,微服务架构逐渐流行。它提倡将单块架构的应用划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境。
随着用户需求个性化、产品生命周期变短,微服务架构将是未来软件架构朝着灵活性、扩展性、伸缩性以及高可用性发展的必然方向。无论何种新技术,都必须借助人的一系列智力活动才能得以实现,而且团队协作共同达成目标已成为常态。
一般而言,绝大多数的问题归根结底是人的问题,因此在面对综合素质高且思想异常活跃的团队时,必须要高度重视人力资源管理。从尊重个体出发,在发挥个人主观能动性的前提下,激活每个单元细胞,进而激发团队活力,提高微服务团队整体绩效水平成为试点探索的核心所在。
1. “小”,保持合理的团队规模和结构,是高绩效微服务团队的基础条件
微服务团队的组织结构必须是跨功能的、强搭配的DevOps开发运维一体化团队,理论上团队人数在10人左右。
人数太少,不能独立地完成团队职能;人数太多,其运作速度又会有所下降。微服务架构是按照业务的功能进行划分,每个单一的业务功能成为一个服务,每个服务对应一个独立的团队,团队里包含业务需求人员、用户交互UI设计师、后台服务开发人员、测试、DBA、运营和运维人员。在业务服务的内部实现需要升级或者变更时,团队内的各角色成员进行沟通即可,而不需要进行跨团队沟通,这大大提高了沟通效率。
由于是试点探索,整个集团信息化平台(以下简称“平台”)项目组没有先期可借鉴的经验,在第三方咨询公司的建议下,试点微服务团队按照功能实现所涵盖的全部角色进行人员配置,包括业务咨询顾问、前端工程师(PC端、移动端)、开发工程师(PC端、移动端)、测试工程师、代码管理工程师等共计13人。
团队组建后,第一时间明确了试点的目标,明晰了各小组负责人、各方职责以及沟通机制,组建了目标明确、步调一致、各司其职、沟通高效的团队组织架构。实践证明,因为是小微团队,体量适中,而且大家各有所长、分工明确,打破了组间屏障,极大降低了日常沟通成本,行动更加灵活方便,作战能力大大提升。
2.“快”,采用敏捷开发模式和基层设施的自动化,是团队高效率的保障
敏捷开发以需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视化、可集成和可运行使用的特征。
云化及自动化部署等技术极大地降低了微服务构建、部署和运维的难度。团队要依据微服务不断进行流程变革,通过应用持续集成和持续交付,实现生命周期管理和基础设施自动化,可以大量缩短微服务交付时间,提升微服务交付效率。
试点启动前,为了保证在规定时间内达成试点目标,与平台项目组就试点范围进行了边界明确。
o首先仅选取某一成熟模块下的典型功能作为试点功能,并且明确业务方案以设计初期的功能方案为依据,后期不断迭代;
o同时采用敏捷迭代开发方式,随着新业务需求的梳理和输入进而实现功能的迭代;
o需要调用其他模块的内容,包括组织、人员、角色、通用组件、UI标准等先用挡板隔离,即用敏捷方式先实现本微服务的主体功能,提高“自消化”能力,同时梳理与其他微服务间的接口,但接口数据先采取模拟数据处理,后期待其他微服务实现后再打通接口间的调用关系;
o过程文档采用简化便捷的处理方式,并做好知识管理,做到边试点、边总结、边规范。
整体而言,本次试点的设计方案、功能开发、文档标准都采取了敏捷思维,保证了快捷高效的微服务开发节奏。
3.“通”,创建良好的沟通环境,保证和谐共赢的微服务团队氛围,提高团队凝聚力和战斗力
不论团队内外,传递信息效果最好、效率最高的方式是面对面的交流。微服务的实现,同样要求业务人员和开发人员通力合作,高频、高效沟通,避免出现信息递减以及期望偏差。因此把微服务的用户故事打印出来挂到白板上,让团队所有成员铭记于心,此举会大大强化团队对微服务的边界认识。
虽然随着团队的反思和学习,用户故事有可能会发生变更,但只要让团队形成共识一致的意见,让业务、开发和测试达成一致,清楚了解要做、能做、不能做的事情,沟通即为有效,因为实现了沟而通。
由于微服务团队包括各种角色的人员,用同一种“语言”说话,是任务达成的基础,因此高效沟通显得尤为关键。试点团队主要从三种途径畅通沟通渠道:
o从地域上,指定团队联合办公区域,布置白板、投影、视频工具等沟通辅助工具,要求所有成员集中办公,沟通交流无缝无地域对接;
o从信息上,反复强调试点的大目标和各小组的阶段目标;功能设计方案若有变更或增减将在第一时间进行变更通知,保证团队所有成员接收到的信息是对称透明的;
o从心理上,营造一种张弛有度、自我管理、自我学习的团队氛围,通过谈心、充分授权、信任尊重、团队建设等管理方式,让大家在和谐快乐的工作氛围下实现目标一致、无障碍沟通、共同进退。
4.“产”,小步快跑,快速持续产生交付物,用关键产出驱动开发,提高团队的交付能力
微服务开发迭代周期不能太长,要防止集体画大饼,重点关注每日和每周的工作目标,而且要倒逼团队产出进而推动整个项目目标的实现。
团队交付周期必须短且可评估,上线成为家常便饭,随时迭代,而不是过去短则数月、长则一年的大爆炸模式。形成有规律、有质量的团队交付节奏,并让软件系统时刻处于可发布状态是团队的共同责任。
转载请标注:我爱技术网——“管理五字法”打造高绩效团队