设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的辅助用户在阅读英文文献时记忆生词,提高用户的生词量,减少用户的阅读障碍。定义非常清晰,要有查词,以及对生词的特殊处理。典型用户是用pdf阅读paper或英文读物的有英语查词以及记忆需求的英语爱好者。
2. 是否有充足的时间来做计划?
时间比较紧张,计划不够完善。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
主要通过PM组织队员定期开会,以及组员们私下进行交流。
计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
没有全部做完,变化赶不上计划,理想很丰满,现实很残酷,在开发过程中经常遇到未知因素的干扰,比如UWP这个技术本来就比较新,发展还不够完善,经典开发环境.net下能用的接口现在很多都不能用了。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
有,由于前期调研不够完善,选择了错误的技术方案,走了不少弯路,比如说想要开发UWP的App,但是却没有取词的SDK,所以只能做pdf的app,但是选择了pdf的APP以后,发现Acrobat阅读器没有UWP的,或者foxit有UWP的阅读器,但是不支持plugin,所以最终选择了自己开发一个UWP下的简易版pdf reader,把我们beta release的重心变成了开发pdf 阅读器。TT
3. 是否项目的整个过程都按照计划进行,有什么风险是当时没有估计到的,为什么没有估计到?
项目的整个过程基本都是按照计划进行的,但是也出现了许多波折,比如说由于前期技术调研不足,选择了错误的技术方案,导致走了不少弯路,原因是当时开发经验不足。
资源
1. 我们有足够的资源来完成各项任务么?
有足够的资源,但是选择出了问题。
2. 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
测试时间不足,因为开发后期不少同学回校考试。
3. 你有没有感到你做的事情可以让别人来做(更有效率)?
可以。
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计在前期和后期都用进行,前期主要进行项目技术方案的确定,后期主要进行UI的设计与美化。
2. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
Pdf阅读器部分的Bug最多,以为阅读器是个比较庞大的工程,在短时间内不能做得尽善尽美。发布之后发现生词本显示还有一些问题,当时因为时间有限没有做得很完善。
经验总结
以后做App一定要进行详细的市场和技术调研,选择风险最低的技术方案,项目主要集中解决用户的一个问题就可以了,但是一定要解决得尽量完美。