进化设计导论
受敏捷方法启发的现代软件开发甚至在过程后期都欢迎不断变化的需求,但是我们如何编写软件以使这些变化不会造成混乱呢?进化设计是关键。
敏捷软件架构
受敏捷方法启发的现代软件开发甚至在过程后期都欢迎不断变化的需求,但是我们如何编写软件以使这些变化不会造成混乱呢?进化设计是关键。
在敏捷世界中,软件架构就是要在足够预期的情况下做出设计决策。太多的预期导致过于沉重的建筑构造,这些构造可能永远不会使用(YAGNI);太少的预期会导致昂贵的重构,并可能导致致命的技术债务积累。本次会议提出了一种具有足够预期的敏捷体系结构映射方法。
开发大型软件系统会自动产生一些技术依赖性问题。如果这通常由传统项目中的软件架构师管理,那么当您使用敏捷方法进行组织时,如何传达这种技术依赖性?这是瑞典研究小组撰写的论文中讨论的主题。
这次演讲激发您思考R. Gabriel的一个老问题:“更糟吗?”。它展示了“如果专注于交付业务价值,这将是“如何变得更好”,这是敏捷软件开发最重要的软件体系结构之一。
敏捷软件开发的节奏始终是在进行下一个已知的小批量工作。在这种开发方式下,软件体系结构是否存在?有人认为软件体系结构应该简单地出现而不会’需要持续关注。但这不是’始终谨慎地让软件体系结构以下一次迭代的速度出现。
如果因为不把蛋黄酱放在蛋糕上’没有黄油,你不是’务实,你’令人恶心。我不’不必担心其他食谱中蛋黄酱的使用效果如何。我不’t care about it’的质量。只是没有’不能做蛋糕。将项目经理和软件架构师放入Scrum团队也是如此。
Scrum等现代敏捷软件开发方法建议使用“just in time”应用程序开发的愿景,往往使人们仅关注对当前sprint直接有用的活动。您如何在Scrum的迭代过程中包含具有长期视角的活动(例如企业软件架构)?
版权所有©2009-2020 马丁尼& Associates