Gartner探讨最佳与最坏的EA和应用架构实践

一场Gartner网络研讨会探讨了最佳与最坏的EA和应用架构实践。

Gartner副总裁兼著名分析师Betsy Burton与副总裁兼Gartner院士Andy Kyte组织了一场称作“最好和最佳的企业应用和应用架构实践”的网络研讨(需要账户访问)。Burton从EA的十大最佳实践开始了研讨会:

  1. 通过制定章程要求EA项目要关注与企业环境——将EA放在整体业务环境中;只有熟知企业的现有业务战略,才能成功地执行EA
  2. 制定(并执行)沟通计划——对业务进行反馈,概括当前EA发展带来的价值
  3. 讲求实效(明确界限并不断重申所做的工作)
  4. 将每次迭代当作项目——EA不是项目,但是每次迭代都可当作项目来做
  5. 从业务战略开始,获得业务赞助
  6. 要对未来状态进行投资——一开始就把当前状态当作目标,往往最终会“烂泥一滩”。最好在开始之前有对未来做明确规划,在投资之前需明确要做什么
  7. 不忘治理——企业架构师应当“促进、指导、协调并帮助人们跨企业进行合作。”
  8. 建立度量程序(与全面的绩效管理关联)——度量EA项目的有效性
  9. 跟踪EA项目的成熟度以及人们对的看法——人们对其企业的EA的成熟度常常有不同的看法,而且往往差别迥异
  10. 人的综合素质与技能要同样关注——技术专长并不足够,人们之间的沟通能力却是关键

Burton也提到了13个最坏的EA实践,其中有些是最佳实践的反面对照:

  1. 与业务战略规划及预算流程不相关
  2. 混淆“IT架构”和“EA”——EA面向整体业务的改进,而IT关心的是整体业务中的信息技术相关的部分
  3. 缺乏治理
  4. 过分标准化
  5. 过分注重工艺或EA语言而非其产出——EA工作应该由业务产出驱动
  6. 苛求对EA框架的遵循——90%的企业架构师使用多种框架的混合体,而且他们不把这些框架当作傻瓜书并严格按照其条条款款执行,这是好的
  7. “象牙塔”方法。
  8. 缺乏沟通和反馈
  9. EA团队仅限于IT人员——鼓励让业务人员加入其中
  10. 缺乏绩效度量
  11. 选择工具先于理解业务需求——工具应该支持EA而非驱动EA。Burton建议先完成一次EA的迭代,之后你就会清楚哪些工具能够起到作用
  12. 关注当前状态在先
  13. “我们做完了”——EA永无止境,应为业务需求建立持续改进的流程。

Kyte在EA的语境中谈到了好几点应用架构方面的最佳实践。它一开始就提到许多企业架构师都以前都是应用架构师,而且他们倾向于关注技术的解决方案。他建议,架构师们应该退一步,站在更广阔的视角去看解决方案的整体生态环境,评估解决方案如何能在不断变化的业务环境下长期运行。

我们应思考生命周期,思考各种服务的混合体,如运维服务、维护和支持服务、提升和扩展服务、业务智能服务等,该服务混合体在应用的整个生命周期中都是需要的。然后我们可以说……我们需要建设哪些功能特性才能保证我们达到目标……

这些特性如何以我们期望的敏捷、快速响应、和可靠的方式交付呢?我们如何在整个生命周期中保持这些特性?

Kyte建议,在判别项目成功与否时,不要看项目上线时运行的多么好,而是看“系统是否在其整个生命周期中是否满足了所有干系人的各种需求”。

Kyte还谈到了应用架构师的保障软件质量的角色。他从ISO 25010开始谈到了该标准定义的软件质量的6项要素:功能性、可靠性、使用性、高效性、维护性、移植性。他提醒人们注意,许多架构师过多地关注软件的功能特性,可应注意的是,这些需求会随着政策法规、竞争、及业务需求的变化而变化:“墨水未干时我们也许还是对的,但一旦墨水干了,我们也许就过时了。”由于在系统的生命周期里变化是永恒的,架构师应该考虑软件质量标准提到的其他属性,特别是维护性,它有助于正确地执行变更。

Kyte谈到了维护性的几个子领域——可分析性、可变更性、稳定性和可测试性。可分析性指的是能够方便地分析和理解系统的功能。如果回答是“阅读86万行Java代码后你就理解系统做了些什么了”,我认为这在可分析性的评判标准中评分就不会高。Kyte坚信,人们应该通过代码的工作流程的文档化来提升系统的可分析性。

总之,要获得成功,架构师就应该从以下方面思考并评估其应用系统的产出:年度开销、寿命、功能、敏捷、移植性、使用性、可靠性、和建设成本。

Kyte推荐的最佳实践是关注细节,并将它贯彻到应用开发的各个阶段(包括外包管理)和治理流程。

参考资源: 幻灯片 (PDF).

查看英文原文:Gartner: Best and Worst EA and Application Architecture Practices

 

你可能感兴趣的:(Gartner探讨最佳与最坏的EA和应用架构实践)