AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

安全、软件与加速学习

  • 2013-07-17
  • 本文字数:1656 字

    阅读完需:约 5 分钟

敏捷方法具有创造伟大结果的潜质,但它并不能够保证达成伟大结果。实际上,轶事证据表明,只有小部分采用并适应了敏捷方法的团队和组织机构,能够达成这些伟大结果。这是因为成功还有一些隐性条件,而安全性似乎正是其中之一。

让我们从头开始。什么情况下敏捷方法能产生伟大结果?答案是当团队能够加速学习步伐的时候。这份 2007 年的报导如此写道:

敏捷实践,从测试驱动开发和持续集成,到迭代和回溯,共同组成了一个帮助团队学习得更快的链条。通过反复运用种种实践,敏捷团队加速了学习的过程,直面软件工程的瓶颈。我们可称之为“科学方法”、“持续改进”或者“检验一切”。

慢慢地,这种观点围绕着敏捷社区找到了自己的出路,而行为驱动开发(BDD)的主要作者 Dan North 在题为蓄意发现的文章中写道:

“学习是一种限制”,Liz Keogh 与我分享了她最近遇到的某个思维实验。回忆一下我们团队最近完成的一个重要项目或一项工作(最好是耗时数月的工作)。它从启动到交付花了多长时间?现在想象一下我们将要重复做同样的项目,拥有相同的团队和组织约束,一切都是相同的——除了团队已经熟知任何他们从项目中学到的内容。那么这一次通过各种方法完成项目需要多长时间?

停下来回答一下这个问题。最终,宣称完成重复项目大约需要 1/2 到 1/4 时间的答案并不罕见。由此引出了“学习是一种限制”(注:作者实际上是要说明,无知才是阻碍,我们需要通过学习来克服它)的结论。

在 2010 年,这一领域中的许多领导者开始探寻实践之外的东西;他们开始在人际动力学和团队 / 组织机构的文化中寻找成功的关键。其中的一项理念似乎根植于安全,并作为支持加速学习的基本属性。

Scott Belware 在 2010 年的 Workplace Safety for Software Developers中,描写了在软件开发组织机构里,冒险的负面影响。

而 Daniel Mezick 在《文化游戏》一书中,描绘了学习文化中安全的必要性。在 InfoQ 的采访中,他表示:

安全是社交学习或我称之为部落学习的基本要求。因此,它需要一个管理者重点关注的领域,并更深入的学习。在这本书中,我解释了如何及为何低安全水平与社交学习的低水平有关联。低学习水平调节在面对变化时能够适应多少。哈佛商学院教授 Amy Edmondson 的研究显示,心理安全,社交学习水平,参与水平,及生产力水平,都是有关联的。这就是为什么我们必须特别注意人类行为的动态。

今年, Joshua Kerievsky Amr Elssamadisy 都撰写博客文章,探讨了这样的话题:软件开发的新观念如何从安全角度,为何时一切正常、何时出现问题带来了新的曙光。在技术安全(Tech Safety)中,Joshua 写道:

技术安全是无处不在的驱动力,就像呼吸一样。它不是一种流程或技术,也不是一项优先事项——因为它不会被其他优先事项所取代。对技术安全的评估意味着持续改进以下各方面的安全性:流程、代码库、工作场所、关联关系、产品和服务。它是通往卓越的道路,而它自身并不是一种目标。它影响那些我们注意的事情、我们努力奋斗的工作以及我们的组织机构如何运行。

Is it Safe to Fail?中,Guy Nachimson 介绍了 Christopher Avery 的责任流程模型非暴力沟通,以及Jim McCarthy 的核心协议,并将它们与创建生产伟大软件的安全文化联系在一起。

最后, John Krewson认为,尽管技术安全(Tech Safety)是一种崇高的理想,但它注定失败并且将失效:

这是一项崇高的理念,我满心相信它的价值。然而,在技术安全理念的表面之下潜藏着一个问题,可以称之为“风险平衡”。风险平衡是 Gerald Wilde 在 1994 年发展出的一项理论,该理论的观点在于:我们并不会省去风险,而是在消耗它。换句话说,当我们落实某种方法来让自己的生活更安全的时候,我们用它来为生活中其他领域更危险的行为进行开脱,因而从整体上来说我们并不会变得比之前更安全。

观看和创建安全文化和环境,是否真的将会流行起来——作为创建更有效的软件开发团队和更好的软件的方法——还有待观察。尽管如此,它实际上是一个值得探索和尝试的主题。关于这些, 你的经历又是怎样的呢?

查看英文原文: Safety, Software, and Accelerated Learning

2013-07-17 07:381420
用户头像

发布了 256 篇内容, 共 78.6 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

Linux之vmstat命令

入门小站

Linux

在线ASCII流程图编辑器工具

入门小站

工具

一起玩转LiteOS组件:Pixman

华为云开发者联盟

LiteOS LiteOS组件 Pixman Pixman Demo LiteOS组件仓库

固态存储行业领导者硅格半导体加入龙蜥社区,共同推动开源生态建设

OpenAnolis小助手

Linux 开源 社群运营

java培训:SpringBoot技术的理解

@零度

JAVA开发 spring-boot

王者荣耀商城异地多活设计

皓月

「架构实战营」

【架构训练营-模块二】

默光

微信朋友圈 架构训练营5期

设计模式【13】-- 模板模式怎么弄?

秦怀杂货店

Java 设计模式 23种设计模式

Java异常处理:如何写出“正确”但被编译器认为有语法错误的程序

华为云开发者联盟

Java 代码 java异常处理 语法 Exception

读书笔记:查理芒格的思维模型

panda

一文搞明白直播和点播的区别 | 社区征文

liuzhen007

音视频 新春征文 2月月更

小程序开发中使用网络请求

Speedoooo

大数据培训:Hadoop生态系统圈

@零度

大数据 hadoop

这样才是代码管理和 Commit 的正确姿势! | 研发效能提升36计

阿里云云效

阿里云 云原生 代码管理 研发 Commit

产品经理角色理解

wood

300天创作

领域模型设计该如何落地到数据库设计?

蜜糖的代码注释

Java DDD 领域模型 2月月更

百度手机助手存储资源优化实践

百度Geek说

后端 存储

如何低成本测试云原生(K8s)应用?

Draven Gorden

微服务 云原生 联调测试 并行测试

第九节:SpringBoot在线文档Swagger2入门

入门小站

springboot

mysql 面试总结

yuexin_tech

面试

前端培训:Vue 面试题分享

@零度

Vue 前端开发

架构实战营毕业总结

红莲疾风

「架构实战营」

B站员工猝死,审核员之殇,谁该反省?谁该惭愧?技术层面解构内容安全审核系统(python3)

刘悦的技术博客

系统架构 内容审核 Python3 应用审核 构架

react源码解析3.react源码架构

buchila11

React

运维与微服务结合?深度解析微服务框架Tars整体解决方案

云智慧AIOps社区

DevOps 微服务 运维 云原生 TARS

架构训练营 week10 课程总结

红莲疾风

「架构实战营」

再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面更炫酷,逼格更高!

沉默王二

Java

关于如何构建 Go 代码的思考

宇宙之一粟

Go 语言 2月月更

AI象棋,谁与争锋

乌龟哥哥

AI 2月月更

不会用SpringBoot连接Redis,那就赶紧看这篇

华为云开发者联盟

redis 开发 springboot Redis服务器

一文带你了解数仓智能运维框架

华为云开发者联盟

运维 GaussDB(DWS) 智能运维框架 调度框架 任务调度器

安全、软件与加速学习_DevOps & 平台工程_Amr Elssamadisy_InfoQ精选文章