若是不去親身經歷幾個外包項目,讀者是不可思議這種「焦油坑」的恐怖。外包項目由於規模較大,涉衆較多,在管理上每每更爲複雜。本文,闡述外包項目的特色以及筆者的管理經驗,但願能便幫助讀者管理好外包項目。程序員
1 項目中常見的問題算法
常見問題 | 現象 |
範圍 | 需求難以凍結,處於「變動-修改-測試-變動」的死循環中。編程 |
質量 | 文檔質量問題,如:關鍵文檔缺失,沒有能按照統一要求編寫文檔;文檔內容先後不一致,有歧義,預期讀者沒法理解,文檔版本與代碼版本不一樣步等。安全 編碼質量問題,如:不遵照編碼規範,可讀性差難以維護魔數氾濫,關鍵代碼無註釋,代碼檢查出現大量警告,濫用語法致使性能瓶頸等。架構 系統質量問題,如:不寫驗證,安全漏洞,異常頻發,內存泄漏,日誌缺失,不支持大量用戶,運行緩慢等。性能 |
成本 | 前期成本估算偏差較大,缺少足夠依據。測試 後期沒有對成本進行量化分析。編碼 |
進度 | 項目常常延期或者是匆匆上線。設計 |
外包項目中凸顯的一些問題 | 現象 | 解決方法 |
前期準備不足 | 需求質量問題,如:遺漏需求,需求不明確,需求描述先後不一致,需求存在歧義等。日誌 開發環境問題,如:配置管理、開發、測試、Bug跟蹤、項目管理等環境搭建沒法知足工做須要。 流程問題,如:是否已經創建了周知的工做流程,是否已經具有了相應的範本、檢查標準和公約。 |
儘快梳理需求,搭建環境,創建項目所需的最基本的生存環境。 制定計劃時,充分考慮到這種狀況,識別潛在風險,預留足夠的風險儲備。 |
人際關係複雜 | 干係人數量龐大,其需求各有不一樣,可能存在需求之間的衝突。 涉及多個供應商、提供商,項目進行中會有開發團隊之間的矛盾衝突。 在人員混編團隊中,會發生外部人員難以管理甚至罷工的可能。 |
必須明確掌握核心干係人的職位、職責和角色,增強溝通,作好乾系人關係維護。 遇到問題要協調多方負責人協調解決,不要帶感情色彩。 |
資源問題凸顯 | 人員儲備不足,開發用機器配置較低編譯緩慢等。 外部人員能力良莠不齊,且難以管理。 人員離職頻繁,資源嚴重不足。 |
儘可能參與到人員招聘中,對能力不達標的在職人員進行培訓,儘可能不要勸退。 磨刀不誤砍柴工,必要時,申請合理的硬件資源。 在進度計劃裏安排單點技術的交叉培訓,以應對該人員離職時的衝擊。 |
PM沒有足夠權利 | 受制於多個上級領導,對甲方決策無力抗爭,對項目組內的甲方人員難以管理。 |
和領導搞好關係,增強溝通,本身權限外的找負責人解決。 |
地域和文化差別 | 封閉開發時的伙食問題,如:上海人不愛吃辣的,回民不吃豬肉等,這些問題他們都會找PM。 溝通問題,不一樣地區語言文化差別,尤爲是遠程會議時,可能會在理解上有阻滯。 |
及時和甲方溝通團隊成員的合理訴求,要勇於維護團隊的利益。 認識到理解上有疑惑時,及時溝通,不要礙於面子不去張口。 |
加班 | 加班致使離職。 加班致使士氣低下。 加班致使消極怠工。 加班致使代碼質量低下,Bug頻發。 加班會致使疾病甚至過勞死。 |
合理的安排趕工,對不合理的要求說「不」。 儘可能爲加班程序員爭取利益。 一馬當先。 合理安排計劃,預覽風險儲備,儘可能作到在節假日不加班。 |
須要PM參與設計和開發 | PM想要扮演架構師和程序員的角色。 |
優先完成關鍵路徑任務,利用碎片時間參與其餘非關鍵任務。 |
2 項目管理經驗總結