互联网技术部门该如何管理
一、敏捷开发
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.项目负责人应该针对开发人员对项目重构、技术优化给予时间及资源上的支持,鼓励开发人员积极主动优化代码。