软件产品案例分析
第一部分 调研,评测
功能分析
- 1、华为软件开发云首页
首页展现了该租户下的所有项目以及工作项进度,右侧包括企业成员管理和项目最新动态消息,整个界面来看,比较简洁、而且所有工作项,包括进度的查看,拖拽改变相应的进度,也方便管理人员对所有任务的掌控和跟踪;
- 2、看板
点击单个项目卡片,左侧是开发云所有端到端的功能菜单,右侧上方是以敏捷开发的理念内置测3个迭代周期,开发人员和项目经理可以根据自己的需求更改相应的迭代时间(一般为2-4周,系统会自动内置三个迭代),右侧下方是几个多维度报表,包括燃尽图、趋势图、工作项完成率、项目需求统计、遗留缺陷统计和项目成员管理;
燃尽图,以迭代周期为横轴,工作量的数目为纵轴,绘制整个项目的进展趋势;
- 3、工作项
新建工作项,填写具体的字段,工作项类型可选需求或Bug ,同时系统内置了需求和缺陷模板。
可以对新建的工作任务进行细致描述,并确定其在各项工作中的优先级
卡片显示方式下,可以手动拖拽到不同进度;
- 4、代码仓库
同样可以通过SSH(需设置)或者HTTP进行访问
进入仓库后,与github类似,可以查看里面的源代码文件,以及团队中新提交的请求。
- 5、检查
这部分主要功能就是检验代码,是否合乎团队要求,新建检查任务时,可以根据不同需求,选择不同的检查规则
具体检查界面(风险指数、有效代码行等)
- 6、流水线
我记得前段时间的团队开发,有一项作业就用到了流水线工具,将其整合到软件开发云中,的确想的很周到。
项目管理服务的优点和缺点:
- 优点:
1.从项目规划到工作项的创建和分配,包括拖拽式的进度控制,全流程清晰明了,易于管理人员操作和掌控;提供个人级、项目级看板,直观呈现进展与风险;树表、任务墙视图满足不同用户的使用习惯。
2.整个流程基于敏捷开发的理念,采用小步快跑的迭代形式,取代传统的瀑布模式开发模式,快速应对多变的需求。
3.项目文档可以系统开发、轻松共享,狗狗做任务讨论结果自动归档,有效记录工作事项。
- 缺点:
新建工作项,填写具体的字段,工作项类型可选需求或Bug ,系统内置了需求和缺陷模板,暂时不支持自定义导入模板,同时该文档也无法被导出,只能在云上查看。
敏捷开发的基本原则:
1.我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意
2.即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。
3.经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。
4.在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
5.工作的软件是首要进度度量标准。
6.敏捷过程提可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
7.每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
采访(并未采访真人,摘取网络测评资料)
-
华为软件开发云(以下称为Devcloud)平台的看板、迭代、多项目需求、缺陷管理等功能支持敏捷的开发模式,加强团队成员之间的协作和沟通,使项目成员更专注于业务本身,而非文档的管理;另外Devcloud贯穿于软件开发的全生命周期,基于Devops的开发理念,自动化的集成构建,运行和维护、使得团队可以快速交付一个可独立运行的项目,快速应对市场和需求的变化,让整个开发流程更加的简单高效。
-
目前来看,Devcloud的项目管理服务仍然有继续改进和升级的地方,但是敏捷开发、devops等理念是整个软件行业的大趋势,Devcloud也在践行这样的理念,让这些理念真正落地。
-
至于未来软件开发模式的发展方向,很难说敏捷开发是未来的主流模式,但是未来的需求、市场是多变的,做好功能的同时,做好用户体验,快速推陈出新,快速试错和迭代,才能保证产品的良性发展。
-
通过对华为软件开发云代码检查服务的评测,总体上来说,开发者的代码质量、管理者的管理效率都有显著的提升;
-
使用截图:
打开具体的任务详情界面,可以看到一系列的多维度报表,报表从风险指数、未解决问题、圈复杂度问题、代码重复率、注释占行比等等一系列维度进行统计,最后给出代码总体的质量星级;该报表可以作为项目经理评判组内成员代码质量和绩效的依据。
采访建议:
-
1.自动化的修改代码:用户检查完毕后,针对已出现的错误增加一键修改功能,只要用户认可开发云提出的修改意见,用户就可以点击一键修改,省却了到代码仓库手动更改的操作;
-
2.可扩展的检查规则:目前华为软件开发云只提供了华为的经验集合,除此之外,每个公司都有自己的规则和检查集,希望后续代码检查服务可以提供开发接口,各公司能够自行开发适合本公司的检查规则;
-
3.提供IDE插件:希望代码检查服务能够提供IDE插件,这样用户在编写代码的时候,就可以参考提供的修改建议,让错误和不规范代码被扼杀在摇篮中;
-
4.自动检查语言类型:目前需要用户手动选择需要检查的语言类型,然后搜索对应的语言类型的文件进行检查,希望未来用户对语言类型不做判断,服务自动判断项目都包含哪些语言类型,然后针对不同语言对应的修改建议;
-
5.自我学习能力:目前代码检查对逻辑层面的分析不足,希望未来的代码检查功能可以自主学习用户的代码逻辑,通过学习和分析逻辑,给出更完善更高效的反馈和建议;这一点暂时比较难以实现,但愿可以实现此功能;
综合来说,还是比较推荐使用本款软件的。
第二部分 分析
-
按照所给环境来说,我认为完成同样功能软件,并发布,有效工作时间大概在2~3个月左右吧。
-
整体来说,本款软件可能推广度还不如github,但是,对于国人来说,的确界面更加友善,是一个绝对的优势。
第三部分 建议和规划
-
如果我是项目经理,我认为必须实现功能全面且细化,比如上文提到的华为云将流水线功能囊括之中,无需再去另外的地方找工具。
-
为我们熟知的同类产品是github,同时也是我们在做团队作业不可或缺的工具之一,当然之所以我们熟知,源于学校老师的推荐。
-
如果我能给这款软件添加功能,我比较希望添加自动修改代码功能,毕竟,这也是我在开发过程中,比较厌烦的问题之一。
-
我们的产品创新,一方面对于现有功能尽可能细化,并希望添加流水性、UML系统设计所需的工具。
-
5个人,4个月时间,那我觉得必然安排绝大多数参加后端开发,可能会有3个人;另外就是前端一到两个人,美工一到两个人,团队中总有人需要作为机动。至于软件测试,内部成员都会参与测试,并且交给周围朋友一起参与测试环节。
-
16周之前一定要完成功能的实现,并排除所有已知BUG;在16周期间做好宣传,并发布到APP下载平台,完成发布工作。另外,在开发阶段,我们已经准备好了配套设备,比如服务器(用来后端和前端用户交互)、核心算法(自己开发的虽然现在无法使用,也有网上提供的接口作为备选)