软件产品案例分析
第一部分 调研,评测
评测:
通过基本的使用,发现了一些优点以及不足的地方。
Android 端
- 第一次下载使用 Android 端的时候出现了网络无法连接的问题,重新安装无效,别人的手机发过来可用的 apk 安装时候成功使用。这也暴漏了一个重要的问题,Android 端在各大应用商店都找不到,只能从官网的入口下载。第一次很难找到。
- Android 端界面很简洁,并且界面清楚,符合大多数人的使用习惯。
- 存在加载慢的问题,每一次点击都会加载很久,体验较差。
Web 端
- 界面较为美观和简洁,网页的交互动画效果较多,页面区域较为清晰
- 功能齐全,各种开发需要用到的常用功能都有并且直观,易于查看和分析。
- 第一次打开之后页面有引导帮助熟悉和使用页面的功能。
- 当切换页面时要加载很久,大概有 1-2 秒,和 Android 端一样。网络和设备性能都没有问题,所以一定是网页的性能问题。只切换一个页面就要加载那么长时间,会影响用户体验,使用中出现一些中断,虽然时间很短,但是思路会中断,影响效率。
存在的 bug
- Android 端输入语音时会将语音保存在本地,比如在意见反馈界面,取消之后语音的文件依然在本地保存,并没有删除掉。这样的话长久以来就会占用越来越多的存储空间,造成无意义的消耗。
- Android 端在发送语音以及图片的界面,长按应该是进入选择删除的界面。但是当长按图片时,不仅会显示气泡右上角的删除按钮,还会打开预览图片的界面,如图:
这样应该是判断响应方式的问题。虽然是很小的错误但是应该是开发的时候没有考虑到,最好纠正一下。
假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)
我认为出现这些 bug 的原因还是测试的不够。开发的时候有很多内容,一下子可能考虑不到,在性能以及一些操控的逻辑方面可能有欠缺。我认为应当在开发的时候多让开发人员以外的人来测试,来避开开发人员的思维定式,发现一些问题。另外性能方面是 Android 端和 Web 端共同存在的问题,我觉得问题应该在服务器,可能是服务器带宽的问题,也可能是性能的问题。
采访:
采访对象背景和需求:
- 福州大学大三学生,正在完成软工实践的团队作业,对团队协作工具有一定的需求,在使用 GitHub。
让采访对象使用华为软件开发云:
采访具体过程:
Q:描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?你在使用的时候有什么体验呢?
A:上手觉得这个软件还勉强算美观,要花点时间才能搞明白怎么使用。
Q:那这个软件解决了你开发中的问题么?
A:使用起来并不方便,还是会使用 Github。
Q:你觉得这个软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验如何?
A:功能较为全面,可以说是保姆级辅助开发,但是杂七杂八的功能过多,反而会觉得累赘。用户体验的话还好,乍一看找不出什么大毛病。
Q:你有什么改进的意见吗?
A:我认为可以把一些核心功能做的完善一些,少修饰那些不怎么用到的功能。
经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:
一般。勉强能用,但是绝对不会有很大的帮助,甚至有时候会成为负担。
第二部分 分析
估计这个项目做到这个程度大约需要多少时间: 如果只有6人,并且是大学毕业生的话,全力做这个项目的话可能需要5-6 个月。
分析这个软件目前的优劣以及提高的部分:
- 优势:
- 这个软件功能全面
- 服务器在国内,访问速度快(同 GitHub 比较)
- 劣势:
- 没有抓住用户需求的痛点。
- 没有方便的插件支持,使用不方便。
所以我认为在使用者常用的功能里面多下点功夫会好一点。
第三部分 建议和规划
-
如果你是项目经理,如何提高从而在竞争中胜出?
这个软件有很多可以提高的部分。首先在交互的体验上可以进行很多优化,包括加载速度,界面的美观性,还有部分控件的一些小问题,都可以进行更正来让开发者获得最佳的体验。另外最重要的还是核心的功能,要多向实际的开发者征集意见,多从实际使用中获得一些反馈,抓住使用者的痛点。目前的项目略有鸡肋的感觉,并不是很需要,很难让团队长久并且稳定的使用。其次要改进部分交互逻辑,有一些功能略显繁杂点进去有些不知所以,并不能起到团队协作的作用。 -
目前市场上有什么样的产品了?
- Github: 目前市场上使用最广范口碑最好的就是 Github 了。Github 使用 Git,有两大功能:开源社交平台和企业项目管理平台。Github 抓住了最核心的功能,这也是 Github 最核心的竞争力,也是 Github 脱颖而出的原因。
-
你要设计什么样的功能?为何要做这个功能,而不是其他功能?
在团队项目中沟通和交流很重要,我希望在在项目中加入更多可视化的交流,比如提供功能树的可视化功能。另外在使用 Github 的时候同步代码很麻烦,我希望做出 Android Studio 和 Visual Studio 上的插件,随时更新同步代码,并且加入方便直观的版本控制功能,让开发者可以在 IDE 中实现大部分操作,不需要分心去其他页面来实现一些操作。我认为这是我最需要的功能,能极大地提高开发效率。 -
为什么用户会用你的产品/功能?
- 首先,功能树可以直观的显示功能的细节、完成程度以及各版本情况,团队成员之间可以更好的根据开发情况进行调整,提高效率。
- IDE 的插件集成在 IDE 中,使用更方便,不会存在团队成员因为麻烦不使用的情况。
-
如果你来领导这个团队,会有什么不一样?
我领导团队的话可能不会容忍那些小问题吧,另外美观的问题要解决一下。
另外有些功能没必要可以砍掉,有些过于累赘了。 -
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
只有 5 个人的话我认为可以分两组,3 人和 2 人,视每组负责部分的工作量来分配。测试的话可以组间互相测试,美工的话每组 1 个人负责就好了,同时兼任开发的角色。人数较少的小组分工太细反而效率会低。 -
描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
周数 | 任务 | 里程碑 |
---|---|---|
1-2 | 用户调研及需求分析等确定功能及分工 | |
3-11 | 进行 α 阶段编程,完成最初版本 | α 阶段 |
12-15 | 在 α 阶段的基础上进行修正和补完,进行 β 阶段编程 | β 阶段 |
16 | 确认项目没有问题,进行最后的修正,测试 | 完成最终版 |