需求存在,功能存在——Alpha阶段性总结
0.Alpha开发成果
1.任务划分
Alpha阶段大致将任务划分为Design,Develop和Test三类
Design型任务包含页面UI设计和接口API设计
Develop型任务包含前端开发任务和后端开发任务,前端开发任务以页面为单元按具体功能进行细分,比如注册登录页面按具体功能细分为邮箱注册功能实现,邮箱账号密码登录功能实现,小程序微信登录功能实现;后端开发任务对应前端具体功能,比如注册登陆页面具体功能对应的后端开发任务依次为完成登录注册验证相关的逻辑,完成个人信息相关内容的存储逻辑等。
Test型任务包含单元测试、前后端连接测试等
Develop型和Test型部分任务划分粒度较大,比如完成题目相关的存储逻辑,alpha阶段相关功能单元测试等
在Beta阶段中将着重注意划分任务的粒度,使其更加合理有意义
2.项目质量
Alpha阶段开发过程中并未强调同步进行单元测试,在项目进度稳定后才开始进行单元测试,当时的主要的顾虑是单元测试会一定程度上影响项目进度的推进,不过后续修复bug的部分经历表明如果在开发的同时进行单元测试,可以有效避免部分bug的出现,与HansBug的沟通过程中,也意识到单元测试对项目稳步推进的重要性
HansBug: 单元测试是一层一层,一个函数一个函数,一个模块一个模块,垒起来的,写一块就写上对应的单元测试,确保你写过的地方没有啥大问题,确保你每一步迈出去都是稳得
老师的两篇博客为什么软件工程教科书上的内容和现实的软件项目之间存在着一定差异?,从两周发布上线到一周发布上线,如何做到高效稳定?同样具有一定的启发性
在Beta阶段中将进一步平衡项目质量和项目进度之间的关系
3.竞品与自身
已知存在竞品同步开发的情况下,团队自身应当保持怎样的开发心态?
3.1 先保证产品自身的质量,再去和竞品做比较
防止在与竞品的比较中迷失自我的最好方式就是优先保证产品自身的质量
那么如果不和竞品做比较,如何衡量自身产品的质量高低呢?即如何保证自身的质量呢?至少需要如下六步
- 充分进行需求分析
- 用心打磨原型设计
- 明确定义接口说明
- 合理推进开发进度
- 全面开展项目测试
- 及时收集用户反馈
即明确一点:我们在为需求用户开发软件,保证产品自身的质量是提升用户体验的唯一密钥
3.2 需求存在,功能存在
功能永远以需求为导向,产品的价值取决于满足多少需求,而非拥有多少功能
换言之,如果需求存在,那么产品需要存在功能与之对应
如果在与竞品的比较中,发现了与自身产品的功能差异,那么需要做的是对差异功能的评估:
- 差异功能是否对应一份自身需求分析中的一份需求,如果是,差异功能的开发优先级设置为高于现有任务的开发优先级;
- 如果不是,开发优先级设置为低于现有任务的开发优先级,待竞品发布后,进一步调研使用者对差异功能的评价:
- 如果评价较低,认为十分冗余或鸡肋,则彻底将差异功能的开发计划从团队开发计划中去除;
- 反之,则反思需求分析的不足,进一步进行需求分析,同时将差异功能的开发优先级设置为高于现有任务的开发优先级,优先开发差异功能