作为一名前端开发经理,公司有多条业务线,协调资源支持各业务线日常需求成了我的日常。这篇文章主要记录这个过程的思考和如何生成一个直观的日历图。

现状

  • 多个业务线需求,技术方案选型需要统一落地,所以最好能统一收集需求,合理安排;
  • 跨部门(跨省)合作,目前项目流程并不规范,开发人员需求评估存在一定问题,存在延期情况;
  • 通过开发同学工作日志了解工作情况,无法直观地持续跟踪;
  • 部分产品线临时需求较多,开发同学的计划经常改变,加大跟踪难度;
  • 靠文本输出进度、计划、问题给项目经理,不直观;

目标

所以,我希望通过项目管理工具来进行项目排期资源协调,并输出直观的报告给上级、产品经理、开发经理,将前端工作安排、资源情况透明化,从而逐渐完善项目流程和合作方式

奈何目前好的、完善的项目管理协同工具都需要收费,所以只能重新细化下需求,考虑在现有了解的资源基础上去尽可能达到目标:

  • 方便的项目管理,可持续跟踪进展
  • 支持里程碑,关键时间点,在关键时间点复盘,逐渐优化工作方式
  • 将信息直观地同步给相关方,增加互相间的了解
    • 需求排期情况、节奏点
    • 资源投入情况
  • 通过持续跟踪,复盘,逐渐减少临时变更,提前计划
  • 资源饱和下,提供给各产品线需求PK,将重点放在优先级更高的任务上
  • 输出到工作报告中

所以核心还是项目管理报告输出,综合考虑

  • 项目管理:最终还是决定使用OmniPlan,将项目需求按业务线分组管理起来,但是随着任务的增加,甘特图信息内容太多,不够直观,另外也不容易透明共享。
  • 报告输出:更倾向于使用日历图,像日历日程那样,可以方便查看最近的任务、详情。

所以将重点放在,在OminiPlan项目管理基础上,如何进行合理的管理,将输出的甘特图信息转换成日历图,并形成了最后的解决方案。

最终效果

  • 默认显示当月的项目安排
  • 将任务按颜色区分,关联里程碑
  • 任务展示:业务线、开发人员、需求名称,底下显示完成进度条
  • 点击任务右侧展示详情,如果名称填写需求文档ID,可链接到需求文档
  • 可以筛选业务线、开发人员,减少无关项

OmniPlan

为了最终的日历图展示,首先要确保甘特图数据符合一定的要求,所以先看下输出的CSV:

红框中是我们需要的信息,接下来会介绍OmniPlan使用中的一些点,保证最终输出的数据要求:

  • 任务编号:任务编号按层级编号,以达到类似树形结构的效果
  • 任务分组
    • 根任务按业务线或者大项目分组划分,以此来展示业务线信息
    • 关联项目可以自由创建分组,最终任务按照树叶子节点来统计
  • 里程碑:任务划分几个阶段开发联调测试发布,其中后三项为里程碑,必须按此命名,并跟任务建立关联关系
  • 使用关联线来连接任务:里程碑是通过任务关联和任务联系上的
  • 资源安排:任务安排了资源才算计划内的任务,可以查看人员情况,检查未分配的任务
  • 任务拆分:一个长时间的需求,可能会因为紧急或优先级更高的需求,需要进行拆分,但他们同属于一个任务,只要展示一个信息即可;这时候可以通过任务拆分,安排出合适的时间给其他需求
  • 设置基线,持续跟踪:每周计划排好后,设置基线,用来定期复盘,对比计划和实际情况,发现问题

所以最终我们整理的甘特图如下:

日历图

项目管理起来后,只需要持续根据,更新完成情况,并进行数据同步即可。 接下来我们需要需要将CSV转换成日历图,这里简单讲下思路:

  1. 明确日历图要展示的信息,形成数据结构
{productLine: '',  // 产品线title: '',        // 任务名称url: '',          // 需求文档地址,从名称中获取assigned: '',     // 分配// 开发develop: {startTime: 0,     // 开始时间endTime: '',      // 结束时间effort: '',       // 工时done: '',         // 完成度},// 联调jointDebug: {startTime: 0,     // 开始时间endTime: '',      // 结束时间effort: '',       // 工时done: '',         // 完成度},// 测试test: {startTime: 0,     // 开始时间endTime: '',      // 结束时间effort: '',       // 工时done: '',         // 完成度},// 发布publish: {startTime: 0,     // 开始时间endTime: '',      // 结束时间effort: '',       // 工时done: '',         // 完成度}
}
复制代码

将各阶段数据聚合到一条,是为了避免前台再去查找关联关系,展示详情也更方便。数据通过csv进行解析 2. 日历图由两部分组成:日历+日程

  • 先根据年份月份生成日历图
  • 然后根据日历图开始、结束时间,筛选出范围内的任务
  • 按周将任务拆分成数组,这样可以将任务展示成跨天连续的样子 最终形成:
{dates: [[1, 2, 3, 4, 5, 6, 7]...],   // 日历tasks: [[{任务1,style: {根据开始时间,计算水平偏移根据覆盖情况,计算垂直偏移颜色区分}}],...]
}
复制代码

颜色区分思路:

虽然是随机颜色,但是颜色要能很好区分,另外还要展示进度条,所以需要符合一定的规则。这里基于HSL,只生成色相(H),然后通过饱和度(S)、明度(L)来设置颜色深浅来区分进度条;

所以按照色相环上6大主色:360°/0°红、60°黄、120°绿、180°青、240°蓝、300°洋红不断进行拆分,让临近的两个任务尽可能处于两个主色上

为什么不设置OmniPlan报告模板?

  • 首先模板语法能力有限,难于完成复杂的逻辑,数据处理,日历绘制
  • 可交互性
  • 报告主要是要透明,让相关方知道,同时可以随时跟踪

总结

这样的项目管理主要是为了了解项目安排和资源情况,方便开发经理跟进组员的情况,并统计反馈给相关方。只解决了特定需求,像一些大的项目,应该由PM来去维护项目计划细节来跟进。后续会继续跟进情况,学习项目管理,寻求更合适的方式。

项目资源管理-日历图相关推荐

  1. PMBOK(第六版) PMP笔记——《第九章 项目资源管理》

    第九章 项目资源管理 项目资源管理包括识别.获取和管理所需资源以完成项目的各个过程. 9.1 规划资源管理: 1.定义:定义如何估算.获取.管理和利用团队以及实物资源. 2.规划资源管理的工具:数据表 ...

  2. PMP备考指南之第九章:项目资源管理

    求关注 项目资源管理 第九章 项目资源管理 项目资源管理包括识别.获取和管理所需资源以完成项目的各个过程. 项目资源管理 1. 规划资源管理 1.1 定义 定义如何估算.获取.管理和利用团队以及实物资 ...

  3. PMP学习笔记 第9章 项目资源管理

    第9章 项目资源管理 了解几个激励理论-马斯洛:需求层次理论 马斯洛的需求层次理论:人有五个层次的需求,从最低等级到最高等级依次是:生理需求.安全需求.社交需求.尊重需求.自我实现需求.通常,人们只有 ...

  4. PMP-34项目资源管理

    文章目录 1. 概念 2. 资源管理的过程 3. 规划资源管理 4. 估算活动资源 5. 获取资源 6. 建设团队 6.1 团队建设的五个阶段 6.2 工具和技术 6.3 激励理论 7. 管理团队 7 ...

  5. PMP备考之路 - 汪博士第九章(项目资源管理)

    文章目录 1. 大纲学习 1.1 概述 1.2 各过程的输入和输出 1.2.1 概述 1.2.2 规划资源管理 1.2.3 估算活动资源 1.2.4 获取资源 1.2.5 建设团队 1.2.6 管理团 ...

  6. PMP 考点 第九章 项目资源管理

    PMP 第九章 项目资源管理 章节 序号 知识点 考点级别 备注 第九章 项目资源管理 9.1 层级型.责任分配矩阵.资源管理计划.团队章程 3 9.2 资源日历.资源分解结构 3 9.3 虚拟团队. ...

  7. PMBOK#项目资源管理随记

    项目资源管理 项目资源包括人力资源(团队资源或人员)和实物资源(设备.材料.设施和基础设施).项目资源管理是包括识别.获取和管理所需资源以成功完成项目的各个过程,这些过程有助于确保项目经理和团队在正确 ...

  8. 六、项目资源管理10题

    1.A project manager reviewing the issue log,noticed that the activities assigned to certain team are ...

  9. 可用资源不足excel无法完成任务_项目资源管理包括哪些内容?

    项目管理不只是管理交付项目所需要的任务,如何计划.组织和管理团队对项目产生巨大的影响,项目资源管理对于项目的成败起着至关重要的作用.如果你是项目管理新手,你很容易会对资源规划.分配.调度等术语和随之而 ...

最新文章

  1. SQL Server中的SQL语句优化与效率问题
  2. 基于Pyspark和Thunder的神经图像数据分析-实验运行结果
  3. kubenetes中port、targetPort、nodePort、containerPort的区别与联系
  4. 2017派卧底去阿里、京东、美团、滴滴带回来的面试题
  5. 【软件开发底层知识修炼】十六 快速学习GDB调试三 使用GDB的数据断点监测变量是否改变
  6. 【2015年第4期】大数据时代的数据挖掘 —— 从应用的角度看大数据挖掘(下)...
  7. HashSet 和 TreeSet 及 Map 集合的简单方法,含程序。
  8. 【高校宿舍管理系统】第二章 整合Mybatis和写CRUD的基本流程以及使用代码生成器生成Mapper等相关代码
  9. yum 安装 sz与rz(上传、下载)
  10. 程序员表白源码集合打包带走
  11. 北理乐学c语言,北京理工大学2018年计算机考研889数据结构考试大纲
  12. 软件开发部分文档说明
  13. 云课堂智慧职教网页版登录入口_云课堂智慧职教网页版登录入口
  14. wifi无线设备服务器驱动,如何安装Windows 10的WiFi驱动程序
  15. 利用WebSphere Edge Server构建冷轧系统负载均衡
  16. m227fdw恢复出厂设置_惠普M227fdw说明书
  17. 脱壳手把手入门(详细)——aspack压缩壳
  18. 职业学校计算机专业好吗,计算机专业就业前景好不
  19. java使用axis实现webservice接口调用
  20. HEX文件和BIN文件转换

热门文章

  1. odoo12企业版修改邮箱配置
  2. 武林外传手游怎么在电脑上玩,武林外传安卓模拟器电脑版教程
  3. plc c语言 软元件t,三菱PLC软元件的种类及功能大全
  4. 计算机实习报告6000字,实习报告6000
  5. 【计算机网络】期末课程设计 ENSP组网综合实验(附工程文件)
  6. python天天向上续3.2_在Jupyter上学习python(U.3)
  7. spring整合aspects做aop演示
  8. 重学 Java 设计模式:实战组合模式(营销差异化人群发券,决策树引擎搭建场景)
  9. 超级生产力的背后是强大的技术实力 央媒点赞小米“黑灯工厂”
  10. 最新咸鱼数据采集工具