做爲一名前端開發經理,公司有多條業務線,協調資源支持各業務線平常需求成了個人平常。這篇文章主要記錄這個過程的思考和如何生成一個直觀的日曆圖。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來去維護項目計劃細節來跟進。後續會繼續跟進狀況,學習項目管理,尋求更合適的方式。