我的团队使用看板系统来跟踪日复一日的进度,它对于理解特性(捕获为用户故事)的进度非常有效。我们已经在很大程度上允许我们的系统设计出现,因为我们开发了一些功能,这些功能直到最近才得到很好的实现。在过去的两周中,我们讨论了几个关于体系结构权衡的问题,特别是与性能和可修改性质量属性相关的问题。
我认为,当我们实现特性和设计系统时,我们在含蓄地对体系结构做出决策,而不是根据我们已知的质量属性需求来考虑这些决定。如果我能够跟踪/捕捉/直观地描述这些重要的设计决策是如何做出的,那么团队成员就有更好的机会在系统架构中创建更多的张力,因为系统正在实现。当然,让事情更复杂的是,我们董事会上的功能并不完全是功能性的,有时还隐藏了架构的复杂性!
如何在团队的kanban上直观地跟踪质量属性(或其他与架构相关的决策)的进度?
发布于 2010-11-10 21:36:36
我们含蓄地对体系结构做出决定,但没有根据我们已知的质量属性需求来考虑这些决定。
我认为您可以通过在工作流中创建一个“架构评审”步骤来可视化这一点。该步骤将由具有自己的WIP限制的Kanbad板列表示。WIP限制将取决于您必须参与这些评审的架构师/设计师的数量。
开发团队负责用户故事的横向、左向右流。在大多数情况下,建筑师(S)只有在建筑/技术评论专栏中才会触及这些故事。立柱与水平泳道的交汇处,形象化了开发商(S)和建筑师(S)的相遇。
我工作的一个团队也有类似的步骤,他们与首席数据架构师一起进行数据库模式审查。他们不使用看板,但如果他们使用,他们很可能会有这个专栏在他们的董事会。
然后,已知的质量属性可以表示为:
补充说:“架构评审”工作流步骤可能会被怀疑是一个名为“共用悲剧”的问题。关于看板可视化如何帮助处理它和可能的解决方案的这里有一篇很棒的博客文章。
发布于 2011-11-01 22:11:49
这个问题其实有两部分。其中一部分是:我们如何知道什么时候架构被改变了。第二部分是:我们如何知道建筑仍然是好的。
对于第一部分:您如何知道体系结构何时被更改?
这里的目标是将正在进行的事情隐式地进行,并使其明确化。
如果有许多卡片需要评审,或者架构师不是团队的一部分,并且需要切换,或者评审将足够详细,以便在董事会上跟踪您想要跟踪的时间,那么您可能会选择前者。后者是一个选项,如果只有很少的卡片接触到架构,而且很容易找到一对按需。
接下来是第二个问题:我们如何知道体系结构仍然很好?
我非常喜欢形象化。您可以在白板上有一个图表,上面有描述组件和体系结构的便笺。
还有静态分析器,它将分析代码库并生成具有各种组件的依赖关系图的图像。你可以运行它,拿出一个指纹,并把它贴在墙上大约每周一次。也许最近的两张照片可以贴在墙上,所以你可以看看上周是否有任何变化。
这些允许您做的是使您的架构和设计可见。团队成员会偶尔浏览一下它,并对它进行评论,如果某些事情可以更改、重构或以更好的方式完成的话。
发布于 2010-10-04 19:55:04
我也见过这个问题。含蓄的决策!如果含蓄是问题所在,那么它是否会尽可能明确地解决这个问题呢?我的建议是稍微调整一下体系结构过程,以“开始解释”那些进展为决策的隐含思想。流程中附加步骤的目的是让团队成员理解每个人都倾向于做出隐式架构决策。这一步只会使隐含的决策偏离轨道。
将“探索出隐式决策”保留为每一种场景的kanban的一部分可能会有所帮助。
我想提出的建议可能很麻烦。但是,如果这个过程被映射到一组kanban项目,如果这在每个拱形场景中都会出现,它不会帮助您跟踪它吗?我建议你也可以把它们映射到六个部分的场景模板上,并即兴制作板来容纳这些发现,QAs可以被跟踪。
维克拉姆。
https://softwareengineering.stackexchange.com/questions/9013
复制相似问题