敏捷顶层设计方法(4)

发表于:2013-03-25来源:减法架构设计专业论坛作者:高煥堂点击数: 标签:敏捷
由于深度软硬整合开发产品的多样性,是当今智能移动终端时代的最大特征。无论您所做的是软硬整合、跨平台或测试,其实都围绕着SoS(System of System)的组

  由于深度软硬整合开发产品的多样性,是当今智能移动终端时代的最大特征。无论您所做的是软硬整合、跨平台或测试,其实都围绕着SoS(System of System)的组合创新思想。所谓SoS思维就如同设计飞机,如何将一群不会飞的配件(Part)加以巧妙的组合,让其整体(Whole)能飞上天空。于是,大家都能体会到,一架飞机就是一群 {whole, interface, part} 基本结构单位的巧妙重复组合而已。于此,笔者将这个基本单位称为EIT造形(Form);它在本文所介绍的”方法论”里,扮演了重要角色。

  6. 结语

  本篇文章的目标是:简洁地叙述高焕堂提出的<敏捷顶层设计方法>。快速说明其两阶段的敏捷迭代过程,以及阐述各步骤的工作要点。

  如果您需要更详细的相关文章,可来信索取:misoo.tw@gmail.com。于此,加以归纳说明这两阶段敏捷过程的基本思维和用意;如下的叙述:

  两阶段敏捷的基本思维

  在顶层设计阶段,中层设计人员与顶层设计人员,会一起合作,相对上,顶层设计人员偏于战略,而中层设计人员偏于战术。战略人员会协助战术人员,来寻觅与制定战术。这项战略与战术的融合,也必须表现于计划书的一致性。换句话说,Top-down型的顶层设计,必须与Bottom-up型的中层设计,两者必须进一步整合,也进一步检验战略与战术的融合程度。如下图所示:

cm-12

  图-17 中层设计属于顶层设计阶段

  至于,双方如何整合呢? 在本文里,提出了一个美好的途径:就是如图-13所示,将顶层设计与中层设计纳入到敏捷TDD驱动的迭代&反馈过程中。依据敏捷开发的实务经验显示,这种敏捷过程自然会带动所有参与人员的良好沟通与合作。

  到了实件开发阶段,中层设计人员也会参与实践阶段的敏捷TDD迭代&反馈过程,协助实践开发人员来活用EIT造形,将较为细节的设计规范,包括软件、硬件平台的选择、数据库设计、代码测试方案、性能优化设计等实践层级的细节考虑等;包容到EIT造形的接口定义里;落实了顶层设计的互联互通要求。如下图:

cm-13

  图-18 中层设计+EIT造形+两阶段敏捷过程

  以上归纳了本方法的两阶性敏捷TDD迭代过程,能大幅提升了顶层设计的可实现性,并让实践开发更为顺畅完成,则无论是城市、家庭或其它复杂系统的美好景象就在眼前了。

  本方法的基本概念

  最后,再厘清本方法的基本概念:

  顶层设计是要支持投资决策;而不是去支持建置一个大型IT系统。

  顶层设计关注的是各业务区块之间的 “互通性“(Inter-operationality);而不是追求稳定、可靠、不变的“共同性“(Commonality)。所以顶层设计不是去设计<中间件>(Middleware)。

  顶层设计并非完全是<由上而下>(Top-Down)进行的;而是<从中间往上>(Middle-Up)的。

  由于顶层设计攸关现今决策的质量,以及攸关未来投资的成败。因此,如何确保顶层设计的质量(即最佳性和可实现性),是非常重要的。所以建议采用AHP决策分析法来确保顶层设计的<最佳性>。

  建立一个新层级:中层设计。基于<中层设计 + EIT软件造形>的两阶性敏捷TDD迭代过程,大幅提升了顶层设计的<可实现性>。

  敏捷思维的核心是:以跌代(Iterative)过程带动反馈;以反馈促进沟通(与合作)。这项思维非常适合于顶层设计,持续地带动整个系统(如家庭、城市或公共交通等)的创新和未来发展性。

  本方法分为两大阶段:<敏捷顶层设计>与<敏捷实践开发>。两阶段之间,能透过中层设计来做无缝隙的衔接。◆

原文转自:http://223.26.63.39/?p=138