第一部分 调研,评测
【评测】
下载并使用,描述最简单直观的个人第一次上手体验。
移动端
- 软件登录界面,色彩清新,操作流畅,这种风格看着还是蛮舒服的。不过登录、注册等按钮距离间隔太近容易误操作。
- 注册界面直接以web网页形式加载,响应速度较慢,体验并不是很好。
- 用户的主界面非常简洁清新,“我的”界面除了用户名、区域看不到用户的其他信息。
- 附件功能挺全的,包括文件、照片、语音。项目及工作项的描述信息提供很多选择,例如日期、优先级、模块、标签等等。
- 总体来说界面操作流畅,下拉刷新,页面加载等交互的响应速度在能接受的范围内。
web端
- 登录界面简洁是真的,不大好看也是真的,和首页的UI设计感觉不在一个水平。
- 功能强大且逻辑布局合理,较易上手。
- 动态效果很不错,为用户操作添加了不少乐趣。
- 相对于移动端,web端的用户提示更清晰。
- 保姆级辅助开发,为使用者省下了不少时间。
按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个。用专业的语言描述(每个bug 不少于 40字),如有必要,可以配图 .
Ps:本次寻找bug环节,我们小组以吐槽移动端为主。
- 标题:未能及时清除缓存
- 重现步骤:登录软件,进入项目新建工作项,或是进入意见反馈,添加语音附件,在操作多次后取消保存。
- 内容: 语音附件在取消保存的情况下仍残留在本地SD卡,也没有提供清除缓存的选项,若是频繁附件操作,这将对用户的存储空间有一定影响。
- 建议:改进取消保存后自动清除本地相关缓存的功能,并在界面上增加清除缓存的功能按钮。
- 标题:找回密码的图形验证码即使输错也会通过。
- 重现步骤:登录界面点击忘记密码进入页面进行密码找回。
- 内容:图形验证码形同虚设?在输错验证码的前提下还可以继续下一步的操作。
- 建议:完成图形验证码的正确审核。
- 标题:关于意见反馈及附件功能
- 重现步骤:进入“我的”页面点击意见反馈。
- 内容:在进行附件的录音时未显示录音时间,也未提醒用户最短时间,但是超过60s自动停止。且在一定数量的附件时(3段语音,20张图片)提交意见反馈响应异常缓慢,甚至发送不了(6分钟仍未成功且无法进行退出操作,只能强行杀进程退出)。
- 建议:完善用户提示,提高抗压能力和反应速度。
- 标题:添加评论的问题
- 重现步骤:进入用户的项目,点击进入工作项详情页面,添加评论。
- 内容:点击添加评论后弹出的软键盘把底下内容给遮挡了,导致无法正常输入评论。另外,已发的评论内容不能复制,不友好度+1。最可怕的是有一次尝试在评论框里输入文字的时候APP闪退了,重新启动后评论就恢复正常了。
- 建议:加强软件在测试力度。
- 标题:关于搜索
- 重现步骤:进入用户的项目页面,点击搜索框。
- 内容:没有模糊查询的功能,当搜索词采取缩写后,无法识别相应的项目。且需要按下搜索按钮才能找到结果,很不友好。
- 建议:增加模糊查询功能。
你觉得为什么这个产品组的人没有发现这些bug?
- 软件功能多而杂,可能并没有考虑到这些细节。
- 测试机型不同,系统、屏幕尺寸等都会影响测试结果,不同机型的适配未能做好。本次测试设备为iphone5s及一加3,在不同屏幕下表现略微有所差别,但问题一样。
- 软件还处初期阶段,可能还未考虑极端的压力测试,例如超大附件的情况,页面加载有时很迟缓。
假设你们团队需要开发这套系统,需要注意哪些方面
- 遵循团队的代码规范,提高项目的可维护性。
- 功能性框架依赖性不能太强,善用开源框架,需要经过充分的测试选择成熟稳定的框架,例如网络请求框架。
- 注意封装一些重复性功能,适度耦合,通过统一入口进行调用,方便维护修改,也方便扩展,例如常用的添加附件功能。
- 估计项目的规模大小及用户群体的访问量,选择可靠的开发和运行环境。
- 开发者在编程之外还需要注意编写单元测试,接口部分需要更新到团队的汇总中。
- 需要注意前端和WEB端的之间的调试方式,各层之间通信设计按照微服务架构的设计原则,这些服务需要共享数据库。
- 考虑用户数据的安全性,以及操作的安全性(例如连续点击按钮可能出现的情况)。
- 始终坚持以用户为本的原则,在设计时尽量减少用户的使用负担。
【调研】
ps:采访对象使用的时android平台。
介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)
- 背景:周龙荣,创业团队成员,该团队计划开发一款提供信息交流共享平台的App。
- 需求:
- 该团队需要一款可以对项目进行任务分工、进度跟进、并能将开发过程中的问题、成员的沟通交流及反馈信息进行记录管理,协助团队进行项目开发的一款软件工具。团队成员没有用过类似的App,但是有用过网页端的类似产品。
- 除了现有的功能外,受采访者觉得如果APP能够整合出一个及时通讯功能模块,满足团队在日常开发过程中的交流讨论,就更好了。
描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
数据量 |
项目建立不限个数,满足基本开发。 |
限容量。 |
界面 |
软件的整体界面整洁,逻辑跳转较为合理。 |
部分控件布局不够友好,间距过小。 |
功能 |
移动端能够创建工作项,并设置工作项的详细信息,如详细信息,优先级,迭代信息,和完成进度等,基本满足了团队开发的简单需求。 |
1. 相对于web端,app端的功能不够完善,核心的一键式部署和代码范检查功能并没有在APP上体现;2. 并且部分功能存在bug,用户体验不够友好。 |
准确度 |
大部分功能都能正确响应。 |
部分操作存在问题,例如前面提到的图形验证码。 |
- 用户体验:相对于web端,移动端的用户体验很不友好,例如前面提到的在界面布局、用户提醒、反应速度等方面都存在着或多或少的问题。
用户对产品有什么改进意见?
- 丰富主要功能。
- 为项目设置更直观的进度查看。
- 增加及时交流模块或完善评论功能。
- 完善用户提示,提高用户体验。
结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:
第二部分 分析
时间预估
- web端+移动端(iOS或Android) —— 12个月
理由:整个产品涉及web端和移动端(iOS或Android端),web端的功能更是多种多样。靠一个6个人的团队(还是刚毕业的学生),在整个项目的过程中肯定会遇到各种各样的问题。
- 单做web端 —— 9个月。
理由:web端的功能强大,且加入了不少动态效果,难度可以说是很大了。
- 单做移动端 —— 3个月。
理由:移动端的功能相对较少,实现难度不高,但对于刚毕业的大学生,还是需要一定时间的。
软件优劣
华为软件开发云web端 |
功能齐全,各种该有的功能都有,界面美观,收费不高 |
点击反应慢,加载很慢,跳转的时候经常整个浏览器白屏,有时候点击还没有反应。用户体验存在问题 |
华为软件开发云移动端 |
具备项目管理的基本功能,界面简洁,逻辑设计合理 |
存在较多bug,具有闪退、抗压差等问题,用户体验差 |
具体建议
- 建议:提高用户体验很重要。
- 团队在软件开发过程中,应注重界面的设计,不能太丑,或者逻辑混乱。不能在用户还没使用时就留下不好的印象。
- 同时也要考虑性能方面,反应速度过慢,或者bug较多都会很大程度地降低用户体验。
- 要有有效且便捷的用户反馈渠道,让用户参与到软件的迭代过程中以便于更好的提高用户体验。
web端功能逻辑框图
移动端端功能逻辑框图
模块分析
看板 |
重要 |
90 |
主要用于查看燃尽图,完成率以及story统计 |
能够较为直观的反映出工作完成情况 |
工作 |
非常重要 |
95 |
主要功能模块之一,用于创建与查看工作项以及对项目的规划 |
是面向软件开发团队进行敏捷化项目管理的团队协作服务,功能较为齐全 |
检查 |
重要 |
85 |
用于检查并查看项目的问题与风险 |
精准定位代码缺陷,提供示例和修复建议,支持一键跳转到代码库在线修复。 |
测试 |
非常重要 |
95 |
对项目进行必要的批量测试,提供验收报告且支持对移动端应用进行遍历测试 |
高效管理测试活动,保障产品高质量,操作较多,执行较慢。 |
代码 |
重要 |
90 |
对代码的操作与管理 |
基于Git的在线代码托管服务,支持代码一键下载到本地,操作简便 |
构建 |
重要 |
95 |
对项目进行环境的构建 |
与代码托管无缝对接,为用户提供配置简单的混合语言构建平台,实现编译构建云端化 |
部署 |
重要 |
90 |
对项目进行配置的部署 |
实现部署环境标准化和部署过程自动化 |
发布 |
重要 |
95 |
将软件包上传发布 |
通过安全可靠的软件仓库,实现软件包版本管理,提升发布质量和效率,实现产品的持续发布 |
流水线 |
重要 |
80 |
设置与执行流水线 |
提供可视化、可定制的自动交付流水线对小规模代码效果不明显 |
设置 |
一般 |
90 |
对软件开发云进行设置 |
能根据用户需求进行基本的设置 |
针对不同的维度评分
web端
用户体验 |
90分 |
整体简洁易用,但操作并不是很流畅,页面跳转等待时间过长。 |
UI界面 |
90分 |
整体UI比较简洁明了,逻辑布局也很分明,动态效果加分。 |
核心功能 |
95分 |
功能相当强大,所有模块对应的功能几乎涵盖了用户的全部需求,并且简洁易上手,提示明确,减少了用户负担。。 |
移动端
用户体验 |
90分 |
反应速度慢,且存在较多bug,用户体验相对不够友好。 |
UI界面 |
90分 |
界面简洁,逻辑合理,但控件布局不够友好。 |
核心功能 |
80分 |
相对于web端,移动端的功能略显单薄,但是也基本满足一些简单的需求。 |
第三部分 建议和规划
如果你是项目经理,如何提高从而在竞争中胜出?
我认为需要提高的地方大致有三点:
首先是宣传。宣传的重要性是不言而喻的,它在我们的生活之中也是随处可见——书籍网络电视,甚至是高速路上的巨型广告牌。产品的质量固然是重中之重,但如果根本就不被人所知,没有人使用,那再优秀也是白搭。而华为软件开发云这款软件,关于它的宣传就不太够。单纯从app store上的下载次数来看,用鲜为人知来形容都不为过。即使是在网络上搜索,它的讨论热度也不高。这对于一款需要大众支持的软件来说是致命的,所以加强宣传,提升知名度,扩大传播范围,是它与竞争对手争夺用户中极其重要的一环。
第二个要提高的地方是移动端的质量问题,需要做得更好。在试用的过程中我们可以很明确地感受到华为软件开发云的这个app在设计制作上的严重不足,若将其同功能齐全,制作也较为完善的web端相比较,那根本就是云泥之别。从界面设计不合理到功能设置不完善,这款软件的app需要改进的地方有非常多,不要说同对手竞争,吸引用户了,它连单纯的满足用户要求,留住用户都非常困难。手机现在在人们生活中的比重非常大,在工作中的分量也举重若轻,如果在手机上的观感不好,极有可能会影响到用户对整个软件的印象和定位。会对该软件有需求的用户基本上都很繁忙,谁都不会愿意浪费时间在一款并不便捷,使用体验也不尽如人意的app上的。
还有一个需要注意改进的部分是产品使用的便捷程度。正如第一点中我所提到的,用户的时间是很宝贵的,没有人愿意花大把的时间浪费在对一个软件单纯的使用上。
移动端需要提升的部分前面已经提过了,而Web端虽然已经比较完善,但在登录过程上却令人意外的繁琐。Web端无法维持长时间的登录状态,关闭网页即需重新登录,而网站本身没有提供记忆密码的功能,用户每次重新登录都需要自己再手动输入一遍密码——这无疑是非常不方便的,重复的操作也容易让人厌烦。试想一个用户有着急用的需求,然而当他打开自己不久前还刚用过的网页,却发现自己需要重新输密码登录,这是何等的让人不耐。细节最为磨人,却也最为考验人。如果不想在竞争中落败,就该抓住用户心理,处理好每一个与之相关的功能。
目前市场上有什么样的产品了?
- 目前市场上与华为软件开发云相类似的产品主要分为两类:
第一类为Google,Amazon,IBM等国际知名企业为代表的,以其旗下的云平台为依托,提供的DevOsp,比如IBMCloud的DevOps.
第二类为一些小型公司开发的以项目管理为核心,不以云平台为基础的‘伪‘软件开发云平台,例如Worktile.
- 两类中具有代表性的产品比较:
IBMCloud--DevOsp |
基于开放式工具链,可以使用工具链模板,或者通过应用程序创建工具链。支持自定义配置工具集成,以定制现有工具链。 |
中小企业开发者,个人开发者 |
工具链中第三方工具收费 |
AWS--DevOsp |
提供各种工具包,用户依自己的需求进行选择。 |
中小企业开发者,个人开发者 |
按用户需求选择收费 |
Worktile |
将单个第三方开发工具以服务的形式提供给用户,用户可以自主选择添加。 |
中小企业开发者,个人开发者 |
某些第三方工具收费 |
HUAWEI--DevCloud |
平台提供明确的服务,一站式的解决方案,能可视化地创建流水线。CloudIDE实现在云中编码调试,开发、测试、部署、运维等一切研发活动都在云上。 |
中小企业开发者,众包开发团队,个人开发者 |
基础按需计费和基础套餐按需计费 |
你要设计什么样的功能?
- 一个与软件开发安全性相关的功能。该功能可以监控和记录开发流程,能够评估当前开发风险,并且提供一系列安全工具和可行的安全解决方案等。
为何要做这个功能,而不是其他功能?
- 基于云平台的软件开发,其提供的服务对开发团队来说是隐蔽的和不可控的。保障软件的安全性对于此类产品就成为了一个极其重要的功能,而且是用户选择这类产品的一个重要考虑因素。引用书上一句话 “想象一下得到苹果公司关于下一版iPhone的项目计划会怎样。”
为什么用户会用你的产品/功能?
- 首先,这个功能通过紧密的监控和记录,可以向管理人员提供大量的信息,有助于分析和解决安全问题。用户也可以利用安全评估功能,发现存在的安全漏洞,同时系统也会向用户提供可行的解决办法。如果用户对此不满意,可以自主选择安全工具保障软件开发的安全性。
你的创新在哪里?可以用 NABCD 分析。
- Need
- 现在,软件开发与云平台的结合面临的一个重要问题就是安全性得不到保障。使用Devcloud时,用户希望知道开发的安全性怎么样,如何提高安全性。并且用户可能对于,希望能够自主选择安全工具。
- Approad
- 设置一个安全功能模块,提供监控和记录,安全评估,安全工具和安全解决方案等功能,并且不断完善。甚至可以提供安全咨询服务,让专业人士提供建议。
- Benefit
- 能给用户创建一个更加安全的开发平台,并且通过监控和记录交付流程,可以确保更高质量的软件,提高用户体验,吸引潜在用户。
- 而且用户通过我们的安全分析后会更愿意消费购买相关的安全工具,有助于我们产品的销售。
- Competitors
- Delivery
- 这种开发模式有别于传统。要得到认可,不仅需要用户在技术层面上适应,更需要思想上接受。
- 为了用户接受我们的产品,需要施行以下推广方案:
- 适当普及与项目安全性相关的知识。
- 利用自身影响力鼓励用户使用这类产品。
- 借用一些用户成功使用本产品的例子进行推广宣传。
- 加大广告宣传力度。
- 开展限时优惠活动,并且对新用户提供优惠。
- 向用户提供技术支持和培训。
- 完善和丰富产品的使用帮助文档,建立相关论坛以供帮助。
如果你来领导这个团队,会有什么不一样?
- 我会在移动端的开发上更加重视一些。
- 华为软件开发云这款软件本身功能较为齐全,与同类产品相比界面的美观性也很强,但在这段时间的试用中可以看出,它的移动端还比较简陋:功能少,部分设计不合理,还有一些bug存在。这些都非常降低手机用户对这款软件的观感印象,也不利于web端和移动端之间的联系。在现在这种手机已然成为人们生活不可或缺的一部分的情况下,将移动端的内容做得更完善会更有益于这款产品的推广,也能够吸引到更多的用户。
如果你的团队有5个人,4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
- 开发主力三人(前端一人,后端两人);
- 测试一人(开发阶段辅助前端);
- 美工一人(包括UI和原型设计)。
描述你的团队在16周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
1 |
确定项目内容与项目核心,进行需求分析,初步完成需求说明书。 |
|
2 |
完善需求规格说明书,明确分工,计划好接下来的时间安排。 |
需求分析完成 |
3-4 |
统一团队内的环境搭建,制定编码规范,构建架构,进行原型设计。 |
原型设计完成 |
5-7 |
开始主体功能的编码,前端与后端并行,美工完成UI设计,持续跟进,视情况调整完善。 |
|
8 |
功能完善,测试并改进,接收反馈修改。 |
Alpha版本发布 |
9-11 |
开始其它功能的编码,接口设计完成,实现对接,完成剩余模块的任务。 |
|
12 |
继续完善各功能模块,初步完成正式版本。 |
Beta版本发布 |
13-14 |
大规模测试,修复bug,根据反馈不断调整完善最终版产品 |
|
15 |
编写用户手册。 |
用户手册完成 |
16 |
项目部署,发布最终版本的产品。 |
项目部署,发布最终版本的产品。 |
项目发布后,有没有考虑过项目该怎么部署才能满足需求。依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) 。
- 负载均衡:2台(主备)
- 应用服务器:16核32G 2台
- 后端服务器:32核64G 3台
- 关系型数据库:Oracle/SQL Server 3个(读写分离2个,备份1个)
- 缓存数据库:Redis 2个(主备)
- 网站安全:建议部署WAF,防DDoS攻击的防火墙等设备
- 带宽:采用千兆以太网连接