理想中的研发团队应当具有以下特征:
- 总是工作在最高优先级的事项上
理想的研发团队能够识别并始终集中精力在当前最紧迫和最有价值的任务上。这需要团 队具备出色的项目管理能力和决策能力,以便能够正确评估优先级,做出合理的工作分 配,并快速适应项目需求的变化。
- 各个角色既能专注于自身的专业工作,又能彼此高效协同
每个团队成员都应当是各自领域的专家,并且全身心投入到他们擅长和负责的工作当中。 然而,这并不意味着他们仅限于个体工作。一个理想的研发团队鼓励跨学科合作,通过敏捷的沟通机制和共享的工具,确保信息能够顺畅地在团队成员之间流通。团队中的设计师、工程师、产品经理和其他角色之间应当存在协同工作的文化,这样的多元化合作能够促进创新思维,并最终导致更高质量的产品开发。
- 团队和个体的技术和工程能力能持续改进
理想研发团队不仅在现有技术上精通,而且持续追求技术和专业技能的提升。这意味着 个人和团队都应该鼓励创新和实验,并且能做到快速试错、快速反馈。同时,团队应该 有制度鼓励个人在工作中尝试新方法和技术,这种文化不仅有助于团队的长期成长,也 有助于吸引和保留那些富有好奇心和热情于学习新事物的人才。
一个拥有如上特质的研发团队更有可能成功地完成复杂的项目,创造创新的产品,并在 竞争激烈的市场环境中获得成功。
团队工程交付的常见问题
要成为上面所述的优秀研发团队确实需要付出巨大的努力和持续的改进。在追求理想状 态的过程中,以下三个问题经常成为阻碍团队达到理想特质的障碍:
- 信息传递失真:团队内部成员来自不同的专业背景,使用的术语和概念也各不相同。 例如,开发说发布一个应用,运维说对一个服务做变更,但他俩说的其实是同一件事情。 在日常协作中,需要将这些信息从一个领域转换到另一个领域,并确保信息不丢失、不 扭曲。如果处理不当,就会导致团队成员对项目的理解出现偏差,从而影响决策和执行。 为了解决这个问题,可以通过建立统一的概念模型、使用共享的术语库、提供跨部门交 流培训和使用相同的工具平台等方式来减少信息传递过程中的失真。
- 流程没有连接:尽管每个研发阶段内部可能已经实现了自动化和高效的运作,但是 当一个项目或需求从一个阶段转移到另一个阶段时,往往缺乏流畅的衔接。举个例子, 有的企业开发人员和测试人员属于不同的职能团队,开发人员提交代码后,自动会触发 代码的构建、静态检查、单元测试等环节,但到了功能测试阶段,开发人员需要手动填 写提测单,在提测单里写上代码版本、单测结果、静态检查结果、部署方式等,由测试 人员线下确认后,再流转到功能测试阶段。这种阶段间的断层通常需要依赖于团队成员 之间的线下沟通和非正式协议,这容易造成流程上的混乱和效率低下。要打破这些障碍, 团队可以尝试引入端到端的研发管理工具和流程,确保流程的透明化和自动化,从而形 成一个无缝连接的、整体的研发流程。
《阿里云产品四月刊》—提升团队工程交付能力,从“看见”工程活动和研发模式开始(2)https://developer.aliyun.com/article/1554171