65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 Vue.js 和 Firebase DBaaS 支持工作组 360 度反馈流程的工具开发

2020 年 7 月 8 日

Apache

11分钟阅读

viewsIcon

7304

这个基于 Web 的工具旨在激励和促进协作成员在开发敏捷环境中的内部评估过程。

引言

内部 360 度评估是一个旨在收集匿名反馈的流程,针对密切合作的员工。团队成员可以期望收到同事从不同角度、情况和时间提供的反馈。在此方法论中,重点不在于绩效,而在于与团队合作行为相关的所有方面。因此,它可以帮助开发人员改进他们的互动、沟通、管理,最终提高他们的结果和生产力 [3]。只要排名具有建设性,并且员工愿意采纳他们收到的反馈,这种方法论就可以成为帮助团队成员发展和改进的强大工具 [7]。

本研究的动机是开发一个 360 度评估工具,该工具能够协助心理学家和人力资源专业人员在评估员工的工作档案和团队行为,以及每个人的优势和待改进之处以及团队合作方面的工作。

目标与方法

这项工作旨在开发一个基于 SPA(单页应用程序)模式的 Web 系统,以实现良好的用户体验项目,从良好的可用性和心理学指南出发,以促进一个易于使用且吸引人的系统。该系统将收集其协作团队成员经常填写的数据。基于这些数据,系统将生成一个不同事件和责任背景的历史线。这将使管理员能够跟踪开发人员的演变和改进情况。

为了存储数据,这个原型是基于 Firebase 系统开发的。Firebase [1] 是由 Google 开发的一个平台,它提供了许多用于 Web 和移动应用程序开发的服务,其中包括数据库、身份验证和 API(应用程序编程接口)。

这个原型的基本需求基于巴西教练学院 (BCI) 的规范和建议 [3]。在了解了需求之后,下一步是根据现实中已经广泛使用的合规工具,如 Impulse Up 平台 [4]、Menvie [5] 和 Ship Competency [6],设计主要特征和功能理念。这些平台提供了关于此类评估的信息,例如分析的要点和生成的数据。

为了验证结果,该系统将嵌入到实际环境中,由心理学和人力资源领域的专家进行测试。通过这种互动,预计将得出关于系统效率和实际用途的结论和观察。

开发

功能规范

在项目初期阶段,我们考察了许多具有相同 360 度评估方案的网站,目的是设计一个新颖且与现有网站不同的方案,特别关注用户体验,通过直观的菜单和友好的视觉效果,更容易理解。

在对相关工具进行分析之后,我们定义了

  • 匿名投票 - 为了促进个人主义、自由和自发性,所有评估结果都将是匿名的,考虑评分指数和对特定成员或团队的相应评论。
  • 简短层级 - 为了简化评估机制,系统中只定义了三个注册配置文件。其中一个(管理员)通常操作系统,另外两个(团队成员和领导者)直接参与评估过程。
  • 自我注册 - 为了完全的自由、个性和自我展示,我们定义了用户可以自行注册和定义。
  • 易于注册 - 识别系统中团队贡献者所需的信息最少。只需输入姓名、电话、电子邮件和密码。图像不是必需的,其他个人和团队工作信息可以由系统管理员或团队领导者填写。
  • 易于评估和分析 - 为了简化和鼓励团队参与,定义了一个只有四个简单级别的流程
    • 积极投入,改进潜力高
    • 进步中,中到高改进潜力
    • 缓慢,改进潜力低或受限
    • 无进步,不符合团队合作预期

为了支持此功能,定义了一些基本操作,例如:注册和维护用户配置文件、维护团队、创建评估点、评估成员、分析个人和团队报告的结果。图 1 演示了用例图,描述了主要功能和参与者,展示了在评估流程中不同级别的访问权限和用户交互。

图 1 - 用例图

技术规范

对于开发,此方案使用 JavaScript 编程语言和 Vue 框架 [8]。Vue 是一个增量式框架,用于探索 SPA(单页应用程序)结构,在单个页面模式下运行整个方案系统。

在此项工作中,使用了以下支持工具

  • Visual Studio:用于生成应用程序代码库的文本编辑器
  • Firebase:Google 拥有的移动和 Web 开发平台,提供多种服务,将使用其 API 和数据库。
  • Vue JS:用于构建基于组件的用户界面的 JavaScript 库
  • Bulma:与 Web 语言兼容的视觉框架
  • Adobe Photoshop CC 2020:图像编辑器
  • Git:分布式软件版本控制系统
  • HTML, CSSJavaScript:用于组件开发和样式设置

数据方法论基于非关系模型,但用于存储数据关系策略是重现类似基于传统 SQL 关系的链接技术。这种策略允许利用文档型 DBaaS(服务型数据库)的动态性,在不损失一致性的情况下,为该上下文保持可接受的性能(更多信息,请参阅下面的“技术经验和问题”主题)。

支持已开发系统的模型的主要实体是

  1. 域实体的集合,
  2. 关系的集合,以及
  3. 镜像的集合(图 2)

实体集合

  • users:工作团队的开发人员,进行评估和被评估
  • evaluations:评估某人的会话,是观察、考虑和由同行评估的窗口
  • squad:一个包含所有评估的表,包含要点、标准和观察

关系集合

  • avaliations_rates:用于指示某人参与评估过程的链接
  • squad_user:将某人与团队费用表关联的链接

镜像集合

  • assessment_dates:复制信息以改进数据呈现工作负载、用户和团队组合

参与信息通过 Firebase Google API(应用程序编程接口)发送到数据库服务器。这些数据将分别保存在不同的集合(squads)中,通过被评估成员的 ID 和评估会话的 ID(squad_user)连接。因此,接下来,同类流程(evaluations)的所有其他分类也会被添加。

图 2 - 结构和环境数据库

评估的存储不包含做出评估的人的姓名。当用户完成其评估时,evaluations 集合将被添加到其 ID 中,以指示参与情况。

在评估的有效日期,系统会自动发布结果(之前被阻止),并且同一团队的所有成员都可以查看。

作为一项业务规则,我们规定,在有效期限结束时,如果没有最低参与人数,缺席将被视为“我无法评估”,以确保结果仍然被计入,并对获得的结果产生最小的干扰。

结果

一旦成员团队注册,系统将通知管理员用户批准配置文件的需求。之后,他们将可以根据其在团队评估过程中的限制自由使用该系统。

管理员可以注册团队(图 3),其中指明组的标识、谁将是团队的领导者,最后是其成员。用户可以同时作为领导者或管理员加入多个团队,只要他们符合资格并获得批准。

图 3 - 管理员屏幕

管理员将能够访问系统的其他用户,更新和填写团队信息。这类用户还可以编辑、禁用和删除用户;插入、更新和删除团队;最后,为组创建和提交评估会话。

团队注册后,即可配置评估。需要选择团队、评估周期(开始和结束日期)以及重复频率。随后,团队成员必须进行评估,并在周期结束时或所有成员参与后,参与者将能够访问汇总结果。

成员可以访问个人费率报告的结果,该报告来自增强的评估会话,包括来自同行的反馈和费率,按会话、项目或周期(图 4)。同样,领导者也可以访问其团队的汇总数据。

图 4 - 个人费率报告屏幕

图 4 指的是个人评估结果屏幕。该屏幕分为四个主要特征

  • 圆环图格式的评估图表,按收到的分数划分,以便快速查看
  • 分数和收到的评论表,以帮助未来的改进
  • 过滤机制,用于探索不同的视图,支持对团队参与度的更全面分析
  • 轻松且突出地指示待处理的评估流程,以鼓励和激励参与

登录后,用户从主个人页面(图 5)访问系统。在主个人页面上,他可以检查待定的评估会话、其状态和截止日期。在此页面上,用户可以查看和更新他的个人信息(左侧组件),包括他的个人照片和联系信息。中央组件显示有关团队和项目的信息、评估过程的数据,最后显示有关组织和工作的信息,例如人力资源部。

图 5 - 团队成员的个人主页

屏幕中央故意放置了评估过程的信息。在左侧,如果存在,会指明正在进行的流程,并有一个策略性放置的按钮,邀请员工参与。用户当前的总体分数也垂直居中显示在页面上。在此项中,他可以根据需要访问其分配的分数的其他视图。

图 6 指的是由每个团队成员根据评估会话完成的评估屏幕。此图像显示了组的所有成员,一个组合列表组件用于对每个成员进行分类,以及一个非强制性的空间,用于在需要时插入与分配的分数相关的评论。

图 6 - 在评估会话中输入成员评分

技术经验和问题

系统开发中的主要问题是在非结构化数据库系统中构建数据模型,而不是传统的基于关系的模型。这一困难通过使用非关系型文档的集合副本进行数据保存来解决。这种镜像策略保存了评估参与数据,以方便恢复。这种技术会增加数据更新操作的开销,但可以使恢复速度更快、更可靠,而无需合并不同的数据实体。

考虑一个基本基准测试,使用标准关系型数据库从该监视器恢复一个逻辑数据结构需要 0.1 到 0.2 秒。在非关系型存储中,相同的操作在多个页面上需要 2 到 3 秒。当在本项目原型中提出的结构中运行时,这些请求的基准测试大约需要 0.35 秒,时间更长但数据库请求次数更少。

因此,保留这种关系冗余形式确保了在此类特定系统中的良好保存和恢复性能,因为所有用户都会根据各种标准评估所有用户,这些用户按团队分组,由项目进行情境化,并由不同的评估会话进行时间划分。

结论

这项工作让我更深入地接触了 Web 环境下的系统开发,使用了理论、技术、实践和现代工具。本项目提供了一个讨论敏捷主题的环境,并为此,这项工作探索了诸如现代 JavaScript 结构和多云平台上实现的非关系型 DBaaS 数据库等技术。当然,这些背景为项目和软件开发概念的改进和成熟做出了贡献。

未来的工作,本研究鼓励了许多可能性,例如,开发移动应用程序以促进参与,创建用于导出 PDF 报告的组件,模型可以考虑更动态和可定制的配置数据,等等。

致谢

本文详细介绍了在计算机科学专业的本科毕业项目中进行的实践活动,该项目与一家真实的软件公司合作完成,该公司提供了一个非常丰富的应用环境,以理解问题并随后验证结果。

参考

  1. Bulma Framework (2020)。Bulma Framework 官方网站和文档 [在线]。网址:https://bulma.org.cn/ 访问时间:2020 年 3 月。
  2. Firebase (2020)。Firebase 官方网站、文档和在线开发平台 [在线]。网址:https://firebase.google.com/ 访问时间:2020 年 3 月。
  3. BCI (2020)。巴西教练学院 [在线]。网址:https://www.ibccoaching.com.br/ 访问时间:2020 年 3 月。
  4. Impulse UP (2020)。Impulse UP 官方网站 [在线]。网址:https://www.impulseup.com/ 访问时间:2020 年 3 月。
  5. Menvie (2020)。Menvie 官方网站和文档 [在线]。网址:https://menvie.com.br/ 访问时间:2020 年 3 月。
  6. Ship Competency (2020)。Ship 官方网站和文档 [在线]。网址:https://www.shipcompetency.com 访问时间:2020 年 3 月。
  7. Ship Competency (2020)。Ship 官方网站和文档 [在线]。网址:https://www.surveymonkey.com/
  8. Vue (2020)。Vue.js 官方网站、下载和技术文档 [在线]。网址:https://vuejs.ac.cn/ 访问时间:2020 年 3 月。

历史

  • 2020 年 7 月 7 日 - 文档创建
  • 2020 年 7 月 7 日 - 文字修订
  • 2020 年 7 月 8 日 - 修订和验证
  • 2020 年 7 月 8 日 - 文档提交
  • 2020 年 7 月 8 日 - 修复图像相对链接
  • 2020 年 7 月 10 日 - 作者错误修复
© . All rights reserved.