速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

安全、软件与加速学习

  • 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:381210
用户头像

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

关注

评论

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

一口气面了腾讯两个部门!

我是程序员小贱

3月日更

好想做个女孩子,编程第一步,女装身上穿

GitHub指北

2021年Java春招高级面试指南(1到5年Java面试者必备)

比伯

Java 编程 架构 面试 程序人生

分享18个常用的ECMAScript 6代码片段

devpoint

reduce URL参数解析 Form表单数据解析

配置引起事故复盘

风翱

3月日更

苹果笔记本充不进电的解决方案

石云升

电脑故障 28天写作 3月日更

所谓生产力

ES_her0

3月日更

Wireshark数据包分析学习笔记Day17

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

【LeetCode】逆波兰表达式求值Java题解

Albert

算法 LeetCode 28天写作 3月日更

MySQL如何选择主键

架构精进之路

MySQL 3月日更

GitOps | 一种云原生的持续交付模型

xcbeyond

CI/CD gitops 3月日更

《码农歌》

臧萌

加班

C++线程池ThreadPoolExecutor实现原理

Linux服务器开发

c++ 后端 线程池 Linux服务器开发 Linux后台开发

蚂蚁二面:MQ消费端遇到瓶颈除了横向扩容外还有其他解决办法?

中间件兴趣圈

面试 RocketMQ 消息中间件

《Redis 核心技术与实战》学习笔记 05

escray

redis 学习 28天写作 3月日更 Redis 核心技术与实战

一些人的某些目标

sadhu

生涯规划 职业规划 个人提升

寻找被遗忘的勇气(二十)

Changing Lin

3月日更

这些面试题你会吗?6年菜鸟开发面试字节跳动安卓研发岗,复习指南

欢喜学安卓

android 程序员 面试 移动开发

避免失控:谈谈人与人交往中的恶

boshi

职场 心理 七日更

TCP 三次握手与四次挥手

insight

TCP 3月日更

数据库备份真的很重要!很重要!很重要!

xiezhr

oracle sql MySQL 运维 数据备份

初识Golang之调用方法

Kylin

3月日更 Go 语言

源码分析-Netty: 高性能之道

程序员架构进阶

Netty RPC 源码剖析 28天写作 3月日更

还有高仿项目吗

GitHub指北

基于SpringCloud,支持安卓、IOS、包含前后端等等完整网约车项目

Java架构追梦

Java 架构 面试 SpringCloud 网约车项目

十步输出设计文档

鲁米

设计实践

我在阿里实习做开源

apache/dubbo-go

微服务 程序人生 云原生 dubbo dubbogo

远程协助软件向日葵分析

lenka

3月日更

正则表达式的使用与匹配原理解析

Guanngxu

正则表达式

这份1307页Android面试全套真题解析,源码+原理+手写框架

欢喜学安卓

android 程序员 面试 移动开发

打通Jira与钉钉和企业微信不再难

跟YY哥学Jira

钉钉 Jira 企业微信 automation

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