提升开发者体验的三个维度
在 GetDX、微软研究院和加拿大维多利亚大学的一项研究中,识别出影响软件开发体验的 25 个因素,发现软件工程师的生产力主要受三个维度的影响:反馈循环、认知负荷和心流状态。
反馈循环 | 认知负荷 | 心流状态 | |
---|---|---|---|
人员 | 对自动化测试速度和结果的满意度 对验证本地更改所需时间的满意度 对将更改部署到生产环境所需时间的满意度 | 对代码库复杂性的感知 调试生产系统的难易程度 理解文档的难易程度 | 保持专注和避免干扰的主观感知 对任务或项目目标清晰度的满意度 在值班期间的中断感知 |
流程 | 生成 CI 结果所需的时间 代码审查周转时间 部署前置时间(将更改发布到生产环境所需的时间) | 获取技术问题答案所需的时间 部署更改所需的手动步骤 文档改进的频率 | 没有会议或干扰的时间块数量 不计划任务或请求的频率 需要团队关注的事件频率 |
目标
- 对交付软件的轻松感知
- 员工参与度或满意度
- 生产力的感知
1. 反馈循环
反馈循环在软件开发中起着至关重要的作用,通过优化价值流和减少软件交付的延迟来实现。开发者收到反馈的速度越快,他们就能越快进行必要的调整和修正。研究表明,频繁部署和较短的前置时间可以将实现性能目标的可能性翻倍。
为了改善 DevEx,组织必须专注于缩短反馈循环。缓慢的反馈不仅会中断开发过程,还会导致挫折和延迟。识别工具可以优化或人类流程可以改进的领域,对于增强反馈循环过程至关重要。
2. 认知负荷
认知负荷是指开发者执行任务所需的心理处理。随着工具和技术数量的增加,开发者面临着越来越大的认知负荷,这有时会妨碍他们提供价值的能力。
高认知负荷可能由于文档不完善的代码或复杂的开发流程而产生。为了改善 DevEx,组织应消除开发过程中的不必要障碍。这包括强调有组织的代码和文档,以及提供易于使用的自助工具,以促进更顺畅的工作流程。
3. 心流状态
心流状态是一种心理状态,特点是完全沉浸、充满活力的专注和对活动的享受。开发者常常将这种状态称为“进入心流”或“处于状态中”。实现心流状态会带来更高的生产力、创新和员工发展。
研究表明,享受工作并经常体验心流状态的开发者表现更好,生产出更高质量的产品。然而,延迟和干扰可能会阻碍开发者达到这种高效的状态。
为了增强 DevEx,组织应专注于创造有利于 心流状态的最佳条件。这包括通过集中会议、避免不计划的工作和批量处理帮助请求来最小化干扰。此外,培养一种积极的团队文化,使开发者拥有自主权和机会去应对充实的挑战,对于促进心流状态至关重要。领导者应倡导有利于这些条件的环境。
结论
通过关注 DevEx 的三个核心维度——反馈循环、认知负荷和心流状态,组织可以更好地理解和改善开发者的生产力。通过优化这些领域,团队可以在输出上获得显著改善,最终实现软件交付的更大成功。