作为系统架构师应聘到现在的公司,对公司的项目情况经过一段时间的学习了解后,发现每个项目基本上都是自己有一套架构,相互之前基本上没有技术共享,主要表现在:
1.技术路线复杂,每个项目经理按照个人希望选择不同的开发工具和技术路线。
2.没有统一的技术架构,造成项目的开发周期中需要对技术进行研究。
3. 公司项目现在没有统一的基础架构模块,比如用户管理,工作流,文件服务等都是在项目内部独立开发完成,造成功能重叠,资源浪费。维护压力也很大。
4. 从资源利用上来说,项目之间的人员调动,除了业务熟练程度之外,还存在技术沟通障碍的问题。
不管公司政策如何,以后如何发展,从个人角度来说,个人希望公司能够按照路线进行发展:
1.从公司的角度来,选择统一技术路线,确保相似的系统一定要使用同样的技术路线。
2.从公司的角度组建公司框架(当然根据公司业务需求,可能不止一套架构),形成公司级的框架。
这样做有利于:
a.形成公司内部技术资源的重复利用,有利于人力资源的高效利用。
b.让公司的开发人员注重客户业务,不再花大量的时间来研究技术。
c.在框架中形成统一的公司风格,有利于给公司树立正面形象。
d.有利于公司不同系统之间的信息传递。
PS:
真正实施的过程中,可以按照先改造新系统,再考虑旧系统,先考虑边缘系统,再考虑核心系统的策略来运行。
3.对整个公司的业务进行梳理,抽取公共模块,重复利用,并结合SOA思路,将公司零散的产品形成统一的产品线。
这样做有利于:
a.有利于形成行业解决方案,提高公司的整体竞争力。
b.抽取公共模块,在不同的系统中重复利用,提高产品的开发周期,不必每个系统都开发,也减少后续的维护压力。比如:用户权限,短信服务等等。
c.有利于形成行业标准,优化业务流程,提升客户的工作效率。
4.如果业务发展充分,可以考虑引入云计算思路,形成云计算解决方案,将整套解决方案部署到云中,出售服务,进一步提升公司业务价值。
当然上面的整个流程都是个人臆想,空中楼阁,纸上谈兵,是一种美好的幻想,真正实施时还需要考虑:
1.要在人手有限的情况下,满足用户现有的使用要求后,是否有人手对现有系统进行改造。
2.在有新项目时,要能够在尽可能短的时间内实现项目上线,新架构是否能满足要求。
3.项目组成员对新技术的接受程度。
4.领导对整个思路的认同和推动。
5.其他未知的原因。
“谋事在人,成事在天”,实际工作不是简单的说一说,想一想就能成功,要根据每个公司的实际情况,制定更符合公司的策略。
个人也只是整理一下自己的思路,算是开拓思路吧。