跳到主要内容

艺术还是科学? 衡量软件开发

本文作者马克·马斯里, 存执行董事,Enterprise DevSecOps | 4分钟阅读| 2023年7月25日

软件开发是一门艺术还是一门科学? 根据学术界的说法, 答案是科学,因为我的文凭上清楚地写着“理学学士”.“尊重, 然而, I disagree; in my opinion, 精心设计和实用的软件是通过艺术和科学的结合来实现的.

相关:“对速度的需求”如何帮助我们重新构想DevSecOps

开发软件系统时, 确定, 有一些规则是必须遵守的——语法, 模式, 架构和工具(这是ChatGPT承诺非常擅长的东西). 但在另一边, 提出一个问题,并利用我们对世界积累的知识来建立一个解决这个问题的系统,这是非常人性化的因素.

因此,应用程序开发是一个创造性的过程,需要技巧和独创性. 如果它是一个流程,那么也许它可以被分解成子流程. 如果每个子流程都有定义和限定,那么就可以对其进行度量.

“很多事情都是可以衡量的,但应该衡量的很少."

我最近读到一句话:“很多事情都可以衡量,但应该衡量的却很少。.“总的来说, 我们依赖度量标准,因为它们提供了一个反馈循环,我们可以用它来表达和衡量进展.

度量开发过程的概念, 或者开发人员的生产力, 已经有一段时间了吗. vns6060威尼斯城官网这个话题有很多文章和学术论文,甚至是书籍. 甚至有公司以提高生产力为目标来开发vnsr威尼斯城官网登入, 一个值得肯定的崇高事业.

挑战在于你如何衡量一部分是艺术,一部分是科学的东西? 在所有我们可以测量的事物中,我们应该测量什么? 事实是,这里没有普遍的真理. 答案取决于你想要的结果.

对于DevOps行业的大多数人来说,有一些衡量标准 DevOps研究与评估(DORA),同意是值得关注的:

  • 部署频率度量将代码增量部署到暂存的频率, 测试和生产;
  • 平均恢复时间(Mean Time to Restore, MTTR)表示生产中发生故障后恢复业务所需的时间. MTTR是系统事件管理的重要组成部分;
  • 变更前置时间(Lead Time to Change)是指代码从提交到在生产环境中成功运行所花费的时间. This is effectively a mea确定 which provides visibility into the cycle time from development through to release; and
  • 变更失败率标识了未能进入生产环境的部署的百分比,以及这给开发带来的总体风险.

重要的是要记住,即使所有的研究都导致了这四个指标, 它们并不是衡量成功的最终标准. 这些被称为滞后指标, 或者输出测量, 比如速度, 吞吐量, 质量与稳定性. 没有哪个指标比其他指标更重要. 它们共同创造了一种平衡,以确保对速度和吞吐量的强烈关注不会以牺牲稳定性和质量为代价. Lagging metrics are the end; they do not mea确定 the means to that end.

同样重要的是要记住,如果没有领先的措施加以补充,落后的措施很难得到改善. 领先指标是一种输入——它们着眼于未来,试图预测未来的结果. One example of a leading/lagging pair might be code coverage for Quality; another might be pull request turnaround time for speed. 这里的关键结论是,领先指标帮助我们影响滞后指标(结果)。.

相关:DevSecOps中的可能性艺术

暂时地, 软件是由人类设计和设计的, 任何提高效率的努力都应该在改善开发人员体验方面投入大量资金. 理解并改进慢开发的痛点不仅会提高生产力, 但它将吸引并留住最优秀、最聪明的人才.

软件开发是一门手艺, 每一位热爱自己手艺的工匠都需要最好的工具来完善自己的作品. 虽然在开发工作的过程端进行度量是必要的, 衡量人性的一面也同样重要. 在设定目标或得出结论时深思熟虑,可以导致理想的结果,并使开发团队快乐地实现其全部潜力.

最好的方法是通过持续的分析过程来收集和审查数据, 识别机会, 实施结构改进, 清洗并重复. DevSecOps工具和流程是实现这些目标的宝贵vns6060威尼斯城官网. 它们通常提供必要的钩子来收集重要的数据点,这些数据点提供给领先/滞后指标.

软件开发艺术或科学也是如此? 我说两者都有.

马克·马斯里-形象配置文件
马克·马斯里

存执行董事,企业开发安全运营

帖子
存管连接
2023年5月2日 加速解决方案交付...
帖子
存管连接
2023年6月29日 适合目的:现有的原则...
帖子
存管连接
2023年7月17日 存的云分钟:成本优化
回到存连接
dtccdotcom