1、拆解需求
1.1 完善需求原型的所有功能,这是验收的标准,也是迭代的目标;同时探究需求的合理性;让需求原型最后成为团队开发的依据。一个好的需求原型,能过让团队的开发目标明确,进度管控更加清晰;
1.2 团队核心成员,必须对需求原型非常熟悉,而且要能够与现有系统进行无缝衔接;
2、技术设计
2.1 熟练使用画图工具,比如:亿图图示工具。将需求原型转化为业务流程图;以此可以反馈需求原型,确保需求原型能够在业务流程上形成闭环;
2.2 针对业务流程图,逐个解析实现的技术方案,需要哪些服务提供什么接口支撑,详细的展开;可以清晰的呈现本次开发的核心任务;
2.3 分解技术难点,在设计过程中,对系统做局部重构。系统重构不是一次完成的,是开发过程中逐步完善;重复代码要优化,过长的方法要优化,过长的类要优化;将设计模式逐步的引入项目之中;
2.4 性能的关注,项目中尽量少编写sql语句;sql语句是xml文本,不但加载慢,而且出错概率高;出错时,都只能在运行时报错;
2.5 数据库表结构设计:管理并维护好系统的数据库表,不能随意建表,尤其是索引的创建。一个表的索引不得超过6个;否则就会起反作用;
3、代码管理
3.1 遵循阿里规约编写代码,且代码命名要规范。业务逻辑方法、工具方法都要有规范的注释,入参说明;核心的逻辑页需要附上注释;
3.2 代码复用,重复的代码要及时的重构;
3.3 单元测试用例,写好的代码、方法、工具类都需要跑单元测试用例,确保基础功能畅通;
3.4 根据业务流程定义接口,将设计模式逐步的运用到业务逻辑中,提高业务逻辑的可扩展性和稳定性;
3.5 基础错误的规避:比如空指针、集合数组越界、数据类型转换等基础错误;
3.6 防并发、幂等、锁超时、死锁等问题的解决
4、分支管理
4.1 同一个服务可以团队开发;但不可以同一个服务多个分支同时开发;
4.2 团队开发时需要将完好的一个功能点的代码,实时提交git;不可以累积一天的代码量,在下班时统一提交;更不可以当天代码当天不提交;
4.3 合并代码处理异常时,需要密切注意代码冲突的问题;
5、上线管理
5.1 上线分支的代码封版;任何人不得再动;
5.2 数据库脚本、初始化数据、apollo配置等上线前的准备工作;
5.3 测试辅助产品经理完成验收;
5.4 开发分支合并至master分支,发布生产环境;
5.5 执行数据库脚本、发布apollo配置、验证生产环境新发布的功能;
6、团队建设
6.1 组建团队:团队成员相对要固定,才有建设团队文化的前提;
6.2 团队目标:成为技术最好的团队、活下来、集体升职加薪;
6.3 团队文化:能者居之、轻松平等、战功文化、帮扶文化、狼性文化;
6.4 团队执行:
(1)使用OKR工具;
(2)培育土壤,设定规则,解决能不能的问题;
(3)身先士卒;