产品案例分析 - 华为软件开发云

产品案例分析 - 华为软件开发云


PART1 - 调研,评测


一、评测


1. 第一次上手体验


在对“华为软件开发云”这个名字抱有极大期望的情况下,第一次使用这个产品的时候,说老实话,给我的感觉其实并不太好。

首先在web端,当我第一次点击“立即体验”的时候,突然一片灰:

886183-20171202213030788-78090070.jpg

拖动滑动条往下翻了半天终于找到了这个框居然在这!

886183-20171202213045882-37507251.jpg

(当时使用的是火狐浏览器56.0,后来似乎没有复现成功,但是因为第一次点开这网站所以印象很深,初体验是很懵逼的。)

并且登录只能选择记住登录名而不能记住密码。虽说可以理解为出于公司项目的安全考虑,但是对于小团队或者是只在自己的PC机上使用,不能记住密码感觉十分的不方便,至少可以是诸如“7天内记住密码”这样。

不过web端的UI是真的精美啊~ 城市剪影、涂鸦画风、细节精致的动画效果,给人一种很年轻、很有活力的感觉,令人很愿意继续体验。这也是即使第一次试用不太顺利,但仍对这款产品抱有好感的原因。

其次是Android端,我在11月10号左右从官网扫二维码下载了这个app。由于用的是手机注册,于是输入了手机号码和密码试图登录,结果意外的弹出提示“请输入有效的用户名和密码”,反复折腾了半天才反应过来“输入账号”是真的只能输入用户名来登录,而只有web端才可以支持输入用户名/手机号/邮箱登录,况且app登录页面的文本框标签提示“输入账号”和输错时弹出toast的提示“用户名”两者称呼不一致,很令人费解,并且和web端登录方式不一致,也感到体验不太好。

好不容易登录进去了,结果展示在面前的是一片空白,然后弹窗提示“当前网络连接异常,请稍后重试”,无论点底部栏的哪一个,都是一样的弹窗提示(确认了一下我的网络是正常的)。到这时候作为对这个产品还不是很了解的初体验用户,我已经很想卸载了。

886183-20171202214449101-1379300587.png

后来隔了一周又点进去看了一眼还是一样的情况,就果真卸 · 载 · 了orz。直到前几天(11月30左右)我突然想起评测作业快要截止了,才又从官网扫二维码,重新下载了这个app(小米应用市场没有DevCloud),这时候发现可以使用。

于是在这一个月,使用十分不顺畅的情况下,我仍然把它反复几次下载到手机上的原因,是因为有个作业等我评测。而如果作为普通的用户而言,我想基本上恐怕就不会再想碰它了。况且相比起web端的精致完善,这款app还是简陋太多了。


2. 几个功能性的比较严重的Bug


测试主体:

测试工具:

  • web端:Firefox 57.0.1(64)
  • 移动端:MIUI 9.0 | Android 7.1.1

一些零零碎碎的Bug其实还挺不少,可能是还在公测期的原因。下面对web端和移动端各举出1个我认为相对严重的Bug。


Bug1(web端): 测试模块中,“移动应用测试”的“测试次数”错误

复现步骤:

前提:本账号已创建了两个项目,一个项目中已建立了 3 个“移动应用测试”,此时在另一个项目中建立 1 个“移动应用测试”之后:

  1. 打开“测试”页面(显示“移动应用测试”的“测试次数”为 3 );
  2. 点击“移动应用测试”(显示出的测试项有 1 个);
  3. 点击菜单“服务” -> “测试”(显示“移动应用测试”的“测试次数”为 0 );
  4. 点击“移动应用测试”(显示出的测试项有 1 个)。

gif动图:

886183-20171202213208538-951808674.gif

出了这个Bug的原因,我的猜测是:1. 当有多项目时,菜单栏“服务”的子菜单到底是跳转到哪个项目的具体服务没有判断清楚。2. 当新建一个测试项时,没有及时刷新“测试次数”。

为什么这个产品组的人没有发现这个bug? 可能是测试人员只测试了一个账号一个项目的情况,而没有测试一个账号多项目吧。


Bug2(移动端) : “新建工作项”的“重要程度”非单选

复现步骤:

  1. 点击底部栏“+”号;
  2. 选择“工作项”;
  3. 点击“重要程度”;
  4. 勾选任意项;
  5. 点击“重要程度”;
  6. 勾选与前一次不同的任意项(有时会出现两个√同时存在的情况)。

gif动图:

886183-20171202213509851-1766254547.gif

出了这个Bug的原因,我猜:给工作项标记“重要程度”的处理方式,是把该工作项的名字加入这一“重要程度列表”里,而不是工作项有一个“重要程度”字段(也更方便在漏斗中筛选)。这样就可能会在用户勾选另一个“重要程度”时,还没来得及把之前那个“重要程度列表”里的该工作项删了。

为什么这个产品组的人没有发现这个bug? 复现“修改 '重要程度' 出现多勾选”这个bug的几率大概是点击三四次出现一次,可能测试的时候没有去反复多修改几次。


3. 假设我们团队需要开发这套系统,需注意的方面

首先要明确这套系统的用户是谁,要解决的是什么问题。我想用户群体其实是比较明确的了,就是那些有项目管理需求的企业/团队。对于项目经理,希望对项目有个可视化的进度把控;对于开发人员,使用方便和成熟的代码检查、测试、部署都是非常亟需的。但同样能看到,既然是SAAS,用户对这套系统的要求会是非常之高的,如果不能给团队带来切实收益,也就不会去付出高昂费用使用这套系统(若按需计费,21-100的团队估算费用是240元/人/30天)。

要完成这样一套模块多、功能完善且又质量高的产品,那必须要分为多组协同开发了,于是就涉及了微服务架构:业务拆分,服务治理,自动测试,自动运维。

在采访中我也询问了那位项目经理这个问题,然而他也只是简单的提到“注意版本管理和运维部署”。但其实我觉得我们这样的小团队怕是没办法开发这个项目,因为需要好多资源啊...orz

二、采访

被采访人: 黄华强(建发房地产集团有限公司信息部项目经理)

886183-20171203002710272-1248090907.jpg

采访过程:

  1. 华为软件开发云目前集成了项目管理、配置管理、代码检查、编译、构建、测试、部署、发布等功能,您作为项目经理,是否有这方面的需求?或者对于软件云现有的功能还有别的需求吗?
    答:是有这方面需求的。这些基本已经够用了。

  2. 在使用这个产品的过程, 您的需求/问题解决了吗?
    答:需求已经解决。

  3. 软件在数据量/界面/功能/准确度上各有什么优缺点?
    答:我体验了一下项目管理工具,感觉还不错,尤其在界面的数据展示方面让我印象深刻,有燃尽图,趋势图,工作项完成率图等,项目情况一目了然,非常直观,有利于项目管理者对项目进度,质量,成本做整体的把控。

  4. 用户体验方面有问题么?
    答:用户体验上感觉还不错,功能比较完善,无需花太多时间研究,感觉挺容易上手的。

  5. 您对产品有什么改进意见?
    答:如果项目管理工具能够实现:项目中具体的某一个工作事项的状态发生变化的时候,能在第一时间及时的告知项目管理者,这样便是极高的。

  6. 若要给这个软件下一个评价,请选择一个结论:
    a 非常不推荐
    b 不推荐
    c 一般
    d 推荐
    e 非常推荐

    答: d


PART2 - 分析


  1. 使用此软件的大部分功能,估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。

    什么,要完成这么庞大的项目而我的团队只有 6名 本科毕业生(人少且极有可能0项目经验) !老板我辞职...

    时间:10个月发布第一版稳定版本。感觉已经是极限了...

  2. 分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。

    同类竞品:软件开发云、Redmine、teamlab、DotProject的对比(转载

    886183-20171202212942397-432161853.jpg

    886183-20171202212951710-681639642.jpg

    具体建议:从上表中可以看出,华为软件开发云对于中小型、初创型的企业或团队的项目开发还是有极大的优势和吸引力的。但是对于已有一定规模的企业来说,很可能已早有自己的一套开发工具,想要使他们的目光转移到软件开发云上,可能会在性能方面提出更高的期望。

  3. 根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果

    功能图

    886183-20171203120225038-612465551.png

    重要度标识(按“重要”、“较重要”、“一般重要”排序):

    886183-20171203120233897-314170262.jpg

    完成度标识(按“完善”、“较完善”、“不太完善”排序):

    886183-20171203120333522-627996853.jpg

    出发点&&效果
    模块出发点效果
    项目总览作为软开云的使用入口页,展示加入的项目、工作项、历程、消息能够对大部分的需求情况一目了然
    项目管理展示项目看板、展示项目列表、新建项目的入口通过柱状图的看板和卡片式列表,很好展示用户所参与的项目的总体情况
    代码托管类似Github的功能,将代码托管到云在Github或其他托管平台使用习惯了的情况下,用户可能比较难适应
    代码检查实现一些简单的代码质量管理,帮助监测源代码质量挺好的,精准定位代码缺陷,提供示例和修复建议,被不少用户赞过
    编译构建与代码托管无缝对接,提供云端编译构建服务挺好,能够实时监控构建状态
    测试管理提供了一体化的测试功能,覆盖测试需求、用例管理、测试执行、缺陷管理挺好,支持自定义用例,能够辅助高效的管理测试活动
    部署方便用户将项目部署到云服务器上挺好,比较完善,而且也有引导性的介绍
    发布包括仓库初始化、软件发布、软件下载、软件查看挺好,比较完善,而且也有引导性的介绍
    流水线自动执行一系列流水任务似乎是比较边缘的功能,也没有引导性介绍,不太明白是做什么用的
    移动应用测试移动应用的兼容性测试,测试各机型对此移动应用的安装、启动、使用、卸载的情况整体还不错,报表也很清晰,但是当选择机型比较多的时候排队会相当久,而且对于有账号的移动应用仅测试了成功登录
    企业账户授权支持子账号登录,方便企业项目开发人员的使用挺好的,邮箱验证也很快捷方便
    代码广场作为代码仓库的开源共享和展示平台完成度不高,看不太出效果
  4. 针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分

    web端:

    用户体验:★★★☆☆
    UI美观度:★★★★☆
    核心功能:★★★★☆

    移动端:

    用户体验:★★☆☆☆
    UI美观度:★★★☆☆
    核心功能:★★☆☆☆

    根据上文的阐述,对于web端和移动端的各维度评判已经很明确了。对移动端的核心功能只给了2星的原因是,移动端的功能仅囊括了查看和编辑各项目的工作项和“消息”模块,且仍然十分不完善


PART3 - 建议和规划


  1. 如果你是项目经理,如何提高从而在竞争中胜出?
    答:我觉得作为中国市场上立足云服务的、一整套功能相对齐全的管理软件的SAAS项目,本身就已具有相当高的竞争力。可是纵观之软开云的呼声和期待很高,而企业中真正的使用者却相对稀薄。所以若我是项目经理,首先要抓住用户痛点,在第一次开放稳定版时就把服务模块做到功能齐全、易用精致,特别是国内其他家项目管理工具所不具备的功能,提高用户黏性;其次就是提高宣传和推广力度,为什么这么好用的产品大多数人都仍只停留在“听说过但没使用”的阶段呢?

  2. 目前市场上有什么样的产品了?
    答:微软全家桶Visual Studio Team ServicesRedmineDotProject禅道

  3. 你要设计什么样的功能?
    答:在“代码广场”版块里,对每个仓库卡片都有一个“评价”的选项,但我点进去这个仓库也并没能找到评价模块在哪里...orz,猜测这估计是要放在后续实现的一个功能,但我认为还不如做个wiki,而去掉评价,因为这种评价感觉意义不是太大:1. 若是需要评判优劣直接看这个仓库的收藏数就能一目了然;2. 若是为了实现用户之间的交互手段,只能在一个个的仓库下面去评论太受限,不如做wiki更方便开发人员之间的资源共享、开发遇到的常见问题整理等等。

  4. 为何要做这个功能,而不是其他功能?
    答:因为觉得其他功能以及相对成熟完善了,在采访过程中用户也对目前已有的项目管理服务评价说“能够满足需求”,但是“代码广场”版块就显得薄弱很多,如果能做好可能能成为中国的Github交友社区~(逃

  5. 为什么用户会用你的产品/功能?
    答: wiki为一种开放、自由的交流方式,在用户除去日常使用这种工具类的项目管理功能之外,能有个地方起到共同维护资料整理、或者是公司/团队内部或之间的交流,会让工作也不那么乏味。

  6. 你的创新在哪里?可以用 NABCD 分析。
    答:
    • N(Need,需求): 开发者希望在除去工具类功能之外能有一些方便友好的交流方式。
    • A(Approach,做法): 在“代码广场”版块中,除去仓库的卡片式展示,另加入一个独立的wiki模块。
    • B(Benefit,好处): 因为有了用户间的交互,使整个产品变得更有情怀而非一个单纯的工具,从而可以增加用户黏性。就像Github那样形成了一个社区,即使之后出了更好的代码托管平台,但我的following都在Github上又怎么舍得离开不用呢?
    • C(Competitors,竞争): VSTS有“博客”版块,但却不支持评论。Redmine似乎是有wiki版块的,但相对简陋,使用度不高。总体看来竞争度不是太高。
    • D(Delivery,推广): 可以在“代码广场”版块下的“推荐”、“分类”、“排行”菜单后面紧接着放一个“Wiki”,然后UI用不同于其他的更活跃的方式显示,比如带有涂鸦式的颜色等等,来引导用户使用。
  7. 如果你来领导这个团队,会有什么不一样?
    答:
    • 在软件发布之前进行更充分的测试
    • 加大宣传推广的力度
  8. 如果你的团队有5个人,4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
    答:
    ???不是吧,前面不是还有6人,又跑路了一个...orz
    • 开发:4人
    • 测试:1人
    • 美工:没人手,另买界面设计方案...
  9. 描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
    答:
    默认前提:团队人手和资源能保证在16周内能做完。

    周数具体分配大小里程碑设定
    1周需求分析,设计原型,撰写软件规格需求说明书、产品规格说明书完成SPEC
    2~3周搭建开发环境,确定编码规范,架构设计,详细的开发设计,团队分工
    4~11周编码开发阶段,完成初版后进行测试完成内测版本
    12周发布v1.0版本,交付用户试用,获取反馈,修复bug、完善已有功能
    13~15周对用户提出的其他需求进行分析,选择合适的需求,投入此阶段进一步开发
    16周进行严格的性能测试、压力测试、集成测试等发布正式版本
  10. 项目发布后,有没有考虑过项目该怎么部署才能满足需求。依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) 。

**答:**(通过采访已工作的同学获知可能需要如下服务器部署)

前提: 服务器与数据库均在同一内网互通集群下, 内网带宽 1Gbps

**数量**

- 应用/后端服务器各 * 1
- MySQL * 4 (异地冷备 * 1、同地热备 * 1、读写分离 2 台)
- Redis * 1

**配置**

- 静态资源采用 CDN 就近分发, 减轻应用/资源服务器压力
- 所有请求采用 WAF 过滤, 防止 CC 攻击、SQL 注入、XSS 跨站、WebShell 上传、命令注入、非法 HTTP 协议请求、常见 Web 服务器 0day 攻击等
- 数据中心网络选择接入金盾、ChinaDDOS、傲盾、飞塔等硬件防火墙, 以便于清洗牵引 DDoS 攻击, 或采用电信云堤就近牵引清洗
- 请求进入应用层之前, 采用负载均衡平衡集群节点负载 (提前进行线上压力测试, 确认转发规模)
- 应用服务器采用 4C8T 8G 配置, 并与后端服务器采用内网通讯
  后端服务器采用 8C16T 16G 配置, 并与数据库集群采用内网通讯
- 数据库集群中有 MySQL 与 Redis 两种类型数据库, 分别对应存储与缓存, MySQL 硬盘采用 RAID10, Redis 内存不低于 32GB
- MySQL 采用读写分离并同地主备, 异地冷备, 以保证数据可靠与一致性, 尽可能降低一切由崩溃、掉电等带来的数据丢失、宕机问题
- Redis 自动从 MySQL 热一部分常用数据到缓存中, 以便于快速读取

886183-20171203190120897-1206682801.png

转载于:https://www.cnblogs.com/thousfeet/p/7955737.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值