0

我刚刚在工作中完成了两天的敏捷/Scrum 指导,这很棒。我是专业编程的新手,所以我需要它。但是,我在垂直切片的概念上非常挣扎。特别是我看不到数据库模式是如何从跨所有开发层(前端和后端)单独工作的多个开发人员中产生的?一次性设计数据库模式称为水平切片,它被认为是禁忌。我对对象关系映射很熟悉——稍微有点——因为我曾使用过像 Grails 这样的框架。但同样,我仍然首先设计模式并从那里开始工作。

需要明确的是,我并不是在反对敏捷/scrum/垂直切片的情况,而是在问这怎么可能?- 特别是当涉及到数据库模式的对象映射时,如何由几个开发人员协同而不是从一开始就完成?

我真正喜欢的这篇文章似乎——如果我没看错的话——建议应该在春季计划阶段设计数据库模式,然后再实施任何用户故事。http://www.vertabelo.com/blog/notes-from-the-lab/data-modeling-in-agile-development-one-data-modelers-experience

4

2 回答 2

2

垂直切片的想法是您执行交付某些功能所需的最少数量。

现在,您需要为第一个故事做的最少的数据库设计可能是完整的模式。但我认为这不太可能。

例如,要使第一个功能发挥作用,您是否需要与身份验证相关的表?做审计的表呢?也许架构的某些部分与某些功能无关。假设您有一个购物篮应用程序,并且模式的一个方面与客户保存他们最喜欢的外观有关。模式的那部分可以留到相应的故事开始吗?

如果您有多个开发人员遵循这种方法,那么这将需要大量的对话和协调。数据库模式的持续集成真的很有帮助。因此,当开发人员对架构进行更改时,会运行回归测试以确保它不会干扰其他开发人员的工作。

于 2015-09-24T19:28:54.817 回答
1

这篇文章很好地解释了它:http: //blogs.adobe.com/agile/2013/09/27/splitting-stories-into-small-vertical-slices/

您不必让不同的人在垂直切片的每一块上工作。它更多地是将每个部分分解成更小的部分以实现增量结果。

从上面的文章:

每个切片都包含需要在架构层中完成的任何工作以及可能需要完成以使其准备好发布的任何测试和集成。

于 2015-09-24T18:21:56.557 回答