软件产品案例分析
软件产品案例分析
第一部分 调研,评测
评测:
下载并使用,描述最简单直观的个人第一次上手体验。
使用困难,我搞不清楚 https://devcloud.huaweicloud.com/home 和 https://console.huaweicloud.com/devcloud 的区别,前者的入口又几乎不可见,在「华为云」上找了半天发现这上面的「软件开发云」不是需要的那个东西。
功能基本可用,是各种软件和服务的大杂烩,例如 teambition、Github 等。有自己的一些亮点和缺点,但大而杂,学习曲线长而陡,新手要么啃一个又一个视频教程,要么看几十面的 PDF 教程才有办法弄清楚和用好整个系统,似乎缺少一个可索引的友好的文档网站(或者我没看到/华为云没向我推荐)。
按照描述的 bug 定义,找出几个功能性的比较严重的 bug。至少两个。用专业的语言描述(每个 bug 不少于 40 字),如有必要,可以配图.
bug(feature?)和体验不好的地方实在太多,我只截图和列出以下的部分,按体验先后顺序排序。
注册过程:
注册密码最大长度过小,对于使用密码软件自动生成密码的用户来说是灾难;
特殊字符是什么???;
限制太低,「a12345」这种简单密码也可以作为一个极高安全要求的企业用户的密码。
导航栏图标和按钮不平齐,可能是整个图片放上去,没有考虑 padding。另外找不到任何方式把需要的服务放进「收藏」中:
web 领取新用户礼包时,新建项目后各个弹窗都不自动关闭和跳转:
软件开发云首页 iframe.js 无法加载,服务器 503 错误:
进入某项目直接导致浏览器卡死并报 Crash:
关闭卡死标签后重新进入,依旧 js 503 和大量 warning,似乎是 js 运行时间太久了:
各处的输入框输入内容限制较大,别家 emoji 都可以到处使用,而这里不支持αβ这些字母和更多特殊字符:
添加工作项中,我不明白优先级和重要程度有什么需要区分的,难道非常重要的工作项可能优先级很低?:
添加工作项完成后花了大概2秒才加载出来。
软件各处大量按钮只是图标,鼠标放上去也没有提醒,看不懂的话只能猜功能,然后谨慎地不敢按:
创建词条按钮无效,无任何提示(简单而黑盒的 bug,完全无法用到专业语言的 40 个字描述):
代码仓库中自动创建的 license 不自动填充 year 和 fullname,这将需要二次 commit,而 Github 是支持的:
不明白这个表格把文件列完后在下面显示一行项目名的用意:
仅测试模块有新手引导,而其他功能模块没有,体验不统一:
你觉得为什么这个产品组的人没有发现这些 bug?
可能的原因有:
- 需求分析不够明了;
- 开发随意;
- 缺乏测试;
- 缺乏反馈渠道;
- 开发周期短;
- 开发流程不细致有条理;
假设你们团队需要开发这套系统,需要注意哪些方面 (架构、部署运维、微服务等)。
- 确定需求需要经过缜密分析;
- 专门的架构设计人员,进行大量调研和评估;
- 部署需要熟练准确,操作无误;
- 24小时多地灾备,出现问题实时热切换;
- 开发人员需要考虑的不仅是可用,还应好用,例如 js 运行时间要短,防止浏览器可能的 Crash……;
采访:
1.介绍采访对象的背景和需求(他们有没有用过这个 APP 或类似的 APP,除了现有的功能还有别的需求么)
背景:舍友。
需求:Github、Linux 环境的开发和编程等。
是否使用过或类似产品:否。
除了现有的功能还有别的需求:方便的 Linux 环境模拟测试。
2.让采访对象使用华为软件开发云(请上传照片证明用户的确正在使用,远程采访的同学请让别人帮忙照相)
3.描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量 / 界面 / 功能 / 准确度上各有什么优缺点?用户体验方面有问题么?
用户的问题解决了么:没有。
软件在数据量 / 界面 / 功能 / 准确度上各有什么优缺点:
- 数据量较为丰富,但不清楚哪些数据对自己有用;
- 界面偏向现代化,不会用得很不舒服,但存在卡顿;
- 功能较为完善,但有的用不到,有的不会用,不能隐藏不需要的功能/快速获取帮助;
- 准确度无评价;
用户体验方面有问题么:
- 学习曲线陡峭,短时间没办法掌握并精通;
- 存在卡顿问题;
4.用户对产品有什么改进意见?
- 稳定高效是这类软件的第一要求,而不是功能多寡;
- 入口实在难找,除了搜索引擎和书签或者背下来,没什么好办法了;
5.结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价, 请选择一个结论:
- 不推荐
第二部分 分析
使用此软件的大部分功能,联系第二部分的分析,估计这个项目做到这个程度大约需要多少时间(团队人数 6 人左右,计算机大学毕业生,并有专业 UI 支持)。 分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。
大约需要时间:六个月
优:
- 中文化;
- 免费;
- 功能丰富且集中;
劣:
- 国际化不够;
- 不稳定;
- 用户体验不够好;
- 对新手不够友好;
- 功能间联系不够紧密;
- 功能还不够精细;
建议:
增派测试和维护人员,把系统的稳定性和可用性提高一个等级。例如进行整体的代码评估,进行全面的测试,并修复现有的 bug,提升用户体验。
根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;
数字为重要度,饼状图为完成度:
针对不同的维度评分,对用户体验方面、UI 界面美观度、核心功能,分别打分。
满分100分。
用户体验:55。
UI 界面美观度:72。
核心功能:75。
第三部分 建议和规划
如果你是项目经理,如何提高从而在竞争中胜出?
需求分析:深度挖掘用户需求,形成易用友好的功能分布;
开发把控:合理安排各个开发职位,努力做到相比竞品开发得又快又好;
注重用户反馈:建立丰富的反馈渠道,及时修复用户关心的问题,增加期待的功能;
加强推广:没有用户的产品再好也只能死在沙滩上;
目前市场上有什么样的产品了?
禅道项目管理软件、TeamLab、ProjectForge、Redmine、IBM Rational 等。
你要设计什么样的功能?
一体化开发体验:
- 开发者的高性能开发虚拟机/webIDE
- 团队、任务管理与协作
- 内部文档和用户文档管理
- 代码托管,Git 系统
- 多角度多环境测试
- 多语言编译
- 虚拟和真实环境部署
- 服务器管理
- 用户反馈收集渠道
为何要做这个功能,而不是其他功能?
这些功能组成了开发者的「一体化开发体验」,其他功能是冗余。
为什么用户会用你的产品 / 功能?
集中高效的开发体验,不需要到处注册,到处有一个「团队」,按整个流程开发下来十分愉悦。
你的创新在哪里?可以用 NABCD 分析。
Need:开发工具和技术多、复杂、不统一,各家有各自的标准和文档,体验良莠不齐,需要一站式开发,提高效率。
Approach:web 端全功能和移动端部分功能相结合的方式。
Benefit:统一的开发体验,没有那么多的账号和各种问题,完善的团队管理,从需求撰写、代码产生到用户反馈一路包办。
Competition:竞品只有上述部分的功能,或者界面不够精美、不够易用。
Delivery:各大热门开发者论坛宣传,用户口碑推广等。
如果你来领导这个团队,会有什么不一样?
- 监督机制完善;
- 质量把控严格;
- 团队高效、凝聚力强;
如果你的团队有 5 个人, 4 个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
一个开发、一个开发/架构设计、一个开发/部署/维护、一个开发/测试、一个美工。
描述你的团队在 16 周期间每周都要做什么,才能在第 16 周如期发布软件,大小里程碑绩点设定。
周 | 事项 |
---|---|
1 | 需求分析、架构设计、编写文档 |
2-3 | 开发虚拟机/webIDE 开发 |
3-4 | 团队、任务管理与协作开发 |
5-6 | 代码托管,Git 系统开发 |
7-8 | 测试功能开发 |
8-9 | 多语言编译功能开发 |
10 | 部署功能开发 |
11 | 服务器管理功能开发 |
12 | 用户反馈收集功能开发 |
13 | 开发收尾工作,部署项目 |
14-15 | 内测,听取意见,修正 |
16 | 最后完整测试与修正,宣传与发布 |
分析 16 周后你所完成的项目上线需要哪些配套设备 (服务器、带宽、数据库需求数量与配置) 。
应用服务器配置:2 核 2G * 12
后端服务器配置:16 核 64G * 4
关系型数据库数量:12(备份 4)
缓存数据库数量:6(备份 2)
网站安全性:WAF、DDOS