关于技术评审的个人思考

为什么会需要技术评审
  这个问题也可以换个问法,如果没有技术评审,可能会发生什么事。在项目过程中,大家可能会遇到在项目后半段,测试和验收人员发现某些功能无法满足需求,经过审查后,发现不是简单的修改代码可以解决,少则需要修改代码的实现方式,多则可能会需要换架构、组件等。一旦发生这种现象,又另外增加了不少工作量。此时反思在项目开始的时候,这些问题是否是可以被提前发现或者提前预备的?如果可以,那么在开发过程中,就可以明确的使用更优的实现方式,从而尽可能多的减少在项目后期的用于修复和优化的工作量。

如何做技术评审
  不能明确用于开发指导的技术评审都是耍流氓。要明确用于技术指导,则要明确技术评审的输出项。
  个人理解,技术评审输出项需要包含以下部分:
  1) 技术选型:针对需求,明确前端框架、后端框架、消息中间件、数据库等。在此,需要在每个领域有经验的工程师给出选取的理由。
  2) 架构:选取了多个技术组件后,组件和组件之间如何连通。
  3) 技术模块划分:到这里就已经是在除了组件之外,对需要自己开发的部分,从技术通用性、拓展性、性能等方面考虑,划分技术模块。开发人员结合需求,映射到技术模块,进行开发。
  4) 技术难点预知:每个模块中,明确存在的技术难点,并确定解决方案。
  5) 性能瓶颈预知:每个模块中,明确可能存在性能瓶颈的地方,并确定应对措施。
  6) 与上下游系统的交互:明确该项目的系统,是独立系统,还是处于大流程中的某个位置。如果是后者,就需要明确如何更上下游进行交互,如果需要上下游配合修改的,及时通知上下游。
  7) 模块部署方案:根据每个模块在实际场景中的业务特点,比如并发情况、计算速度需求等,安排每个模块如何进行部署。例如单机还是多机。

你可能感兴趣的:(项目)