首先在项目开发模式的选择上毋庸置疑是当下基于Scrum方法论的敏捷模式。(纯属自己YY的...........)
1.确定项目的角色划分
基于Scrum指南,在Scrum团队里面模糊了角色的概念,统一角色为软件研发人员。一般可以将团队规模可以将团队划分为2个Scrum开发团队。1个产品负责人和1个ScrumMaster(可兼做敏捷教练),而且在项目的前期资深研发和初级研发比例建议为理想的 1:1。
角色 | 数量 | 职责 |
ScrumMaster | 1 | |
产品负责人 | 1 | |
资深开发 | 4 | web,安卓,IOS,后端,CI/CD,DevOps |
初级开发 | 4 | web,安卓,IOS,后端,CI/CD,DevOps |
2.确定项目的研发环境
2.1. 会议沟通工具
1 会议工具 Slack, 钉钉, Teams, Skype 2 看板工具 JIRA, Trello, ZenHub
2.2. 开发工具
Vscode, JetBrains(支持正版,支持别人成果)
2.3. Git Branch规范
https://georgestocker.com/2020/03/04/please-stop-recommending-git-flow/ https://nvie.com/posts/a-successful-git-branching-model/
2.4. CI/CD工具
在DevOps领域比较靠前的企业推荐两个:
Jfrog 杰娃科技(https://jfrog.com/)
ATLASSIAN(https://www.atlassian.com/zh)
2.4.1 CI/CD
Jenkins, BitBucket, Nexus Repository, Jfrog Artifactory, Docker, K8s, Openshift
Jfrog Artifactory 和 Nexus Repository对比(https://zhuanlan.zhihu.com/p/70970493)
2.4.2 代码质量
2.4.2.1 统一的代码格式
google format , Alibaba 代码规范
2.4.2.2 测试覆盖率
jacoco插件
2.4.2.3 代码缺陷扫描
1.Sonarque 代码规范 2.Blockduck lisence安全问题 version版本问题 3.Coverity 代码安全问题
2.5. 开发环境的划分和Support规范
划分为SIT/UAT/PROD/DR四类环境
针对不同的区分Support规范
包括Case级别的划分
Leave 4 --> 1m
Leave 3 --> 1w
Leave 2 --> 8h
Leave 1 --> 2h
2.6. 内部的WIKI
Confluence维护内部wiki
3. 项目的技术选型
没有具体的技术栈要求,总之不能脱离团队技术能力和业务需求去YY技术架构
4. 项目的敏捷落地流程
1.确定Scrum冲刺周期,一般也半个月为一个冲刺 2.规定上下般时间,朝9晚6,不允许加班(自己YY的......) 3.确定固定的会议 3.1 每日例会,控制在15分钟内 3.2 Sprint 计划会议 3.3 Sprint review会议 3.4 Sprint reteo会议
最后附一个2020年度全球的独角兽的排行,建议小伙伴们去独角兽公司多折腾折腾。2020年全球独角兽TOP100榜单(https://1.d1.net.cn/6324.html)