企业背景
人力家成立于18年年底,是由阿里钉钉和人力窝共同投资成立的互联网人力资源服务平台,主要提供包括人事管理、薪酬管理、社保管理、增值服务在内的人力资源SaaS服务,加速对人力资源领域赋能,实现人力资源新工作方式。
人力家公司规模约60人左右,主要负责人力资源SaaS系统开发,开发语言以JavaScript、Java为主。公司主要产品包括智能薪酬、智能工资条、智能社保、智能背调等等,目前已服务电子商务、零售服务等领域的多家客户。
曾经面临的效率问题与痛点
人力家是一家典型的创业公司,处在一个竞争激烈的市场环境中,对团队最大的要求是快、快、快,既要快速满足客户需求,又要快速响应市场变化。目前产研团队30人左右,4、5条项目线同时进行是常态,团队采用业务线+职能线的矩阵式结构,具有很强的业务结果导向。在业务线越来越多,客户量越来越大的情况下,产研团队遇到了以下挑战:
1)需求紧急且变化快,沟通成本上升
公司在快速成长,客户需求复杂多样、变化频繁。在市场压力下,团队很容易迷失在大量的紧急需求中,失去目标和方向感;同时沟通成本和协作成本快速上升,常常由于沟通不到位而产生重复性的工作。
2)团队交付能力呈现下降趋势
随着项目线增多,业务场景越来越复杂,研发同学常常因为环境问题、协作规范问题、和其他人为因素导致资源浪费,将宝贵的时间花费在一些原本可以标准化,自动化完成的工作中,团队整体交付能力呈现出下降趋势。
3)协作过程不透明,好的经验难复制
项目协作过程中缺少可视化的数据支撑,业务线各自发展,交付质量参差不齐。到最终总结时好的项目到底优秀在哪里?差的项目到底哪里出了问题?好的经验难以复制,坏的问题也无法二次避免。
人力家提效成果
在需求管理方面,引入云效之前,产研团队通过定期的需求排期会沟通迭代目标和规划,通过早会沟通每日任务。所有会议要求大家时间同步,难免会有部分同学因为请假、时间冲突等原因不能准时参会,导致信息不能准确清晰地传递。引入云效之后,所有的迭代、需求、任务、缺陷,包括已排期的、未排期的都在一个工具中呈现;缺陷解决、代码评审、流水线发布状态一目了然。所有项目组成员只要登录系统就可以对自己手上任务,或者下一期迭代规划看的清清楚楚,减少了线下沟通成本。
在质量管理方面,引入云效之前,所有的代码规约扫描、安全扫描、测试脚本执行、代码评审都靠团队成员的自觉意识,很容易出现疏忽和遗漏。引入云效之后,我们把这些都集成在代码服务和流水线中,并通过插件,把执行结果实时同步到钉钉群,减少由于人的因素产生的低级问题。
在数据统计方面,产研团队需要定期统计每个迭代的关键过程数据,以便持续改进。引入云效之前,数据由PM手工收集整理,这些数据包括:每个需求的记分卡、完成情况、工时,代码评审问题记录,线下缺陷,线上故障,安全问题等。这些记录散落在各个地方,有的在审批单里,有的在Excel表里,收集起来费时费力。引入云效后,所有记录都统一记录在云效中,每个成员只要随时更新与自己相关的记录即可,数据统计省时省力,项目过程数据随时可查。
以下是对各改进项目的对比和效能提升结果:
用云效统一每个敏捷团队的协作工具,让所有成员都能快速找到自己的关键任务,并清晰地了解任务的优先级、交付时间,减少沟通成本,支持异步协作。
1)迭代和需求管理
迭代规划、进行、完成、逾期一张图可见,团队成员可以随时了解项目进度和面临的风险:
https://tcs-devops.aliyuncs.com/storage/111wf12cba052bba514d96088f4fbfdc0880?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdmMTJjYmEwNTJiYmE1MTRkOTYwODhmNGZiZmRjMDg4MCJ9.SERZRXItKa8VJfao0jU3XT4vriCxi5EH6o2KGnR8OkQ
2)代码质量管理
开发人员提交代码后将自动触发代码的扫描,如代码规约扫描及代码安全敏感信息扫描等,并快速反馈给开发者,尽快排查修复:
https://tcs-devops.aliyuncs.com/storage/111wee15a74e0c5a7e002494210ebc0e1997?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdlZTE1YTc0ZTBjNWE3ZTAwMjQ5NDIxMGViYzBlMTk5NyJ9.rBD-oXEnjer9ooQsNFxuUhCU2-fzOFX_lTX9l4CL1lg
预发环境分支采用publish/分支,并设置分支保护模式;开发通过merge request提交测试通过后分支到publish/分支;灵活的codereview支持,有问题的地方直接备注,实时反馈给开发者:
https://tcs-devops.aliyuncs.com/storage/111w7994b73b28e48286c24ac6118991524e?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc3OTk0YjczYjI4ZTQ4Mjg2YzI0YWM2MTE4OTkxNTI0ZSJ9.JYOfc1LNMkNrAmyVisp9C7aDRxaXJJDkEEIFeANjXUA
https://tcs-devops.aliyuncs.com/storage/111w14cfa5e7f54e7aa7e22b8dc58a845b34?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXcxNGNmYTVlN2Y1NGU3YWE3ZTIyYjhkYzU4YTg0NWIzNCJ9.sqw2Www72zTehhe0R8ZZ-xgUzUNhsvMdVnpI4a553yM
3)流水线自动部署
将构建、测试、发布用一条流水线串联起来,发布状态可见。流水线中集成了代码扫描、单元测试以保障产品发布质量,执行结果实时同步到钉钉。事务性工作自动化,让研发人员精力集中在高质量、高效率交付的核心事件上:
https://tcs-devops.aliyuncs.com/storage/111w4bbe55eac7f7cf7ff241d9b556cee7cc?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc0YmJlNTVlYWM3ZjdjZjdmZjI0MWQ5YjU1NmNlZTdjYyJ9.phtLdVltoAfs5X8nNU9Ys2gFO2KaihRFeVmPqq0K47w
https://tcs-devops.aliyuncs.com/storage/111w5b20b25005aeef7bbbcd686849ee4d22?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc1YjIwYjI1MDA1YWVlZjdiYmJjZDY4Njg0OWVlNGQyMiJ9.UrKZiY9hFHXuqCEQX7aEvLDaGlcFPR8oCOv_wVfvDB8
https://tcs-devops.aliyuncs.com/storage/111wd1794aad19192706d27ab61602769119?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdkMTc5NGFhZDE5MTkyNzA2ZDI3YWI2MTYwMjc2OTExOSJ9.Jn-XKKvTLsjapyPQoetwP7_C1rbTnkYp8LV0sPxpvI0
一致的开发、测试、预发、生产环境,避免了因环境差异带来不可预期的结果。四种环境和用途如下:
日常环境:供开发者使用,用于自测、联调
测试环境:供测试人员使用,运行自动化脚本
预发环境:产品上线前视觉验收、功能确认、执行代码扫描、安全扫描
生产环境:正式对外提供服务
如下图所示:
https://tcs-devops.aliyuncs.com/storage/111w896663c3501f4307d26bcb5f7200b162?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc4OTY2NjNjMzUwMWY0MzA3ZDI2YmNiNWY3MjAwYjE2MiJ9.IdFkErzyr2peQHf60j0jpUfuT1P2L5lUUpdsjuXmP24
4)数据可视化
项目中所有过程关键数据沉淀在任务中,方便统计分析:
https://tcs-devops.aliyuncs.com/storage/111wabde20a2989831e5e15755b311eabbea?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdhYmRlMjBhMjk4OTgzMWU1ZTE1NzU1YjMxMWVhYmJlYSJ9.kvmjZn4DZyI80PGBZqFoTyArpbWygmdZhZQ1wBx26jQ
项目数据总览,方便及时发现问题,合理配置资源。在项目盘点时,也可以通过历史数据发现项目执行过程中的优缺点,有针对性地进行改进:
https://tcs-devops.aliyuncs.com/storage/111w82bfe96a68818d5937f1372624b82fad?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc4MmJmZTk2YTY4ODE4ZDU5MzdmMTM3MjYyNGI4MmZhZCJ9.qJ1a4YOTxkDWObstzLz5B1I6ZuUL81ZVAMAkvqWvxy4
https://tcs-devops.aliyuncs.com/storage/111wb482326275fa5580206930028a091668?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdiNDgyMzI2Mjc1ZmE1NTgwMjA2OTMwMDI4YTA5MTY2OCJ9.OnXBajjntn8CgX6pizjV1IlBg7ql0wCmkoQ9vVjkVx0
结语
云效是一个非常适合于产研团队进行敏捷协作的工具,特别是其中代码管理与流水线进行了无缝集成,完全可以满足中小型团队对代码托管、评审、发布的一系列需求。相对于自己维护一条“万国牌”发布工具链,其成本优势也是非常明显的。作为一家创业型企业,把有限的资源投入到产生业务价值的活动中,跑赢市场和竞争对手是最重要的,把专业的事交给专业的人做,希望云效越来越好,能给我们带来更多的惊喜。
作者(合作者)介绍
葛志刚,十多年互联网研发,丰富的架构经验。目前在人力家负责研发团队的管理,架构工作。负责过多个核心产品架构,包括智能薪酬,智能工资条,智能社保等。在团队内推动敏捷协作,安全体系建设,稳定性保障和治理工作。
张莉,阿里巴巴云效解决方案架构师,拥有多年敏捷与持续集成工作经验,经历过通信及互联网多个行业,曾负责大麦持续交付流程建设,成功帮助飞猪、饿了么研发流程与阿里巴巴集团融合,对项目管理、持续交付过程中的痛点有深刻认识,专注于帮助中小企业提升研发效能,完成DevOps转型。
了解云效更多信息