记Codes 开源研发项目管理平台——管理系统颠覆性创新实现之事件驱动+信息流

本文主要是介绍记Codes 开源研发项目管理平台——管理系统颠覆性创新实现之事件驱动+信息流,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言 

     市面上所有管理系统,数据都不是以推流的方式展现到前端,有新数据产生需主动刷新页面才能看到,也就是“人找事”;而不是主动推送的“事找人”,Codes 敢为人先,采用事件驱动+信息流实现“事找人”。

1、背景

      一个研发团队内主要就这两类人:干活的、和做管理的;采用项目管理工具主要是为了协同、提效和便于管理;对于做管理的人主要用管理相关的功能;对于干活的人,主要是执行分担的各类事项。

     各类项目管理工具中,对于基层执行人员虽然有“我的待办之类”的功能,但是做不到事找人,来了新的事项不刷新是看不到的,虽然分发事项到个人时可以从IM上收到相关消息,但是各类消息满天飞,容易因消息“轰炸”而淹没。另外对于管理人员来说,系统中相关管理信息太分散,需要来回切换菜单等,一是麻烦,二是增加了学习成本。

      总之市面上的各类项目管理工具都是基于传统MIS系统的实现方式,切换不同的菜单进入不同的功能项,做一个完整的流程下来,需要不断切换菜单及深入到相关功能项中,非常麻烦,对于执行人员做不到“事找人”, 对于管理人员来说,也没法主动推送我关注的相关事项。

     Codes 产品团队始终以用户为中心,从用户的使用场景来思考问题。解决用户痛点,如何让用户爽,就如何实现,这也是我们创新的源动力,换句话说就是,不固守陈规,拥抱零基思维;于是又一个大胆的想法在酝酿了。

  2灵感来源

    一直惦记着“事找人”的事情。过年期间刷微信朋友圈时,突发奇想“项目管理工具也可像朋友圈一样的通知机制”,用项目管理工具干活时就像在不断刷朋友圈,朋友发圈了还显示红点。如果系统采用事件驱动的模式,我的好友就是我订阅的事件,分派给我相关事项也是一种“潜规则“,也就是被动式的订阅,这不就是事找人的场景吗!我订阅什么给我推送什么!且不需要手动去刷新。

 3、需求分析

    事件驱动的方式确认了,但是办公用的工具,也不可能完全像微信朋友圈那样子实现。“事找人”,分为三个维度来处理:一是按一定条件订阅相关事件,然后事件产生了主动推送事件给我,另一类事件是指派给我的事项也算是一种潜在的被动式订阅,然后自动推送给我。也不可能向朋圈那样来展示,工作的事项肯定要分类,且办公协同不可能像朋友圈那样只是浏览,而是要能办理推送过来的事项,如要深度处理一些事项,"朋友圈"容不下,需要到相关功能中心来处理;但是没有菜单咋办呢,工作项显示时如何分类呢,请看下面功能实现及演示。

 4、功能实现简介

4、1 主界面介绍

      有面向管理人员的(1)管理中心;有面向基层执行人员的(2)工作区(相当于朋友圈),有新订阅的事项生产时会自动推到工作区并显示;还有一个面向PM的(3)阶段|规划或迭代计划;最后还有一个就是创建各类事项的(4)全局创建,也就是创建各项事项,也就是发布事件。页面非常简洁,如下图所示:

图片

4、2 工作区功能说明

     以泳道形式显示,当然也可切换为表格视图,时间轴视图,泳道的右上角跳转图标可以跳转到相关功能中心(很巧妙的功能切换),对于执行人员在工作区更改相关事项的状态即可。每个泳道是一个队列,办理后的事项就自动出列(从泳道上消失,同一泳道内其他待办理的事项自动“顶”上来),当然也可以主动下滑加载更多事项。工作区我待办的事项,显示的是指派给我的事项,也就是被动订阅的事件;工作区我订阅的事项,显示我主动订阅的事项。

      如当前在工作区我待办的事项页面,刚好领导又给我指派了新工作(需求、任务、缺陷,分配要执行的用例),会自动推送到相关泳道中,并显示在最上面。我订阅的事项,也是一样的自动推送并显示。

      对于基层执行人员,他们的工作就是,办理我的工作,协作我们的工作,汇报我的工作。工作区承担了办理工作和协作工作的职责,然后日报、周报用来实现汇报我的工作;在全局创建中不用切换菜单就可以直接建日报,日报详见《日报与工时融合集中式填报的创新实现》。

图片

     工作区时间轴视图:

图片

     如当前不在工作区页面,比如在管理中心,然后有事件推送来了,工作区会自动标红点,点击工作区菜单后会根据实际情况跳转到我待办的事项或我订阅的事项。如当前在工作区我的待办的事项中,又有主动订阅的事项推送过来,则我订阅的事项会标红点。

     点击工作区需求泳道右上的蓝色图标可转到需求管理功能中心,点右上箭头返回工作区:

图片

     点击工作区任务泳道右上的蓝色图标可跳转到任务管理功能中心,点右上箭头返回工作区:

图片

     点击工作区缺陷泳道右上的蓝色图标可跳转到缺陷管理功能中心,点右上箭头返回工作区:

图片

     点击工作区用例泳道右上的蓝色图标可跳转到用例管理功能中心,点右上箭头返回工作区:

    接口测试,CICD等功能中心的跳转待实现工作区自定义要显示的泳道后再实现。

4、3 事件订阅

   有不同的事件供订阅,且还可以对订阅的事件增加订阅条件,进行精细化订阅。

图片

  4、4 我订阅的事项

  我订阅的事件显示的是我主动订阅的事件,也就是在4.3的界面中订阅的事件,也是实时推流。

图片

我订阅的事项时间轴视图

图片

4、5 工作规化

     工作区主要用于基层执行人员,管理中心用于管理人员查看日常管理的项目数据,中层管理人员如PM通过阶段规化,或迭代计划进行粗粒度和细粒度的工作规划和实施,瀑布视图时以阶段规化为主线,敏捷视图以迭代计划为主线。Codes 中底层一套数据,可以随意在敏捷和瀑布视图中切换,详见《瀑布与敏捷模式融合的创新实现》。

图片

图片

4、6 管理中心

     管理中心践行让老板感知数据。感知数据分为两个层次,一个是日常管理的数据化,这是基础;另一个是企业级的工作产出数字化表达。日常管理数字化了,企业级的工作产出数字化才能展现出真实有效的数据,且不会被人为粉饰,换句话说就是,过程正确,结果才有保障。目前Codes已完全实现日常管理的数据化,第二个层次正在实现中。

      日常管理数据化后,就能实现以便捷的方式给管理人员抓手,使管理抓得住,抓得好。下面就是Codes 项目管理的抓手要抓的”内容“。

图片

接下来我们来看看,日常管理数据化的一些示例。

4、6、1 总览/仪表盘

      宏观微观兼顾:迭代数据与里程碑|阶段数据并存、粗细兼有

图片

4、6、2总览/待办排名

  了解全局“堵点”,一目了然当前进度瓶颈

图片

4、6、3 总览/负载分析,洞察工作饱和度

以日历和甘特图的形式显示,直观快捷

图片

4、6、4 总览/任务复盘

    用数据说话,减少不必要的例会,比如解决的历史债务,新增债务,当前累积的债务等

图片

4、6、5 总览/人员产出

图片

4、6、6总览/风险分析

以拓补图的方式查看风险事项

图片

4、6、7管理中心/看板

     生成式全局看板,再也不需手动创建看板 。以逆向的方式,也就是通过定义查询条件的方式,来生成看板。所有人共用一个全局看板,定制各自的看板。需求、任务、需求评审、用例、缺陷把它们各自的不同状态,泛化为:规划中、进行中,已完成,终止|暂停这几种状态,并显示在对应的看板泳道中。

图片

      还有工时趋势、计划执行情况、个人及项目日报、个人周报、项目周报、统计分析、工时、进度、全局事项等不再一一列出来。

图片

图片

最后打个总结:

      Codes 事件驱动+信息流的实现方式,确实让系统简洁明了了很多,实现了以不增加负担的方式让执行人员,专注本职工作、高效协同的这个初心,当然还有进一步优化的空间,如定制要显示的泳道等,做到了功能使用上的由浅入深的引导(深入使用跳转到相关功能管理中心);短时间内,暂时还保留了“经典布局”,也就是传统的菜单方式。当简洁布局优化足够好后“经典布局”将不会存在了,当前保留是为了给用户多一个过渡的选择。下一次我们来聊聊Codes 敏捷测试落地解决方案,也是很酷的创新。匠心打磨,持续创新是Codes的产品基因

有客官可能不知道Codes是什么,小C在这里最后补一句:

Codes重新定义SaaS模式的一站式研发管理平台

云端认证+程序及数据本地安装+不限功能+30人免费

图片

这篇关于记Codes 开源研发项目管理平台——管理系统颠覆性创新实现之事件驱动+信息流的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120901

相关文章

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J