系统负责的内容
- 界面开发【显式】
- 模块间数据的传播,或者是模块间调用的方式【隐式】
- 各解决方案的接入(总线)【隐式】
- 版本发布【隐式】
- 更新策略及方案【隐式】
系统的现状
-
需求迭代速度快
- 已有的多个模块需要同时更改部分功能
- 不确定性高,可能后期还会更改
-
模块并行开发
- 常在堆功能阶段,全新模块和旧块迭代并行开发
-
复杂度高
- 涉及所有模块间的相互调用
- 涉及各种解决方案的接入
-
人员变动大
- 系统常误被认为应届就可以满足开发的现状
-
经验相差悬殊
- 门槛低,但是做好对经验要求高
-
过多人插手
- 实现壁垒低,懂一点代码就能说上两句
为了满足需求并且减少上述现状所带来的风险,我们可以得到下面的矩阵
问题\方案 | 系统正交性 | 降低学习成本 | 避险措施 | 合作模式 | 审核机制 | AB角 | 人员培训 | 福利 | 晋升机制 | 话语权 |
---|---|---|---|---|---|---|---|---|---|---|
【技术】需求迭代速度快 | X | X | X | X | ||||||
【技术】模块并行开发 | X | X | ||||||||
【技术】复杂度高 | X | X | X | X | X | X | ||||
【管理】人员变动大 | X | X | X | X | X | X | X | |||
【管理】经验相差悬殊 | X | X | X | X | X | |||||
【管理】过多人插手 | X |
系统正交性
- 分层架构
- AOP编程,底层无模块概念。达到设计上满足但不限于需求的方式。
- 模块跳转统一使用Command的方式
- 模块传参的参数统一使用BsonDocument
- 跨模块调用基于消息机制的传播
降低学习成本
- 降低自定义API的数量
- 使用更符合Unity的规范,如生命周期、操作习惯、命名规范等
- 提供通用的功能性组件
避险措施
- 消息中心可以过滤(屏蔽)、重定向、转发不同渠道。因为模块间的调用都是基于消息模式的设计,所以在消息中心中,让我们的可操作性更高。
合作模式
- 程序与策划人员保持长期稳定的合作方式
- 降低交叉沟通的人次
- 避免出现新人+新人的合作模式,保证老人+新人的合作底线
审核机制
- 有需求分析会议、确定优先级、及执行时的再次审核,减少不合理需求的出现几率
AB角
- 每个岗位都有备选人员
人员培训
- 避免木桶效应,技能有所提升,以达到提高效率的目的
福利
- 让付出与回报成正比,多劳多得
晋升机制
- 明确职业规划,让专业的人更专业
话语权
- 提高对应负责人员话语权,是保证方案能够顺利实施最有效的手段