Scrum开发会有PO、Scrum Master和开发团队三个角色,那么开发企业架构又是由哪些角色组成的呢?每种角色又需要什么技能才能够承担架构的工作呢?本篇介绍一下在架构开发中角色和技能要求,以便大家在实施TOGAF时知道谁来做,需要具备或提高哪些技能。
软件开发管理就比较复杂,架构开发管理就更复杂了,由于还没有具体实践过,暂时还没有这些内容的深入了解和细化,以下介绍大部分来自于TOGAF的架构能力框架。
在中介绍了一下企业架构师角色。
企业架构师是思想带头人、幻想家和行业专家。在大多数公司里,这是个新的角色,它将项目经理、解决方案架构师和业务分析人员的技能与执行的直觉联合起来。
许多 IT架构师视角的普遍局限是他们是成熟的程序设计人员,并且目光易于局限于内部。虽然,这不完全是架构并设计“全局性”解决方案的障碍,但是,它是“构架”企业环境中不那么理想的特征。企业架构师可能更加外向,并且善于利用专业的、工作的,甚至与业务所有者、业务领导、同事和客户之间的关系来说明、从架构地角度描述,并且帮助执行企业远景。
企业架构师的职责常常与城市规划者对比,而建筑架构师的职责更容易与 IT 架构师角色联系起来。建筑架构师强调其推理的技能,而企业架构师角色常常强调类似于侦探的感应技能。
然而,高层次的企业架构师视角不意味着该角色脱离用户群体。反之,企业架构师必须帮助客户了解他们真正的需求,并且在解决方案的实现过程中与客户合作。与此同时,企业架构师必须能够在直接参与实现的实践方面之前的抽象层次上观察他或她的领域。如 IBM 的 David Jackson所认为的,企业架构师应该“能够了解业务问题及业务领域,并且向技术人员说明,还能够了解技术领域并向业务人员说明技术可能性”。
很重要的是,企业架构师扮演架构治理(常常在分类的业务和技术角色之间共享的功能,或者更糟,仅仅被忽略)中的关键角色。架构治理是为所有企业和项目架构活动提供环境和框架的粘合剂。
TOGAF Roles
- 架构委员会(Architecture Board Members):我感觉类似与IPD的IPMT,由总监级或资深产品专家组成,属于管理决策层,最好是4-5个固定成员。
- 架构发起人(Architecture Sponsor)
- 架构经理(Architecture Manager)
- 企业架构师(Enterprise Architecture)
- 业务架构(Business Architecture)
- 数据架构(Data Architecture)
- 应用架构(Application Architecture)
- 技术架构(Technology Architecture)
- 程序员或项目经理(Program and/or Project Managers)
- IT设计师(IT Designer)
- 其它(And many others)
技能分类
- 通用技能(Generic Skills): 领导力、团队协作、人际关系等
- 业务技能和方法(Business Skills & Methods): 业务案例、业务流程、策略计划等
- 企业架构技能(Enterprise Architecture Skills): 建模、构建块涉及、应用和角色设计、系统集成等
- 程序和项目管理技能(Program or Project Management Skills): 管理业务变更、项目管理方法和工具等
- IT通用知识(IT General Knowledge Skills): brokering applications, asset management, migration planning, SLAs, etc.
- IT技术(Technical IT Skills): 软件工程、安全、数据交互、数据管理等
- 法律知识(Legal Environment): data protection laws,contract law procurement law, fraud, etc.
掌握级别(Proficiency Levels)
每种角色对各种技能的要求是不一样的,为了各自的掌握程度,定义了四种级别:不要求、了解、熟悉、精通
角色和技能定义
- 通用技能(Generic Skills)
- 业务技能和方法(Business Skills & Methods)
- 企业架构技能(Enterprise Architecture Skills)
- IT通用知识(IT General Knowledge Skills)
- IT技术(Technical IT Skills)
- 法律知识(Legal Environment)
通用角色(Generic Role)
架构师的角色能够汇总如下:
- 明白和解释需求(Understand and interpret requirements): 参考我的BABOK系列blog
- 生成有用的模型(Create a useful model)
- 验证、提炼和扩充模型(Validate, refine, and expand the model)
- 管理架构(Manage the architecture): 在架构开发期间,持续沟通共享架构,并不断完善架构
企业架构师主要特点(Key Characteristics of an Enterprise Architect)
- 技能面广,并且对一两个领域深入(Extensive Technical Breadth, with Technical Depth in One or a Few Disciplines) An enterprise architect should possess an extensive technical breadth through experience in the IT industry. This breadth shouldbe in areas of application development and deployment, and in the areas of creation and maintenance of the infrastructure to support the complex application environment. Current IT environments are heterogeneous by nature, and the experienced enterprise architect will have skills across multiple platforms, including distributed systems and traditional mainframe environments.Enterprise architects will have, as a result of their careers, skills in at least one discipline that is considered to be at the level of a subject matter expert.
- 方法驱动(Method-Driven Approach to Execution) Enterprise architects approach their job through the consistent use of recognized design methods such as the TOGAF ArchitectureDevelopment Method (ADM). Enterprise architects should have working knowledge of more than one design method and be comfortable deploying parts of methods appropriate to the situation in which they are working working. This should be seen in the body ofdesign work the enterprise architect has produced through repeated successful use of more than one design method. Proficiency in methodology use is in knowing what parts of methods to use in a given situation, and what methods not to use.
- 项目全开发过程的经验(Full Project Scope Experience) While enterprise architects are responsible for design and hand-off of the project to implementors, it is vital that they have experience with all aspects of a project from design through development, testing, implementation, and production. This scope of experience will serve to keep enterprise architects grounded in the notion of fitness-for-purpose and the practical nature of system implementation. The impact of full project scope experience should lead the enterprise architect to make better designdecisions, and better inform the trade-offs made in those decisions.
- 领导力(Leadership) Communication and team building are key to the successful role of the enterprise architect. The mix of good technical skill andthe ability to lead are crucial to the job. The enterprise architect should be viewed as a leader in the enterprise by the ITorganization, the clients they serve, and management.
- 个人和专业技能(Personal and Professional Skills) The enterprise architect must have strong communications and relationship skills. A major task of the enterprise architect is to communicate complex technical information to all stakeholders of the project, including those who do not have a technical background. Strong negotiation and problem-solving skills are also required. The enterprise architect must work with the projectmanagement team to make decisions in a timely manner to keep projects on track.
- 一个或多个行业经验(Skills and Experience in One or More Industries) Industry skill and experience will make the task of gathering requirements and deciding priorities easier and more effective for the enterprise architect. Enterprise architects must understand the business processes of the enterprise in which they work, and how those processes work with other peer enterprises in the industry. They should also be able to spot key trends and correctflawed processes, giving the IT organization the capability to lead the enterprise, not just respond to requests. The mission ofthe enterprise architect is strategic technical leadership.
通过上面的技能要求能看出来,架构师就是架构师,要求就是高。一个公司牛人就不多,牛的架构师就更不多了,又要让大家在一起做一个统一的架构,怪不得企业架构难做啊,继续努力......
其他
本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/518630,如需转载请自行联系原作者