如何掌控敏捷产品开发的安全性

日期:2015-9-18作者:Ben Linders来源:TechTarget中国 英文

【TechTarget中国原创】

在敏捷产品开发过程中,用户故事可能不足以保证实施的安全性。这里阐述一些更有效提高安全性的办法。

越来越多的公司采用敏捷模式开发和维护软件系统。敏捷需求管理方法主要基于开发特性。敏捷开发团队经常会发现,对于开发安全产品来说,使用用户故事来定义某个产品的具体安全特性是不够的。你可能需要另外的机制和实践,才能达到安全要求。

在敏捷产品开发中,提高安全性的一些建议如下:

  • 时刻关注安全性完成的定义(DoD)。
  • 用验收标准来验证满足了安全性需求。
  • 在产品评审过程中,请利益相关者攻击产品安全性。
  • 用回顾反省的方法调整你的安全策略。
  • 群聚解决安全问题。

我认为,在进行敏捷产品开发时,探索漏洞和安全性的风险研讨会还是有意义的。不仅是在项目初期,你必须把团队成员和利益相关者集中在一起开会,在后续开发过程中,你也要经常组织他们一起交流,以探讨会发生什么问题,并且决定如何处理问题。我建议,记录DoD风险研讨会里做出的决定,作为软件交付前必须达到的标准。把DoD写在团队的公告板上,并且确保每位成员在产品开发过程中,都能够始终关注安全性。

可以借助验收标准在如何验证具体用户故事的安全性上达成共识。验收标准不仅有助于阐明需求,也有助于讨论并得出需要多少安全性措施及其种类。提前定义标准,不但有利于团队开发出满足安全需求的软件,还有助于在软件发布前测试出软件是否满足安全需求。

在产品评审或者所谓的演示阶段,开发团队会向大家展示产品,并且收集反馈信息。利益相关者不仅有机会操作该软件产品,但也给他们提供了机会来破坏系统安全性;同时像罪犯或欺诈性者那样操作软件,从而观察软件系统如何响应。然后,利益相关者可以一起决定为保证系统安全需要做哪些事情。

敏捷回顾帮助团队思考他们的工作方式,并持续提高他们的水平。在回顾中,通过使用“五个为什么”,可以发现主要的或者重复出现的安全问题。这样,有助于找到导致安全问题的根本原因,以防以后再次出现类似问题。回顾还有助于精准调整团队应对安全问题的处理方式。当周边环境有些因素改变,导致出现安全问题的风险增加时,团队可以调整他们的工作方式以适应这些变化。

当安全被破坏时,需要快速且有效的行动来解决问题,并且阻止更大的破坏。群聚,是一种让团队集中精力解决某个问题的方法。来自不同领域的人一起工作,达成共识,提出定位和解决问题的方法,并将升级后的软件投入运行。开发团队可能需要一些利益相关者,比如产品经理、程序或项目经理,相关实施人员的共同参与,以便开展迅速且有效的行动。

识别、分析并解决安全问题的速度和效率很重要。敏捷工作方式,比如用Scrum或者Kanban,可以帮助团队通过快速地开发和发布有效的解决方案来处理安全问题。我认为DevOps会加速问题的解决,因为这样的方式会缩短敏捷产品前端到后端的开发周期。当开发和实施人员密切合作时,被实施团队发现或者报告给实施团队的问题,可以被迅速的解决。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SOA开发>更多

  • 故障注入注定要成为软件专业人士的必备技能

    尽管云改善了企业迅速发布高质量、高能力应用的能力,但专家警告说要小心这些应用会变得太复杂,难以进行人工测试。

  • 容器与微服务要“联姻” 你对它们够了解吗?

    在虚拟化和云计算领域,容器大概是发展最快、最广为令人兴奋的技术了,微服务则紧随其后。如果把这两大技术结合起来会碰撞出怎样的火花呢?

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • HTML5促进企业移动化服务走向极致

    在企业困扰于传统移动化方式过于复杂时, HTML5凭借其天然的跨平台特性,乘势而起并逐渐得到企业的关注。可是,由于HMTL5标准建立时间不长,展示性能及稳定性更是需要和浏览器有一个良好的兼容,除此之外企业更是缺乏实际应用经验,所以基于HTML5技术的企业级服务市场还处于一片初创状态。

相关推荐

  • 开发运维一体化(DevOps):协作是成功的保障

    如今的IT部门存在一个矛盾:敏捷开发者希望可以快速部署常规软件,而运维团队则优先考虑稳定性。开发和运维不同的成功指标使得每个团队都有自己独立的目标

  • 改进用户故事 加强敏捷安全性

    需要密切关注不起眼的用户故事,这些简单构建的模块里通常能够发现敏捷安全性问题记录在白板上的各种颜色的即时贴里。

  • Agile2015关键点:修订敏捷 适应工作

    Agile2015大会的重要关注点为,企业为什么要根据需要修订敏捷方法,而不是遵循核心价值。

  • 展望Agile2015大会

    本届Agile2015大会上值得关注的话题包括,动手实验室、大规模转型建议、角色扮演帮助敏捷更加有效、真实mob编程经验以及对付敌对中层管理人员的最佳方式。

技术手册>更多

  • 业务流程执行语言BPEL(升级版)

    BPEL即业务流程执行语言,是一种使用XML编写的编程语言。用于自动化业务流程,也曾经被称作WSBPEL和BPEL4WS。广泛使用于Web服务相关的项目开发中,优点为具有可移植性和有效保护了投资。

    BPEL是一门用于自动化业务流程的形式规约语言。用XML文档写入BPEL中的流程能在Web服务之间以标准化的交互方式得到精心组织。这些流程能够在任何一个符合BPEL规范的平台或产品上执行。 所以,通过允许顾客们在各种各样的创作工具和执行平台之间移动这些流程,BPEL使得他们保护了他们在流程自动化上的投资。

  • 业务流程管理BPM(更新版)

    业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

  • 松散耦合的七个级别

    在软件领域,“耦合”一般指软件组件之间的依赖程度。那么,什么是依赖?各种依赖对耦合度和松散度有多大影响?软件耦合可以发生在许多级别。必须区分生成时(编译时)依赖和运行时依赖。在分布环境中,为了确定系统的耦合程度,必须分析各个级别。下面我们就来具体看一下。

  • 换个角度看BPM

    在谷歌上快速搜索一下“BPM”,你将得到整整1.59亿个点击结果。有关这三个字母的含义,存在着海量的定义和观点。业务流程管理、业务过程建模、业务流程映射。当然还有一些有趣的解释。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算