我一直在阅读有关敏捷的文章,它似乎是为了更轻松地响应不断变化的需求、进化的软件设计、让工作软件超越构建基础、能够随时交付、不断重构等等,但我没有除了遵循 SOLID、使用设计模式和其他指南之外,还没有发现任何关于如何实际接受需求并将其转化为软件设计的方法,这种方式有助于促进上述敏捷开发的“目标”。
是否有任何方法可以帮助我将需求从需求转变为具有敏捷目标的软件?
我一直在阅读有关敏捷的文章,它似乎是为了更轻松地响应不断变化的需求、进化的软件设计、让工作软件超越构建基础、能够随时交付、不断重构等等,但我没有除了遵循 SOLID、使用设计模式和其他指南之外,还没有发现任何关于如何实际接受需求并将其转化为软件设计的方法,这种方式有助于促进上述敏捷开发的“目标”。
是否有任何方法可以帮助我将需求从需求转变为具有敏捷目标的软件?
据我了解,敏捷是关于工作方法,而不是技术解决方案。
重要的是你如何管理你的工作,而不是你如何做你的工作;
敏捷方法旨在解决管理问题,而不是技术问题。
(理论上,您不仅可以将敏捷方法用于软件开发,还可以用于几乎任何类型的工作。)
也就是说,有几种模式和方法可以很好地与敏捷开发配合使用;其中包括Test-Driven-Design和Acceptance-Test-Driven-Design,旨在帮助您快速提供工作代码。
我对以架构为中心的设计方法 (ACDM)有第一手经验。根据您的描述,我认为这与您可能正在寻找的内容很接近。它本身不是一种敏捷方法,但它很好地映射到 Scrum 等敏捷方法,并包含许多敏捷价值观和原则(尽管新手团队可能会觉得有些紧张或令人沮丧)。此外,ACDM 是一种真正的设计方法——它为理解需求和创建满足这些需求的设计提供了具体指导。您将需要使用开发方法来指导编写代码,例如 XP。
ACDM 由 8 个阶段组成。一般而言,该过程的目标是帮助团队快速有效地从作者所说的不确定期进入关于要构建的系统架构设计的确定期。
这本书概述了您需要了解的所有内容。作者还发表了几篇论文和演讲,这些论文和演讲都是在本书中发布的过程之前和之后发表的。
架构软件密集型系统: Anthony Lattanze 的从业者指南。
In order to be Agile, you need to be able to Change, quickly. Thus it is your software that has to be changeable. Achieving this is not easy, its in fact hard. I suggest you to read this book: http://www.amazon.de/Software-Development-Principles-Patterns-Practices/dp/0135974445 it is really good.
You can also read my blogpost: http://babdev.blogspot.co.at/2013/08/are-you-really-agile.html
我知道你的意思。你正在寻找一条可以遵循的道路,没关系。我会向你推荐一本书,它会解决你所有的问题,好吗?它被命名为:敏捷开发的艺术。
这本书是您正在寻找的方法论(接近它)。从那里您将能够继续您的旅程。
除了一本书:eXtreme Programming 比其他敏捷方法更具技术性和针对性。你也应该看看它:http ://www.extremeprogramming.org
单击那里的链接并阅读所有内容。
祝你好运。