博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017年敏捷沙滩大会:技术卓越、为持续交付优化的组织、容器安全
阅读量:6587 次
发布时间:2019-06-24

本文共 2290 字,大约阅读时间需要 7 分钟。

在英国康沃尔郡举办的上,数百名演讲者和与会者欢聚一堂,探讨在敏捷领域和后敏捷时代软件开发方法上的最新进展。大会第二天的要点包括:要基于敏捷宣言的原则进行交付,在软件开发方法中实现技术卓越是至关重要的;持续交付的实践是最大化商业价值链的关键推动因素,但组织必须经过恰当的调整,使这种实践能够高效、可持续地进行下去;虽然在使用微服务架构设计,用容器部署的软件系统中应用安全功能是颇具挑战性的,但开发者和运营者也应该使用一些基础实践。

\\

大会第二天以James W Grenning的演讲打头,演讲主题为“技术卓越,你需要它”。是Wingman Software的创始人,也是的签署人。他一开始谈到自己在80年代编写集成系统代码的往事,并指出在那个年代,在一系列较短的周期内交付功能并持续改进的做法也像当今这样至关重要。Grenning分享了对Demming的“”周期与“”实践的理解和引用,并声称这类技术中有很多基本原则也是敏捷宣言所呈现思想的基础。然而,或许时隔多年,技术卓越与持续学习的理念在悄然弱化,结果人们的观念变得教条,只去关心开发软件的正确流程。

\\

364a001ac6c72f72a7de83db3ff5db65.jpg

\\

Grenning探讨了的共识,并回顾了其中得出的结论:敏捷社区必须“1,追求技术卓越;2,推动个体改变,引导组织变革”。一如Erik Dietrich内容深刻的博文“”所言,我们必须持续学习,持续改进技术实践,从而避免陷入“有十年经验的开发老手实际上只是重复了十次同一年的工作”的陷阱。例如,开发者应该避免“之后再debug”式的开发,而是关注于应用并提升的技巧。Grenning在演讲结尾谈到对人力的尊重的重要性(在频繁被提及),并感慨说,虽然敏捷方法使管理交付受益巨大,但技术卓越的重要性是不能被遗忘的。

\\

本日商业部分的第一节内容是“为持续交付优化的组织”,演讲者是,Equal Experts的合伙人。在演讲开头,Parker提到持续交付成功应用到组织中的标志是“可以为现实客户自然地呈现一个准备充分的前景,且过程不会手忙脚乱”,以及“速度和稳定性符合商业需求”。持续交付的关键目标是尽可能减少“从有价值的创意(假设),到实现这种创意并呈现给现实客户”这一流程中的等待时间。因此,这需要整个组织通力合作以成功实现持续交付。谈到效用和流程,Parker提到关注效用的组织“往往会走向减少价值流、降低效用的结局”,所以应该关注价值流对效用的提升。实现这一目标的一种方式是用小批次(batch)进行开发。

\\

a2740a54689aa082ad0fd1282b37c168.jpg

\\

回到演讲主题,Parker认为传统上以项目为中心的“服务团队”,通常在最大化价值流方面效率不足。这是因为他们欠缺实现端到端变化的能力(例如,从商业创意到架构到部署),结果通常导致需要更大的批次和更长的升级周期,以在交付中包含更多的功能,典型例子就是令人生畏的“大爆炸”式发布。Parker借鉴了Spotify公司的组织模型,也就是,作为组织设计中对传统服务团队的替代,并提出了一种三维度的组织设计模式。这种模式将团队分为以下三种:

\\
  • 领域(垂直维度):每个领域代表一类商业能力,由一个独立小组掌控;领域的功能在部署时应与其它领域团队独立\\t
  • 社区(水平维度):社区是具备相似技能与兴趣的人员组成的松散小组,可以在组织内实现协作并分享知识\\t
  • 推动者(对角线维度):作为推动者的团队负责提供共同需要的资源,例如所需的平台或核心工具\

演讲结尾,Parker强调组织必须注意到的影响,并牢记这一事实:虽然复用很不错,但它的代价是降低独立性;而领域团队之间的界限及其构建的体制应该是明确定义、相对稳定、不太笼统的。

\\
\

成功创建有着明确界限,负责单一商业功能的领域团队,对软件开发者来说不应该是什么新鲜事物:这其实就是高内聚、低耦合(high cohesion \u0026amp; loose coupling)的架构设计原则

\
\\

软件交付话题的下一场演讲是主持的,他是Winder Research and Development的创始人。他在演讲中探讨了在使用微服务架构风格开发软件,及使用容器技术部署和运营时的安全问题(可以下载演讲的幻灯片)。Winder使用了一个开源的,应用微服务和容器的电商平台“”作为示例,讨论了一系列安全概念,并给出了以下建议:

\\
  • \\t

    容器安全:

    \\\t
    • 在中设置一个,从而避免以root账户运行操作\\t\t
    • 使用固化镜像(hardened image,参考页面),将容器部署为不可变工件(immutable artefacts),并将根容器文件系统设置为只读\\t\t
    • 充分利用,限制容器受损时的操作\\t\t
    • 流行的容器编排框架,其文档很好地说明了如何启用它的众多\\t
    \\t
  • \\t

    网络:

    \\\t
    • 应用“”,并使用全局防火墙尽量缩小易受攻击的部分\\t\t
    • 应用以避免内网入侵\\t\t
    • 应用以确保容器只能和其它定义好的容器通信\\t
    \

Winder在演讲总结中强调,要正确、高效地应用安全功能不是件容易的事情。由于权限和责任逐渐扩散到架构师、开发人员和运营人员等众多角色身上,组织中的所有成员都应熟悉基本的安全原则(尤其是涉及时的原则),并意识到他们的工作事关整个系统的安全性。

\\

3170fd273b05f0c32b70d75d5cd741a7.jpg

\\

敏捷沙滩大会的更多信息可以参考。演讲的视频已上传。

\\

查看英文原文

\\

感谢对本文的审校。

\\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们。

转载地址:http://zfeno.baihongyu.com/

你可能感兴趣的文章
图片缩小
查看>>
Lombok学习笔记— 消除冗余java代码
查看>>
IOS 之 NSBundle 使用
查看>>
python os模块进程管理
查看>>
hadoop使用场景
查看>>
Hadoop之MapReduce理论篇01
查看>>
如何让我的网站(独立网站或者blog)被百度收录?
查看>>
Python操作Mysql实例代码教程(查询手册)
查看>>
java基础<三>--IO流(1)
查看>>
如何编写高质量的代码二 - 类的设计
查看>>
网络主机和交换机端口位置的有效定位方法
查看>>
[周榜单]极乐小程序榜单(第十一期)
查看>>
win7 ie9总是跳转到官方主页的解决方法
查看>>
谈谈MySQL InnoDB存储引擎事务的ACID特性
查看>>
Redis 响应延迟问题排查
查看>>
python hello world
查看>>
DNS使用的是TCP协议还是UDP协议
查看>>
数据单位
查看>>
牛津词典 2018 年度词汇 ——「有毒」!
查看>>
python查询注册表子项是否存在并操作
查看>>