我一直在阅读有关敏捷的内容,它似乎是为了更容易地响应不断变化的需求,进化软件设计,使工作软件构建基础,能够随时交付,不断重构等。但我还没有找到任何关于如何实际采用需求并将其转换为软件设计的方法,除了遵循SOLID,使用设计模式和其他指南之外,还有助于促进敏捷开发的“目标”。
是否有任何方法可以帮助我从需求到考虑敏捷目标的软件?
答案 0 :(得分:2)
据我了解,敏捷是关于工作方法,而不是技术解决方案
这完全取决于您如何管理您的工作,而不是您 的工作方式;
敏捷方法旨在解决管理问题,而不是技术问题
(理论上,您可以使用敏捷方法,不仅用于软件开发,而且用于几乎任何类型的工作。)
那说,有几种模式&已知适用于敏捷开发的方法;其中包括Test-Driven-Design和Acceptance-Test-Driven-Design,旨在帮助您快速提供工作代码。
答案 1 :(得分:0)
我拥有架构中心设计方法论(ACDM)的第一手经验。根据您的描述,我认为这与您可能正在寻找的内容非常接近。它本身并不是一种灵活的方法,但它很好地映射到敏捷方法,如Scrum,并且包含许多敏捷的价值观和原则(尽管新手团队可能会发现一些紧张或令人沮丧的紧张感)。此外,ACDM是一种真正的设计方法 - 它为理解需求和创建满足这些要求的设计提供了具体指导。在编写代码时,您需要使用开发方法来指导,例如XP。
ACDM由8个阶段组成。整个过程的目标是帮助团队快速有效地从作者所谓的不确定时期转变为有关系统架构设计的确定性时期。
这本书概述了你需要知道的一切。作者也发表了几篇论文和演示文稿,这些文章和演示文稿都引导了本书及其后发布的过程。
Architecting Software Intensive Systems: A Practitioners Guide来自Anthony Lattanze。
答案 2 :(得分:0)
我知道你的意思。你正在寻找一条可以追随的道路,没关系。我会推荐你一本书,它会解决你所有的问题,好吗?它被命名为:敏捷开发的艺术。
这本书是你正在寻找的方法(靠近它)。从那里你将能够继续你的旅程。
除了一本书:极限编程比其他敏捷方法更具技术性和特异性。您还应该在http://www.extremeprogramming.org
处查看点击那里的链接,阅读所有内容。
祝你好运。答案 3 :(得分:0)
为了成为敏捷,你需要能够迅速改变。因此,您的软件必须是可更改的。实现这一点并不容易,实际上很难。我建议你阅读这本书:http://www.amazon.de/Software-Development-Principles-Patterns-Practices/dp/0135974445这真的很棒。
您还可以阅读我的博文:http://babdev.blogspot.co.at/2013/08/are-you-really-agile.html