写点什么

安全、软件与加速学习

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

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

关注

评论

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

架构实战营模块3作业

Vic

架构实战营

超详细教程:SpringBoot整合MybatisPlus

华为云开发者联盟

Java spring springboot 代码 MyBatisPlus

运维五一不加班,从一套On-Call响应机制开始!

睿象云

运维 告警 智能运维 告警设置 告警管理

架构实战模块三作业

Geek_649372

架构实战营

深入浅出 LVS 负载均衡系列(二):DR、TUN 模型原理

UCloud技术

负载均衡

在线体验四大名著情景(地图、游戏)

不脱发的程序猿

开源 程序人生 四大名著

模块2学习总结

TH

架构实战营

如何在苹果M1上安装使用FL Studio

奈奈的杂社

编曲 教程分享 编曲软件

全新 Jira 系列,适用于所有团队!

Atlassian

DevOps 敏捷 Atlassian Jira

存算解耦的多模型数据管理平台介绍:以星环科技TDH8.0为例

星环科技

人工智能 大数据 云平台 数据管理平台 存算解耦

数仓ETL系统:给强大的“心脏”配上“超级流水线”

华为云开发者联盟

数据库 数据仓库 GaussDB(DWS) ETL系统 MPPDB

第三次作业

Geek_9cf7b5

双向循环链表:鸿蒙轻内核中数据的“驿站”

华为云开发者联盟

鸿蒙 数据结构 结构体 OpenHarmony 双向循环链表

从狗狗币说起 看区块链的未来发展方向

CECBC

狗狗币

轶事

言未卜

STM32低功耗模式下GPIO如何配置最节能?

不脱发的程序猿

嵌入式 stm32 单片机 低功耗模式

NumPy之:使用genfromtxt导入数据

程序那些事

Python 数据分析 Numpy 程序那些事

如何快速制作短视频?拥有这个神器,轻松搞定!

奈奈的杂社

短视频 视频剪辑 自媒体

腾讯T6!万字长文体系化讲解Spring源码,码农:太透彻了,学会了

牛哄哄的java大师

Java

一周信创舆情观察(4.26~5.5)

统小信uos

第一个鸿蒙应用

释缘

鸿蒙 HarmonyOS

区块链+农业,如何升级农业价值链

CECBC

农业

rocketmq优雅停机往事

捉虫大师

Offer收割机!阿里P7大神甩出JSP实战笔记,网友:信息量过大

飞飞JAva

Java

Hive解析Json数组超全讲解

五分钟学大数据

hive 5月日更

Tars Java 客户端源码分析

vivo互联网技术

Java TARS RPC架构

从5大挑战带你了解多模态机器学习

华为云开发者联盟

机器学习 多模态机器学习 多模态 异构数据

“区块链+疫情预警”!这个科研团队研发了传染病预警系统

CECBC

疫情

nmon和nmon analyser的网盘下载安装与使用

InfoQ_Springup

工具

模块2作业 微信朋友圈高性能复杂度

TH

架构实战营

智能会话机器人:SaaS 平台的设计与思考

极客志

自然语言处理 chatbot 聊天机器人 智能会话机器人

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