每一个软件项目都应有个架构师

软件开发过程一般包括项目管理、技术实现以及组织管理。其中:

  • 项目管理
  • 项目管理的角色一般是项目经理,他负责管理团队、控制规模、组织有限的资源在限定的期限内完成任务。他的关注点是规模。

  • 技术实现
  • 技术实现的角色一般是程序员,他负责把用户的需求编码实现,他的关注点是(实现)细节。

  • 组织管理
  • 组织管理也被称作运营,组织管理的角色是中高层领导,他负责协调规模与细节的冲突,完成项目的目标。他的关注点是(经营)方向。

    从这个图中可以得出以下结论:

  • 项目管理和技术实现就是目标在这两个领域上的投影,只有目标在项目管理和技术实现上的投影正确且匹配时,项目才能最佳推进。
  • 目标越小,项目管理和技术实现的代价越小。
  • 由于组织管理或者说经营的角色的工作中既包括管理也包括技术,其中管理方面的工作包括项目团队内外部关系协调、项目目标的调整等可以移交给项目管理角色去执行,技术方面的工作则包括通过软件架构和框架的设计以使得开发效率提升、软件规模控制,这些工作实际上就是架构师的工作。

    所以,组织视角下的工程视图可以调整为VOE模型(View of Engineering Organization),如下图所示:

    这也就意味着每一个软件项目都应有个架构师。即使是一个简单的软件,不需要专职的高水平的架构师,那也是由负责技术实现的人员兼顾了本该架构师完成的协调规模与细节的任务。

    所以,你的软件项目有架构师吗?或者有人考虑目标、规模和技术的关系吗?

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年1月21日
    下一篇 2022年1月21日

    相关推荐