一次失败的架构评审会议
经过将近三个小时的争论终于草草把会议给开完了。会议的结果完全偏离了既定的目标,一次彻彻底底失败的架构评审会议甚至基本上都不能称作是架构评审会议。除了把现架构方案全部否定之后,会议后期基本上主题也是180度的大转弯。愤怒、无助、苦恼是会议之后给我留下的单纯的感觉。
详细开讲故事之前还得先介绍介绍背景,我们是一家传说中很“大”的集团,其实称不上集团或者说其实连集团也有很多,公司数量以数百计,产业横跨数十个。而传说中很大是因为外界几乎无相关资料,至于公司方面基本上只能介绍这么多了。总之是一家很“大”很复杂的集团,而我们只是里面一个小小的IT部门或者公司啥的。
IT架构设计是从内部发起或者说只是我个人发起的。因为入职公司三年多的时间里感觉公司一直在实施信息化项目,但是信息系统之间几乎是互相隔离也就是所谓的信息孤岛。于是兴高彩烈的准备了一个多月时间钻研各种适合公司的技术、产品开始着手进行IT架构方面的设计。你可能会以为我是个技术高手或者是架构师方面的职务,其实不是,我的正式Title是项目经理,但是你懂得小公司很锻炼人的产品、运维、开发啥的,基本上都干过。当然我直接负责的团队也有一二十号人,在IT部门里面属于一人之下,数十人之上的。所以我觉得我可能有能力去做架构这样的设计。
哦,对了,谈到团队还得特别交待一下,由于公司的战略转型特别的迅速,人员流动特别大,因此使用的技术也是千差万别,从最开始的PHP到JAVA到.NET+Java。所以目前的团队以.NET + Java的为主,少数PHP的系统处于无人照看状态。操作系统从CentOS、Ubuntu、Windows啥的都用。IT部门领导的背景也各不相同从IT大拿到清华高才生再到电商大佬。恩,这是现在这位。也就是我的领导。我也交待一下我是MS背景。
好了,总之是我自己凭着所谓的责任感或者兴趣做了个IT的架构设计。第一版发给我BOSS,他说看看,然后就没有声音了。过了几天一个项目里有问题说是数据与哪个系统,数据来源等问题。说是架构最好尽快确定来来。我想了想这不就是我之前提的方案里提到了吗?里面不是有什么数据中心数据交换平台吗?于是我就主动承担起来了细化这些架构方案的事情。于是过不了多久我就把新一版的架构设计给提交了出来。
提交之后我就跑过来跟我们领导沟通了一下看行不行,不过我们领导很奇怪,总喜欢让我看看这个看看那个,比如说域,领导说LDAP好,因为开源的,数据交换平台领导让我们看看淘宝的消息阶段产品,说是性能很高。我一看需要种种开源产品来支持而且都很难直接拿过来就用。我就很纳闷了,企业环境干嘛老让我们试这试那的,浪费时间也不讨好。所以最好就跟我们领导说:“这样吧,我提出一个方案,我能保证这个方案是完事可行的,但并不一定是最优的,您到时再评估一下。”。我们领导说行。
我又回去加班加夜整理我的方案了,有些关键部分还带演示(可不,看了无数的视频资料,安装了好几台虚拟呢)。很快就又拿出了一个版本并开始召集会议把重要的技术骨干(有我的直接下属也有其他部门的)都给叫上。然后就开始开讲了,基本上我讲的还是比较有层次感的第一层介绍了一下业务架构(需求);第二层谈到了IT基础架构;第三层是统一用户与单点登录;之后是数据中心、数据交换平台、决策分析系统等等。。。
由于我想着这个既然是讨论技术氛围应该热烈点,因此在每一层讲完之后我都会安排讨论的环节。讲第一层的时候几乎都没有意见的主要是也没有业务部门的人或者是大老板之类的,第二层开始就是技术范畴了,先谈谈基础架构,如果IT基础环境没有架构好的话就无从谈上层的架构,讨论的细节就不讲了,我就讲讲我们现在变态的管理吧,就是如果你要给一个用户授权访问某个系统时你需要先上那个系统开设用户名分配角色权限之外竟然还需运维要到VPN设备里添加到相应的用户组这样才能访问。
第三层讲的是统一用户与单点登录,这一层讨论点在到底使用AD还是LDAP。这里我不讨论技术细节,我只想把一段话贴一下:“AD好还是LDAP好?LDAP好!为啥?LDAP是开源的!那你们以前LDAP是怎么用的?其实我没有用过LDAP。那你为啥觉得LDAP好?因为我对开源的熟点”。
第四层讲的就是具体应用层的了基本上我是全套都是微软的产品所以效果显而易见了.NET团队跟JAVA团队还有其他开源背景的闹得不可开交。当然我不是排斥其他厂商的产品出于时间、成本的考虑觉得微软还是比较合适的,当然可能我对其他厂家的产品也不太熟悉有关。
好了,基本上我讲也讲完了,讨论也讨论完了,BOSS开始总结了,先是东提一下问题西提一个顾虑,最后直接就说这个现在不是重点,我想着今年我们应该怎么着怎么着。然后开始拍脑袋的将各个系统的关系讲了一下,把团队的分工又明确了一下,把我手下的人也给瓜分干净。当然还是归我管只是任务他都给定好了。会后又觉得可能我情绪不太好,稍稍留下来语重心长的跟我吐了几句苦水。。。
悲愤交集的我拎起我的电脑包就挤地铁去了。。。
反思回来我觉得有几点是非常重要的:
1. 得到领导的支持很重要!
在公司混了几年也感觉自己有点资历了,也能带一帮兄弟干出点啥动静出来,没想到就算你孙悟空七十二变也跳不出如来佛的手掌心。唯有谨遵佛旨才能修成正果。所以在职场上早请示晚汇报比你做出什么成果更重要。要让领导有一种安全感,即使是2B领导,也总有比你高明的地方。
2. 都说一样的话真是很重要!
一个团队有开源极客、微软粉丝、电商大老来管企业信息化,而且这些都是二三流水平的。平时大家都想安无事,一讨论问题起来各自为阵,激烈讨论草草收场。之前很多公司都规定只招XX学校、证书、语言、技术的以为是歧视,其实只说一种语言在团队合作中太重要了。
3. 95%的事情在会前先解决!
开会只能解决5%的事情,所以不要把所有问题推在会议上来解决。95%的问题请会前解决。
4.会议主持很重要,不要跑题了!
坚持按会议主题来开讲与讨论,偏离主题需要及时刹车,以免大家在过激的讨论氛围下做出错误的决定。
最后,其实我们的IT本就像一个重病的人,我又给下了个猛药,所以注定是失败的