圆桌会议“ IT项目建筑师”,2018年9月

9月5日,莫斯科在HSE主持了圆桌会议“ IT项目架构师”。 圆桌会议的组织者Maxim Smirnov是有关建筑Facebook频道博客

举行这样的活动我感到非常高兴。 成为一个很棒的建筑师曾经是,而且仍然是我的梦想。 很长一段时间以来,我都不了解建筑师的总体能力,如何发展以及如何选择方向以引导他们发展建筑,而且,我认为,这样的问题不仅对我来说是个问题。 很高兴能有一个社区,您可以来问建筑师问题。

在圆桌会议上,提出了15至20分钟的4份报告,随后听众提出了问题并进行了讨论。

报告简明扼要,讨论非常活跃和广泛。



此外,我在报告中的笔记。

报告1
从零开始的项目中决策架构师的关键技能


根纳季·克鲁格洛夫(Gennady Kruglov)
CTN认证SOA架构师

作为演示的一部分,涉及了架构过程的主要阶段:

  1. 业务参与。
  2. 敬业的工程师。
  3. 原型制作。
  4. 体系结构样式和技术堆栈(微服务,整体式,SOA)的选择。
  5. 开发架构草案。
  6. 向客户演示。
  7. 解决方案设计。
  8. 记录拱门解决方案。
  9. 建筑监督。

表现亮点:

建议制作一个原型以展示给企业。 在可能的情况下,选择一种体系结构样式时有必要让不同的方面参与进来-开发人员,安全性,操作。 设计草图时,您需要制作架构的不同部分-业务,技术,安全性。

如果可能的话,有必要吸引那些将直接使用系统这一部分工作的人员。

与有关方面讨论后,演示了原型。 如果项目开始,则将对体系结构的每个级别进行更详细的研究。
在开发过程中,必须与架构师进行同步,以验证过程是否遵循所选的路径。

发言人认为,建筑师需要的技能:

  • 沟通技巧(说服,谈判)
  • 简报
  • 头脑风暴和研讨会
  • 建筑风格知识
  • 现代技术的广阔视野(了解优势和劣势很重要)
  • 设计与应用技巧
  • 使用不同框架,产品和编程语言的开发技能
  • 决策文档框架知识
  • 了解SDLC的不同类型(系统开发生命周期)
  • 广泛的专业联系网络
  • 管理开发团队的技能

报告2
IT项目的架构支持


德米特里·罗曼诺夫(Dmitry Romanov),ITSK

设计IT解决方案,项目的架构支持,每年大约80个项目,大约50位建筑师参与其中。

首席IT架构师的服务确定了IT领域的技术政策,该政策由IT项目架构师实施。 在回答建筑师通常会收集必要专业知识的问题时,Dmitry指出了以下来源:

  1. 经验-创建类似的系统
  2. 同事-公司内部或其他公司中的某人
  3. 供应商-与开发商协商
  4. 专题论坛
  5. Technopark-基于Technopark的认可或沙盒

考虑到需要在ITSK中担任架构师的角色,德米特里(Dmitry)指出,需要一个IT项目的架构师,这样一来,例如,在任何情况下,项目都不会完成一年,然后他们工作了六个月就意识到没有规模,然后重做了两年。 清楚的理解对于可以实现所建议的体系结构很重要。 根据项目管理方法,在ITSK中,架构师要么进入团队(如果敏捷),要么进入项目专家组。

报告3
组织的IT项目中的体系结构:主要重点


莫斯科信息技术部Ivan Lukyanov,产品“国家服务和MFC”

演讲者的专业传记:Diasoft的开发人员,BSC Praha的开发团队负责人,Neoflex的首席顾问,Alfa Bank的体系结构和战略部主管,DIT的体系结构主管。
Ivan建议从描述现有体系结构(按现状)开始,创建目标体系结构(要成为),并分析“组织现在所在的位置”和“组织想要去的位置”之间的区别,以描述使系统达到目标状态的步骤。
架构中IT项目的主要重点是:

  • 关于要解决的业务问题的说明:架构师必须确保业务任务正确摆放,并以适合设计的形式进行描述,并由负责业务的人员同意
  • 方式愿景:在组织架构师的努力下,应针对业务的特定需求开发组织的目标体系结构。 应该将目标体系结构分解为具体步骤(项目)以实现它。
  • 设计:所有解决方案的设计均考虑到已开发的目标体系结构。 目标体系结构在项目之间逐步实现。 架构师批准有关架构的决定。
  • 项目实施过程:组织应具有一个过程,其中包括对业务任务的分析和描述,目标体系结构的开发和设计过程(开发和运营未包括在报告中)。 该过程应得到所有参与方的同意,并得到管理层的支持。
  • 对项目实施过程的方法学支持:经常是建筑师成为了人物,肩负着开发组织中实施IT项目的方法论的责任,同时考虑了业务任务和设计的制定。 作为这项工作的一部分,可以对组织中实施IT项目的现有流程(如果以前有过)进行调整,或者从头开始创建新流程(如果不存在)。 方法论工作的结果是描述的过程和支持文件,以模板的形式形式化。

该公司现在已经开发了自己的方法,包括用于文档工作的模板。 使用了TOGAF和Gartner的原理。

批准了架构原则,并开发了“建筑和技术解决方案”文档,其中描述了解决方案的业务需求以及实施这些解决方案的项目。

架构师的特点:

  • 社交性。 与管理层,绩效人员,支持人员,经理和测试人员的沟通非常重要。 架构师必须扮演翻译的角色-从业务语言翻译为技术语言,反之亦然。
  • 前提条件是开发人员的经验(当然,如果是分析的话)。
  • 尊重同事。
  • 不断发展。

建筑不是用花岗岩铸成的一成不变的纪念碑,而是从业务支持角度对我们想要实现的目标的生动,不断发展的看法。

报告4
IT项目架构师:可能的观点之一


Evgeny Aslamov Aslamov,Lanit集团公司首席架构师。

尤金(Eugene)担任架构师的道路:开发人员,分析师,项目经理。 在短篇小说中,作者提出了几个与建筑师在定制开发中的角色有关的问题:他周围的事物,他的工作以及他的工作方式。

在尤金看来,谈到定制开发中的架构师时,我们取决于各种因素-时间,预算,团队,复杂性和任务量。 通常,在复杂的项目(数千个用户方案,与数十个系统的集成,大数据量,对高可用性和灾难恢复的严格要求)中,架构任务由一组架构师完成。 在更普通的项目中,一个人可以应对这些任务,而架构师并不总是专注于这些任务-他的角色可以与其他角色-首席开发人员或分析师结合在一起。

像任何团队成员一样,架构师在特定的环境中工作。 这种情况的一个概述:

顾客

  • 负责项目的客户提供的最高(无论如何,对于关键决策而言足够高)管理;
  • 客户委员会(建筑,设计,运营等-经常发生);
  • 信息安全专家服务或部门;
  • 需要系统“刻录”项目的客户员工;
  • 现实-相当平庸的惯例,人为因素,程序问题,细微分歧等;

团队

  • 管理人员
  • 分析师
  • 发展
  • 开发运维
  • 优质的服务;

合同

  • 截止日期;
  • 预算
  • 法律报价;
  • 我真正想应用的新技术,方法,芯片;
  • 传统:它行之有效,是件好事,一切对我们都很好-改变什么等等。

作为上下文的一部分,一个建筑师或一组建筑师将执行以下操作:

  • 它构成了项目开发和生存团队的边界。 首先,我们正在谈论由非功能性需求引起的边界。
  • 考虑主要利益相关者的意见,形成,支持和更新体系结构解决方案。
  • 担任口译员-从技术翻译成俄语,反之亦然。 对于客户和团队都是实际的。 架构师必须了解项目的所有方面(以及领先的分析师和项目经理),并能够解释他们与技术部分的关系。
  • 提出很多不愉快的问题。 碰巧的是,某些决策是在团队中一个或另一个成员没有参与的情况下做出的。 这很正常。 如果已经完成某件事并且正在影响或可能影响系统的体系结构,那么您需要找出原因,弄清楚是否需要立即更改某些东西,为将来提供一些措施,或者可以简单地记录并保留它直到更好的时机。

在回答“他如何做到这一点?”这个问题时,尤金首先谈到了开发建筑解决方案的问题。 确定了有助于完成此任务的几个组件:

  • 经验和类比。 这是建筑师最重要的资产之一。 而且它需要不断增加-不要停滞在一个项目,技术等中。
  • 视野。 您不能使用自己的经验-同事的经验,社区的经验,标准。
  • 原型。 如果使用新的,未经测试的或具有明显风险的产品,则必须进行原型设计。 同时,正确,准确地提出原型必须回答的问题很重要,否则只会使情况恶化。
  • 保护您的决定。 在项目团队之前,在建筑委员会(您或客户的)之前,在您自己面前。 作为解决方案之一,可以引入ATAM-体系结构权衡分析方法 (全部或单个元素)。 例如,在我们的许多项目中,实施决策保护是将关键决策呈现给项目外的同事,以征求其他意见和评论。

与其得出结论,不如说:建筑师以及热爱工作的任何专家的非正式任务之一就是普及知识,技术,方法和技能,这将使团队更有效,更方便地解决项目上的问题。

尤金(Eugene)在habr上的文章“ 我们正在Sparx Enterprise Architect中准备一个项目。 我们的食谱 。“

问与答


接下来是问答部分,最容易记住的部分可以在下面阅读。

建筑师来自哪里?


根纳季:
软件架构师-前团队负责人或那些负责人或首席开发人员。
德米特里:
建筑师来自具有广泛专业知识的顾问开发人员。
开发人员可以讲话并绘制演示文稿-解决方案架构师。
尤金:
通常,从任何部分开始-从开发,测试,项目管理等。 但是无论如何,某些技术专业知识会有所帮助-不必从头开始开发它们。
个人经验的一个例子:Lanit聘请了莫斯科国立大学机械系的一名学生,他是一个聪明,善于交际的无星状疾病的人。 他在分析,开发和与客户的沟通方面做了一些工作。 结果,他成为了我们公司的一名应用架构师。
伊万:
来自开发商。 如果有一个好的开发人员,那么他可以继续钻研编程语言,进行更深入的开发。 但是,如果一次他好奇技术任务是如何诞生的,谁进行分析,由谁来决定是否应该这样做,那么这表明专家已经走上了新手架构师的道路。 好奇心的下一个层次是解决方案在业务层面上是如何诞生的。 您如何向组织负责人表明他需要而又不需要什么。 在描述建筑师的角色时, Gregor Hohpe使用了电梯隐喻 。 电梯停靠的每个楼层在组织中都是某个级别的:第一层-机房-这些是开发人员,生产人员; 顶层-组织管理。 使建筑栩栩如生,建筑师在每一层(从第一层到最后一层)进行交流,并且他必须在每一层应对各种困难-技术,政治,沟通。

架构师能够收集必要的信息并传达到每个级别。 实际上,他是有关各方之间的调解人。

项目经理和架构师之间应如何共享权限?


权限之间必须保持平衡。 架构师的权限在技术部分,项目经理在组织部分。

如果余额转移到了RP,您可以按时完成项目,但无法正常工作或无法扩展。 而且,如果对建筑师感兴趣,那么在没人需要时,您可以得到一个很棒的项目。 这是如何回答“您爱谁的人更多-妈妈还是爸爸?”的问题。

如何成为拥有大量不同项目的企业架构师?


伊万:
在大型组织中,有超过2,000人组成一个公司架构,几乎不可能遵循它。 在DIT中,将产品(服务)划分为一个部分,每个产品都有自己的技术堆栈,自己的体系结构。 至于公司架构,股东需要更多,以便他们了解组织在架构开发方面的发展方向。 为此,通常在组织中强调首席IT架构师的角色,其主要任务是确定公司体系结构的总体格局。

如何建立项目架构师和公司架构师之间的互动?


沟通很重要。 您需要建立沟通,然后进行沟通。 项目架构师可能不需要了解公司架构,但重要的是要了解集成的对象和影响。 建立建筑委员会很重要,不仅可以知道公司建筑师,而且还可以认识设计建筑师。

您可以从价值的角度看待它-谁带来更多的价值。 如果解决方案有效,那么就有价值。 企业架构本身并没有带来价值,而是通过已经实施特定任务的架构师的解决方案带来价值。

没有人需要通才,对任何事情一无所知的人越来越少。 最好能够回答特定的问题,例如,这里的RabbitMQ是否足够或是否需要Kafka。

企业体系结构存储库如何组织?


是否有可以计算,验证等的复杂模型?

尤金(Eugene):我们有一个体系结构的存储库,但是没有自动化的方法来计算任何指标。 模型与模型本身之间的关系使我们可以将体系结构视为整体,而不是一组图片。 存储库的任务之一是提供影响分析。 在此基础上,您可以估算更改的价值。

后记


您可以来听听建筑师的声音,结识社区,真是太好了。 这样的会议始终是我了解在哪里进行挖掘以找到必要知识的机会。 此外,您可以讨论工作案例并获得建议。

感谢Maxim Smirnov和HSE组织了一次建筑师圆桌会议!
也非常感谢报告的作者(Eugene Aslamov,Gennady Kruglov,Ivan Lukyanov)编写本文的过程 ,因为原始注释是在报告期间撰写的,并且包含错​​误和不正确之处,已得到纠正。

他们说,在照片中, 法国的尚博尔城堡( Chambord Castle),每个主人都在他的塔上建造。 有时,项目的架构看起来就是这样。 在我看来,需要一个建筑师,以便使所有事物都变得美丽且尽可能简单,以便即使拥有一堆风格各异的塔楼,您仍然会得到一座美丽的城堡。

Source: https://habr.com/ru/post/zh-CN432386/


All Articles