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


    前言

    • Title
    • DevCloud
    • |组长| 成员 | 负责板块 | 贡献分数 |
      |-------|-------------|-----------------------|-------------------|
      | ★ | 530 雨勤 | 采访 | 10 |
      | | 311 旭 | 评分 | 10 |
      | | 403 俊 | 逻辑图 | 10 |
      | | 223 元 | 测评 | 10 |
      | | 437 海辉 | 建议与规划 | 20 |

    测评

    • 下载并使用,描述最简单直观的个人第一次上手体验。

      • 安卓版的应用看上去十分的简介以至于简陋,一些基本的小功能也没有实现,个人信息页面有一个头像,刚开始以为可以修改,但是并不能,让人有点小失望。
      • Web端的体验还是很不错的,颜色搭配和界面设计都很棒,操作方式也简洁明了。可以修改头像但是不能同步到移动端,失望+1。
    • 按照描述的bug定义,找出几个bug,用专业的语言描述,如有必要可配图。

      • 下面是引用《构建之法》第13章软件测试中对于BUG描述的片断。
        - Bug可以分解为:症状(Symptom)、程序错误(Fault)、根本原因(Root Cause)。 
            - 症状:即从用户的角度看,软件出了什么问题。例如,输入(3211)时,程序出错退出。 
            - 程序错误:即从代码的角度看,代码的什么错误导致了软件的问题。例如,代码在输入为某种情况下访问 了非法的内存地址——0X0000000C。 
            - 根本原因:错误根源,即导致代码错误的根本原因。例如,代码对于id1==id2的情况没有做正确判断,从 而引用了未赋初值的变量,出现了以上的情况。
        

        软件:DevCloud
        版本:3.12.2.8
        测试环境:Android7.1.2 ResurrectionRemixOS-v5.8.5
      • 扫一扫功能无法启动相机或扫描时没有反应

        • Bug图片君:bug
        • 具体描述:启动扫一扫功能,在明确给了相机权限后,扫面界面没有显示摄像头内容,或者显示瞬间的摄像头内容后便失去反应,无论怎么移动手机,画面都不会动。
        • 可能发生的原因:手机内部运行不稳定或手机内存不足。
        • 没有发现此类Bug的原因:没有充分考虑各种不同的硬件条件下软件的运行情况。
      • 昵称消失或头像加载失败

        • Bug视频君:bug
        • 具体描述:在“我的”和“关于”切换时会出现昵称消失的情况,有时候是瞬间消失然后复原,有时候在不动界面的情况下一直不出现,头像也会出现一定机率的加载失败。
        • 可能发生的原因:软件优化不好或者网络加载不畅。
        • 没有发现此类Bug的原因:没有充分考虑各种不同网络情况下软件的运行情况。
    • 假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)。

      • 软件架构就是软件的基本结构。微服务架构是服务导向架构的升级。每一个服务就是一个独立的部署单元。这些单元都是分布式的,互相解耦,通过远程通信协议联系。微服务架构可分为三种实现模式。在这个开发云的系统中,我们可以采用RESTful API模式,服务通过API提供。这样的优点是扩展性好,各个服务的耦合很低,并且容易部署,软件从单一可部署单元被拆分为多个服务。这样做的缺点是服务可能会拆的很细,会导致系统依赖大量的微服务,变得很凌乱。

    采访

    • 相信每个同学的朋友中一定有人需要用这样的软件,记载你对这位用户的采访。例如使用下面的采访提要:

      • 介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)

        • 背景:FZU数计学院2015级软件工程K班PMS团队项目管理
        • 需求:项目组员之间时间比较独立,大家能够聚在一起讨论交流和敲代码的时间有限,任务管理与进程推进不能清楚把控,每个人做到哪儿,做的如何全凭自己描述,有时做着做着就有可能偏离目标,需要一个对于项目的主要需求、任务和代码、缺陷管理都提供较好支持的软件。
        • 类似的用过:github + leangoo的组合大概能达到类似于华为软件云的部分功能效果
    • 让采访对象使用华为软件开发云(请上传照片证明用户的确正在使用,远程采访的同学请让别人帮忙照相)

    • 描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?

      • 移动端

        • 优点

          • 成员交互:以对任务进行评论的方式,具有简单的交互能力。
          • 操作简单:逻辑简单,短时间摸索就能了解用法
        • 缺点

          • 下载不便:组内成员1人使用iphone,4人使用安卓机,iphone下载顺利,而各大主流安卓应用商店中则难见其踪,需要其他渠道搜索。
          • 功能不全:相对于Web端像被阉割过一样,很多牛逼的功能都不在了,只相当于一个leangoo。仅移动端,私以为不如leangoo全面直观。
          • 任务管理:项目成员对任务的操作权限不可修改;任务筛选项中居然缺少按成员的筛选项。
          • 资料管理:个人资料无法管理,也不能查看组员资料。
          • 其他:很多槽吐不完,整体上感觉移动端就像速成的一个半成品,简单到简陋。
      • Web端
        • 优点

          • 功能全面:各功能清晰可见,比移动端直观不少,涵盖了软件开发完整生命周期的各项内容:开发、测试、部署、运维、监控、分析反馈等一切研发活动。
          • 可持续交付:开发、测试、运维的跨地域协同和同步迭代,有利于实现项目任务的快速交付、快速上线、快速反馈。
        • 缺点

          • 任务管理:对非企业团队,给项目各成员的权限管理有开发人员、测试人员与浏览者,各自角色权限由系统规定,用户只能以角色为单位为组员授权。这样可以禁止一些非法操作,但是也相对降低了灵活性。
          • 认证繁琐:认证过程可以说是很麻烦了。
    • 用户对产品有什么改进意见?

      • 好好完善app吧,移动端直接拉低了逼格,被Web端惊艳后看到移动端尤其失望。
      • 权限管理是不是可以既拥有默认的权限方案,又支持自建的角色类型。
      • 认证步骤是否可以进行简化,推荐使用的银行卡认证并不觉得值得推荐,身份证认证好像也不太想贴图爆照(玩笑)。
    • 结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:

      • web端
        • 非常推荐
        • 无论对于项目管理,还是软件开发过程管理都很强势。最吸引人的还是其完整性。
      • 移动端
        • 不推荐
        • 讲道理不推荐,太糙了,仅考量移动端,我选择leangoo。

    分析

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

    • 针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分

      • 打分说明: 0-3为不太好,4-6为一般,7-9为好,10分完美
      • 评分内容 | 本项满分分数 | 团队打分 |打分理由|
        --- | --- | --- | --- |
        用户体验(移动端) | 10| 5 | 不得不吐槽移动端的功能,首先不能在移动端上修改个人信息(包括头像),体验极差。并且移动端上的功能对比Web端少了非常多,只能做到项目的管理,相较市面上已有的软件或公众号(例如Leangoo)没有太大的亮点,甚至功能还没有他们的多,但胜在界面简洁,操作简单,所以打5分 |
        用户体验(Web端) | 10| 9 | web端用户体验还是很好的,可以很好的满足用户的大部分需求,为用户项目进展上提供很大的帮助,但是用户实名认证上太过于繁琐,会让用户失去认证的信心、兴趣,所以打9分。 |
        UI界面美观度(Web端) | 10 | 8 | 首先从团队成员的审美来看,这个界面的美观是符合我们的审美标准的,上部的任务栏包含了绝大部分的功能,但界面中不是很能体现华为的企业文化,或者说是比较好看但没有特殊含义的界面,所以给到了8分 |
        UI界面美观度(移动端) | 10 | 4 |作为华为这种大公司,团队成员认为移动端界面过于简单,像是速成的UI,不符合一家大型企业的开发水平,且IOS和Android端的界面不是一样,所以只给出了4分。 |
        核心功能 | 10 | 10 |此套软件,给出了包括文档、代码编辑、团队管理等涉及几乎一个项目从头到尾的一站式服务,甚至能链接到某搜索网站搜索相关内容,为项目的进展提供了很大的便利,给10分不怕骄傲。 |

    建议和规划

    • 如果你是项目经理,如何提高从而在竞争中胜出?

      • 移动端在添加好友功能可以做的更具备人性化一点,是该产品更具有社交性。目前Devcloud对于交流方面的功能仅处于某个项目下的某个看板,团队成员可以根据看板的任务数以及任务完成情况进行有限的沟通和交流。如果我是项目经理,我将致力于提高技术人员除了技术层面的交流外,加强团队内部之间的交流,从社交性的角度进行提高。
    • 目前市场上有什么样的产品了?

      • 领歌(团队协作)

        • Leangoo(中文名:领歌)是一款基于看板的项目协作工具。我们可以使用Leangoo可视化地进行项目需求、任务、问题和文档的管理和协作,随时随地跟踪团队工作进展。Leangoo工具的设计融入了先进的敏捷管理思想,由多位业界知名敏捷管理顾问提供支持,并由专业的敏捷开发团队精心打造而成,完美支持Scrum敏捷开发和看板方法。Leangoo的核心是看板,通过看板共享和实时同步团队工作以实现高效协同, 团队工作体现为卡片,内容可以是需求、任务、问题等。Leangoo看板上的主要元素包括列表和泳道,列表管理工作的不同阶段或状态,泳道实现任务的分组对应,从两个纬度让团队的工作高度可视化、一目了然。Leangoo提供永久免费的在线版本,企业、个人或其他组织在线注册之后即可免费使用。Leangoo的数据传输采用了最新的https/ssl数据加密技术,用户数据存储在和支付宝同级别的阿里云服务器上,并且经过了加密存储,以保证用户数据安全。Leangoo也提供商业化的专属版,专属版本可以部署在企业私有云或者企业内网。
      • worktile

        • 一站式协作平台,集高效协作、即时沟通和移动办公于一体,提供企业IM、任务管理、日程安排、企业网盘,工作简报等应用,真正提高员工的工作效率。
          整合企业内外部各种应用,不同应用之间的数据汇总到企业信息总线中,真正解决企业数据孤岛的问题,目前已经支持超过100个企业级服务。定制属于企业自己的企业协作平台,通过自定义Logo和登录页、提示消息打造企业文化;通过配置,自定义企业自己的安全策略。
      • Redmine

        • Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如Perforce、SVN、CVS、TD等等。
      • Github

        • 作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
    • 你要设计什么样的功能?

      • 交流的层级,可以在项目层级与团队成员就更大板块的内容进行沟通与讨论。
      • 信息提醒功能,当团队成员发送讨论话题或者提出问题时,页面有提醒功能,并可以通过提醒的窗口直接进入讨论界面
      • 添加好友功能,目前该平台添加功能,需要通过扫描二维码更换所在区或者精确输入成员名字并通过公司授权,从安全性和需求的角度确实能够部分满足部分用户的需求,但是随着软件对社交性要求越来越高,将通讯录直接添加好友方式必将成为主流。
    • 为何要做这个功能,而不是其他功能?

      • 社交性这个属性在互联网产品中的地位越来越重要,通过公共的社交软件如同QQ、微信等第三方社交软件去交流其他产品的问题,于我与周围的同学来说,感觉到越来越困难,问题的描述,bug的寻找,看板任务的提醒,截止日期等方面的交流矛盾将越来越突出,平台本身的社交功能也使得更加重要。依据我们团队的构想,从添加好友、消息提醒、交流的层级三方面着手,可以有效的提高该平台的社交性,提高用户体验。
    • 为什么用户会用你的产品/功能?

      • 这项功能对于一个技术大牛来说或许使用有限,但是对于一个小白来说,确实一个救命稻草,很多遭遇的问题和bug在不知公司大佬大牛的微信等私人联系方式情况下,通过平台自带的社交功能解决是上上策。社交之外,这个功能更多在于咨询与请教。
    • 你的创新在哪里?可以用 NABCD 分析。

      • Need 需求

        • 如上一点所示,我们的需求主要针对两方面,一个是程序员小白初入公司,无处寻觅大佬支持,需要通过云平台联系公司的大牛请教程序上的问题。另一个是团队协作内部对互相提出的问题以及任务的完成情况进行即时的交流和反馈。
      • Approach 方法

        • 为了满足这些需要,我们可以做出以下处理方式
          • 可以通过调查问卷,采访周围使用华为软件云平台的用户或者使用相关类似平台用户,并给出真实的用户体验。
          • 利用网络,发布测试版产品,可以让不同年龄段的用户使用体验并且可以给出一些建设性的意见。
          • 充分考虑社交软件的功能,将可移植部分与团队协作方面进行综合考虑,使得两者无缝对接,另外充分考虑团队协作社交对于技术上的问题,进行针对性处理。
      • Benefit 好处

        • 云平台除了能够提供代码管理、团队协作、编译构建等功能之外,还能整合社交软件的功能使得开发人员直接通过该平台进行沟通交流,方便灵活。
        • 拥有可以个性化添加好友的选项,很多人的对隐私比较重视,工作和生活应当分开,技术层面大多是工作上的交流,启用私人的第三方软件会影响到自己的生活。
      • Competitors 竞争

        • 诸如市面上的其他产品,对于平台集成其他功能上做了不少功夫,但是在社交层面有比较领军优势的产品暂时没有,如领歌通过邮箱进行提醒等,许多软件也在探索符合自己产品特色的社交方式,我们的产品直接针对技术层面的交流进行探索,在原来集成诸多功能的情况下丰富社交功能,使得用户获得良好的使用体验。
      • Delivery 推广

        • 如果我们的方案能够通过华为官方的认可,我想,推广这个东西,应该很简单吧哈哈哈。
    • 如果你来领导这个团队,会有什么不一样?

      • 如果我来领导这个团队,我想我会更加注重软件的广泛性、社会性、社交性,在实用性方面可能比较弱,整个团队也会更加充满生命力,注重建造氛围,战斗力可能从另一个层面提高,相信应对更多的任务,也无所畏惧。
    • 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?

      • 2个人负责核心模块的代码开发,一个人负责后期测试,一个人负责全程的美工与界面,还有一个人负责整个项目的统筹,以及随时根据社会上的具体情况,调整产品发展的方向,我们不能闭门造车,要随时关注社会变化,在产品完成之时,处于一个良好的推广时机。
    • 描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。

      • 第一周,小组内部讨论,对功能进行具体化、方案化。
      • 第二周,小组外出调研,尽可能收集竞争对手目前致力于解决的问题,如发生冲突,应及时调整策略,或在自身功能上做更深入探索。
      • 第三周,敲定方案,立即开始开发与页面设计。
      • 第四周到第八周,开发过程,争取在第八周alpha版本发布,并进行小组讨论,补缺补漏。
      • 第九周到第十四周,第二波冲刺,每个版块功能完善,并争取准发布版本。
      • 第十五周,公司内部测试,问卷反馈,处理问题。
      • 第十六周,界面完善,最终发布。
    • 项目发布后,有没有考虑过项目该怎么部署才能满足需求。分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置)

  • 相关阅读:
    (译)构建Async同步基元,Part 3 AsyncCountdownEvent
    (译)构建Async同步基元,Part 5 AsyncSemaphore
    SICP学习笔记(P3P17)
    关于汇编语言寄存器和指令操作的整理
    VS2010和IE8是怎样让"Ctrl+鼠标滚轮的上下操作"实现改变字体或页面大小的
    "六度空间"的应用——找出两个陌生人之间的关系(二)
    关于QQ一些功能的实现(二)
    用Socket做一个局域网聊天工具
    SICP学习笔记(P27P28)
    算法练习 (二)
  • 原文地址:https://www.cnblogs.com/SwordX/p/7955683.html
Copyright © 2020-2023  润新知