做为一名前端开发经理,公司有多条业务线,协调资源支持各业务线平常需求成了个人平常。这篇文章主要记录这个过程的思考和如何生成一个直观的日历图。javascript
因此,我但愿经过项目管理工具来进行项目排期
、资源协调
,并输出直观的报告
给上级、产品经理、开发经理,将前端工做安排、资源状况透明化
,从而逐渐完善项目流程和合做方式
。前端
奈何目前好的、完善的项目管理协同工具都须要收费,因此只能从新细化下需求,考虑在现有了解的资源基础上去尽量达到目标:java
因此核心仍是项目管理
和报告输出
,综合考虑npm
OmniPlan
,将项目需求按业务线分组管理起来,可是随着任务的增长,甘特图信息内容太多,不够直观,另外也不容易透明共享。因此将重点放在,在OminiPlan
项目管理基础上,如何进行合理的管理,将输出的甘特图信息转换成日历图,并造成了最后的解决方案。数组
为了最终的日历图展现,首先要确保甘特图数据符合必定的要求,因此先看下输出的CSV:bash
红框中是咱们须要的信息,接下来会介绍OmniPlan使用中的一些点,保证最终输出的数据要求:数据结构
开发
,联调
,测试
,发布
,其中后三项为里程碑,必须按此命名,并跟任务创建关联关系因此最终咱们整理的甘特图以下:工具
项目管理起来后,只须要持续根据,更新完成状况,并进行数据同步便可。 接下来咱们须要须要将CSV转换成日历图,这里简单讲下思路:学习
{
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°洋红不断进行拆分,让临近的两个任务尽量处于两个主色上
这样的项目管理主要是为了了解项目安排和资源状况,方便开发经理跟进组员的状况,并统计反馈给相关方。只解决了特定需求,像一些大的项目,应该由PM来去维护项目计划细节来跟进。后续会继续跟进状况,学习项目管理,寻求更合适的方式。