LinkedIn创建DPH框架的原因,源自于当今开发领域面临的各种挑战,特别是在生成式人工智慧兴盛发展的时代背景下,LinkedIn认为开发团队必须具备迅速适应,并且有效运用新技术的能力,而DPH框架提供了一套系统、流程、指标和回馈系统,协助开发团队克服面临的新兴挑战。
DPH框架经过4年的开发,其核心目标是要协助开发团队工作时更幸福、更有效率。LinkedIn设计框架的工作从高层次哲学思考开始,并落实到最佳实践工作管线。
DPH框架以目标、讯号和指标3部分为基础,这3个元素共同解答了衡量和评估过程中,组织会遇到的重要问题「如何选择要测量的内容?」组织可以根据这3个元素确定具体的目标和讯号。而框架也讨论了Developer Personas,这是一个依据开发者的工作流程,将其分类到不同群组的系统,框架提供有关建立Developer Personas系统的资讯,包括透过自愿者了解开发者的工作流程和遭遇的痛点。
Developer Personas系统的重要性在于提供软体开发和团队管理,一种结构化和个人化的方法,借以更理解开发者需求,进而提升工作效率,范畴涵盖个人职涯发展、团队沟通合作,促进更有效的资源分配,但这些最终的目的,都是要支持组织达到更好的产品设计和开发。LinkedIn也在框架中提供重要原则,避免组织建立出后续需要大幅修改的系统,包括讨论资料和见解(Insight)之间的区别,以及使用定量和定性资料推动决策的方法。
组织所收集的资料,可转换成为具体指标、报告和视觉化图示,框架除了提供设计指标的关键原则之外,也提醒了指标设计的陷阱,点出将指标汇总为分数,存在许多潜在问题,而且解释输出总量并不是作为软体工程师最佳绩效指标的原因。
另外,框架也强调回馈系统的重要性,使开发者能够表达他们的需求和挑战,进而创建一个更具支持性和满足的工作环境。
LinkedIn指出两个衡量开发者生产力的重要概念,分别是迭代时间(Iteration Time)和上下文切换(Context Switching),迭代时间是指工程师从观察到问题,到最终执行解决方案的时间,迭代工作的类型多样,但整体来说,加速迭代过程会让整个开发过程更快。
而上下文切换则是指开发者在等待某项工作,会转而进行其他活动的过程,长时间的中断开发者会需要花费10到15分钟重新回到原本工作的上下文,而短暂中断也会浪费开发者的时间,甚至导致开发者忘记重要工作内容而出现错误。因此降低迭代时间并避免上下文切换,是提高软体开发效率和减少错误的重点。
LinkedIn也提供了数个他们内部实际使用的指标,这些指标分为全公司工程指标,以及开发者平台团队指标,全公司工程指标有开发者建置时间(Developer Build Time)、合并后CI时长(Post-Merge CI Duration)以及程式码审查者回应时间等,而开发者平台团队指标则有CI可靠性、部署可靠性,还有服务水准目标(SLO)的见解指标数量等。
LinkedIn借由DPH框架提供了一系列指南和最佳实践,协助其他组织、团队设计和实施框架。目前框架文件已经在GitHub上,供任何人取用。