-1

我一直在阅读有关敏捷的文章,它似乎是为了更轻松地响应不断变化的需求、进化的软件设计、让工作软件超越构建基础、能够随时交付、不断重构等等,但我没有除了遵循 SOLID、使用设计模式和其他指南之外,还没有发现任何关于如何实际接受需求并将其转化为软件设计的方法,这种方式有助于促进上述敏捷开发的“目标”。

是否有任何方法可以帮助我将需求从需求转变为具有敏捷目标的软件?

4

4 回答 4

2

据我了解,敏捷是关于工作方法,而不是技术解决方案。
重要的是你如何管理你的工作,而不是你如何你的工作;
敏捷方法旨在解决管理问题,而不是技术问题。
(理论上,您不仅可以将敏捷方法用于软件开发,还可以用于几乎任何类型的工作。)

也就是说,有几种模式和方法可以很好地与敏捷开发配合使用;其中包括Test-Driven-DesignAcceptance-Test-Driven-Design,旨在帮助您快速提供工作代码。

于 2012-11-09T16:31:27.173 回答
0

我对以架构为中心的设计方法 (ACDM)有第一手经验。根据您的描述,我认为这与您可能正在寻找的内容很接近。它本身不是一种敏捷方法,但它很好地映射到 Scrum 等敏捷方法,并包含许多敏捷价值观和原则(尽管新手团队可能会觉得有些紧张或令人沮丧)。此外,ACDM 是一种真正的设计方法——它为理解需求和创建满足这些需求的设计提供了具体指导。您将需要使用开发方法来指导编写代码,例如 XP。

ACDM 由 8 个阶段组成。一般而言,该过程的目标是帮助团队快速有效地从作者所说的不确定期进入关于要构建的系统架构设计的确定期。

  • 第 1 阶段:发现架构驱动因素--> 作者鼓励团队关注 4 个驱动因素——技术约束、业务约束、高级功能需求和质量属性。没有讨论具体的启发技术,并且有各种各样的技术。
  • 第 2 阶段:建立项目范围--> 基本上,建立一个概念设计并确保它与发现的驱动程序保持一致。
  • 第 3 阶段:创建/优化架构--> 在这里您将应用您在问题中提到的许多原则、SOLID、模式使用等。
  • 第 4 阶段:架构评审--> 在正式或半正式的过程中与评审团队一起对设计进行基于场景的评审。基于架构驱动,这可以被认为是用于架构设计的 TDD 的一种变体。
  • 第 5 阶段:生产 Go/No-Go --> 如果设计是 Go,请跳到第 7 步。go/no-go 不是整个系统的全部或没有,这意味着一部分元素可能在生产中“开始”,而其他元素必须进一步细化
  • 第 6 阶段:实验 --> 这确实是该过程的核心。如果您不了解或不确定,您通常需要亲自动手并编写一些代码来了解设计中需要做什么。重复步骤 3
  • 第 7 阶段:生产计划
  • 第 8 阶段:生产--> 代码构建开始,可以部分或全部发生

这本书概述了您需要了解的所有内容。作者还发表了几篇论文和演讲,这些论文和演讲都是在本书中发布的过程之前和之后发表的。

架构软件密集型系统: Anthony Lattanze 的从业者指南。

于 2012-11-12T14:38:17.967 回答
0

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

于 2013-09-08T12:01:12.357 回答
0

我知道你的意思。你正在寻找一条可以遵循的道路,没关系。我会向你推荐一本书,它会解决你所有的问题,好吗?它被命名为:敏捷开发的艺术。

这本书是您正在寻找的方法论(接近它)。从那里您将能够继续您的旅程。

除了一本书:eXtreme Programming 比其他敏捷方法更具技术性和针对性。你也应该看看它:http ://www.extremeprogramming.org

单击那里的链接并阅读所有内容。

祝你好运。

于 2012-11-16T01:32:52.450 回答