华为软件开发云——个人评测

第二部分 分析

此项目完成时间估计(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)

假设:

团队的六人对于项目开发所需的技术都基本熟悉

预计:

需求分析阶段:90;对于代码管理,已经有前身十分成功的Github,在此需求上进行改进的需求收集花费的时间较少。但由于平台不仅希望整合代码管理,还有包括代码检查、构建、部署等模块,所以每个模块进行需求分析预计使用90小时,进行现有资源的用户意见收集、分析结论等等。
编码阶段:720;因为我假设团队的6人对于相关技术都熟悉,预计中间需要学习所用的时间在平均每人十小时以下,大约每人的平均编码时间在110小时左右。这里因为所做的开发项目,对于每个熟练编程的成员来说它的功能应当是比较明晰了解的,因为在大学期间编码必然要接触到代码管理、复审、测试、构建等等,而部署则是一个相对较为简单的部分,因此显然不能简单的将实际时间Y=X+-X/N中的N视为0,而视为1较为合适,所以实际时间Y=0~1440小时。

软件目前优劣分析

因为这个领域的老资格是Github,所以不妨将该项目与其相比。
软开云优势:
1、拥有比Github更加完善的可视化分析界面,将数据直观呈现给开发者。
2、界面整体的交互性比Github优秀,可以直接可视化进行文件操作,UI更加精美
3、项目流水一体化,一个项目所需要进行的每个阶段几乎全部涵盖,做到了一个平台就够用
4、代码广场的构想令人赞不绝口,软件开发将越来越容易
5、(对于中国程序员而言)中文的交互性明显更加舒心
软开云劣势:
1、拥有完整的整体开发体系在某些情况下或许也会是软开云的劣势,Github是一个精简的代码管理平台,做到纯粹的代码管理。一个团队或许仅仅需要这点,而不需要在平台上测试、使用华为的服务器,对于他们来说多余的功能也许会造成麻烦,而选择更为轻便的Github。
2、虽然添加了更强大的可视化操作,但响应速度有所下降,不如Github迅速。
3、没有桌面版的软件,许多核心功能还是通过命令行操作。APP也不像Github的APP那样功能强大,可以进行Code Review等操作。

团队在软件工程方面可以提高的一个重要部分。

团队应该重视测试项目,高效使用软开云所具有的这样的测试模块,提高测试水准与效率。

功能逻辑框图(框内下标数字左为重要度,右为完成度)

维度评分(单项满分10分)

用户体验方面:7.5
UI界面美观度:8
核心功能:9


第三部分 建议和规划

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

碰巧我正好是软件工程实践团队中一支队伍的PM,对于这个问题我觉得可以从我带队的这半个学期来谈。
首先软工给我带来的最大一个感触是,一个产品要有竞争力,首先应该有吸引人的创意。我们团队的“好记”项目在我看来每一个阶段其实都做的较为出色,但并不能得到同学们包括老师比较好的认可,这就是源于我们的软件不具备创意,日程管理是一个很普遍的概念,已经被无数的团队开发过,所以当你需要做一个被“玩烂”的东西时,势必要再创新,拿出特色。好在软开云并不算是一个无创意的产品,虽然它的各个分模块在市面上可能已经能找到成功的典例,但将这些概念结合,就成了一个新的东西,然而我觉得还不够。这个新东西目前来看就是一个比较完善的开发流水线,虽然完善,但特色不明显。软开云有代码管理、团队合作,Github也有,并且目前Github上开源的优秀代码仓库肯定远超软开云;软开云有直接可部署的华为服务器,我用阿里云腾讯云之类更早起家的会不会更让我放心呢?有代码测试,但实际上测试仍要通过其他工具完成,这个部分虽然有实用之处,但不足以成为卖点。所以我觉得特色的牌应该要打出来,然后围绕着这个特色再去告诉用户:不仅如此,你在使用我们这个特色产品的同是还可以方便的用到代码管理、检查等等工具。所以我的想法如下:
1、我所认为应该着重打的特色牌是“代码广场”,也就是应该将这个目前并未有真正成功先例的产品做着重推广(即使是Github在类似功能上也没有做的很好,搜索的代码就像是零散在地上的各种小玩意,夹杂着一些值钱的东西,但并不容易发现)。
2、显然现在的软件开发都在往“越变越容易”的方向走,各种功能在网上都能找到多多少少的开源模块包,所以代码广场是一个越来越重要的需求,越来越多的程序员会去使用,至于管理、检查、测试,难以去撼动早已在这些领域做得很优秀的平台,习惯使用Github的团队至少一时半会不会开始使用华为,对于一个大公司来说更是如此。
3、UI还需要改进,不仅是界面要更好看美观,还需要有突出的特色,目前产品官网的界面我个人在第一次点进登录后主页的时候就感觉像贴满小广告的墙,产品是有一大堆,但并没有让我对哪个产生兴趣,至少不能第一遍浏览还以为这个平台只是卖服务器的。

目前市场上有什么样的产品了?

代码管理:Github
云服务器:阿里云、腾讯云

你要设计什么样的功能?

功能上其实我比较抗拒再去添加新的大模块功能,因为我的理念一直是“简单化”,太多的功能入口可能会让用户找不到一些我们真正的卖点,也就是杀手级功能,而目前这个平台的功能已经较为完整。所以在功能上我只提两个改进想法:
1、在现有的测试模块上进一步添加可直接进行代码测试的功能,而不是任务表分配的形式。
2、看板界面增添更多类数据分析样式,初始显示燃尽图等较为常用的默认视图,可由用户点击按钮选择其他更多的分析模式查看。

为何要做这个功能,而不是其他功能?

1、任务分配的测试形式较为鸡肋,结合实际可用的测试功能将不止成倍的提升这个模块对用户的吸引力
2、目前看板一股脑的把所有数据图都显示出来,确实可行,但我觉得可以加入对于更多数据进行分析的图,比如每个团队成员的代码量、上传日期等等的数据图,当数据图较多时,就可加入选择功能进行切换。

为什么用户会用你的产品/功能?

显然我的功能对一个团队来说是100%实用,直接分配测试任务,在平台上就可以测试,基本不用第三方工具,极大简便了测试过程,不论对于个人还是团队PM都是梦寐以求的功能。

你的创新在哪里?

N(Need):目前的软件测试使用工具繁多,每种开发平台可用的测试方式又不同,测试过程较为复杂,需要一个更加的的测试平台。
A(Approach):在测试模块直接集成可用的测试功能,可以增量的形式逐步添加更多测试。
B(Benefit):简化测试流程,减少测试渠道,节省用户时间,并且测试前后可以更快的进入测试、更快开始测试完成后的工作。
C(Competitors):竞争主要就是各种专业化的测试工具,我们是否能做到比肩这些在单项上足够让程序员长期使用的工具。
D(Delivery):因为我提出的功能是集成在软件开发云这个大平台中,所以实际上主要的推广途径应该是对平台推广,但如果真的能实现这个具有挑战性的任务,完全可以作为同“代码广场”一般的卖点进行推广,并且与代码广场结合,可以马上将代码广场中的采用的代码进行功能测试,得出是否使用的结论,效益也是不止成倍增长。

如果你来领导这个团队,会有什么不一样?

作为一个经验尚浅,相对于原开发团队PM来说大概仅仅相当于零基础的新人来说,回答这个问题真是十分惭愧。我觉得如果我来领导这个团队,不一样之处将有:
1、产品将以其中1~2个模块作为主推核心功能进行重点开发和推广。
2、软件的功能及UI将进一步精简,甚至可以删除一些现阶段较为鸡肋的小功能项。
3、尽量减少功能入口,突出产品的侧重点

如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?

因为美工与开发的工作可以并行,不需要在短时间内大赶进度,所以一名美工足够,开发人员进度更快可以在需要用到美工作品的地方先用空白代替,等美工完成后在进行调用。而测试则是类似标量流水线的并行方式,当开发完成第一个模块后,开发人员就可以进行下一项开发,测试人员同时可以对第一个模块测试,测试的功能应该是小于开发的,并且开发人员还要解决测试出的问题,所以测试人员也只需要一名,剩下三名人员进行开发。
综上所述,人员分配:
开发:3人;
测试:1人;
美工:1人。

描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。

第一周:需求分析,撰写相关文档,创建项目,分配工作
第二周:搭建产品及后端框架,美工并行
第三周~第八周:编码完成具有核心功能的Demo版本
第九周:Demo版本测试、Debug,收集用户测试意见,进行进一步编码的分析
第十周~第十五周:根据分析结果进行计划的调整,完成正式版
第十六周:正式版测试,Debug,发布

项目发布后,项目该怎么部署


应用服务器配置:8核16G4
后端服务器配置:8核16G
8
关系型数据库:SQL Server/Oracle/MySQL 3,读写分离2,备份*1
缓存数据库:Redis *2
网站安全性:DDOS,WEB应用防火墙,WEB漏洞扫描,数据库安全
关注存储代码的安全与保密性。


posted on 2017-12-02 13:28  WayneYe  阅读(7395)  评论(2编辑  收藏  举报