一、敏捷开发

1.快速开发、快速迭代。

2.组件式开发,避免重复造轮子。

3.制定代码标准。

4.并行开发,高效配合。

5.单元测试必须覆盖所有核心业务。

二、DevOps流程建立起来

1.建立三套环境:测试、SandBox、正式。

2.建立自动化流程:CI/CD。

3.开发人员需全程参与到开发、测试、运维整个流程。

4.建立监控报警、日志收集工具集。

5.快速响应,所有项目成员都参与。

三、代码版本控制及Code Review

1.开发的组件或改动过的第三方SDK都需要加入代码仓库。

2.接口文档、开发文档也要加入版本控制。

3.指定专人或项目负责人对核心代码进行Code Review,同时对代码质量负责。

4.开发分支和主分支必须分开,谨慎建立、合并、删除分支。

四、需求管理

1.产品经理必须当面与所有参与开发的人员沟通需求。

2.开发人员必须吃透需求,任何不清楚的逻辑需主动找产品沟通。

3.需求文档也需要加入版本控制,做到任何变更有记录可查。

4.需求尽量多用原型、流程图表示便于大家理解。

5.项目工期应尊重开发人员意见,特别是新需求。

五、分工管理

1.任务需要根据需求细化,由项目负责人及项目成员共同参与。

2.技术选型、项目架构需要考虑到任务分工里。

3.项目负责人需要对任务排期进行梳理,减少不必要的等待。

4.需求变更需第一时间告知开发人员,开发人员及负责人快速对任务进行调整。

六、过程管理

1.在编码阶段,Code Review 需要每天进行,发现问题及时纠正。

2.编码过程中遇到项目难题及时与同事及项目负责人沟通,共同讨论解决方案。

3.产品经理需要关注项目里程碑,协调开发过程中的资源,保证项目进度。

4.项目负责人需要关注开发过程中的技术难题,协调资源进行攻克。

5.项目上线必须经过测试人员严格测试,测试用例必须覆盖所有需求,功能测试、接口测试、压力测试、并发测试、安全测试都需要严格执行。

6.所有开发人员均需要搭建远程协作工具比如VPN、TeamViewer。

7.开发人员不仅要熟悉自己的代码,还要熟悉项目组成员的代码,避免问题集中到一个人身上。

8.开发人员应有意识地编写代码注释,线上可能出现的问题的处理方式需编写wiki以便其他开发人员理解,项目上线之前至少需要与一位同事交接清楚。

七、结果管理

1.以代码质量作为开发人员的重要指标。

2.减轻加班时长考核比重,避免无效加班以及故意加班。

3.对于线上问题,技术人员需复盘总结,并给出解决方案。

4.开发人员对线上产品形成长效监控机制,定期查看项目日志,关注系统压力,对于项目运行过程暴露出的隐患及时预防。

5.项目负责人应该针对开发人员对项目重构、技术优化给予时间及资源上的支持,鼓励开发人员积极主动优化代码。