最近在 Learnable 網站修了一門課 Project Management for Freelance Developers,雖然是很基礎的 Project Management,但做為入門基礎還算不錯,以下是我做的筆記重點。

Lesson 1: Course Introduction

  • N/A

Lesson 2: Standardized Methods of Project Management

  • 介紹 Agile, Lean, Scrum, Waterfall 的基本精神
  • 但身為 Freelancer 的話,以上的方法論都不可能整套採用,畢竟你要同時對多個客戶(如果你只有一個客戶,那有點危險,雞蛋不要放在同一個籃子)

Lesson 3: Managing Projects

Step 1: Creating Your Own Project Management System

  • 身為 Freelancer,除了做客戶的需求外,拓展自己的 businesses 也很重要
  • 訂下 Email 處理原則,收到普通重要度的信也立刻回覆,會很浪費時間(尤其打斷 flow 的話),一個禮拜可能清空一兩次信箱就 ok 了
  • 批次作業:安排時間回覆所有 email,一大段時間拿來寫 code,一大段時間拿來寫文章等。而不是寫一下 code 回一下信再看個影片這樣快速切換
  • 每週一次 review 你的 Project Management System 哪部分 work 哪部分不 work,寫下來,寫下改善方案,並在下一週實行
  • 尋找到 work for you 的選項後,開始長期實行,但每個月跟每季仍要 review 一次

Step 2: Managing Your Own Projects

  • 避免 scope creep (客戶把追加功能當加水免錢似的)
    • 要制訂許多防衛原則,例如若因為客戶方太晚回應導致時程拖延,延長的時數將會變成更高的鐘點費等,這些事情值得你花錢請律師
    • 討論後要寄 email 把你理解的內容跟客戶確認,確認後才實作
    • 減少 stakeholders,不然你一言我一句,email 一個一個提供建議就沒完沒了了
    • 不過當 project 所有問題都要經過同一個人的時候,那個人可能成為瓶頸(老是很慢回信),也是要避免的問題
  • 讀這篇文章: http://www.ndoherty.com/effective-email-communication/
  • 記得要留處理雜事的時間,例如接洽客戶、提案、處理發票等,因為在公司工作的時候通常這些事不需要你做

Step 3: Managing Other People

  • 溝通:assign 工作的時候,用清楚簡單的語言,而不是假設對方有相關專業知識用語。該解釋的要解釋之外,也預測對方會有什麼疑問,不能期待別人有通靈能力
  • 文件:用文件、截圖、螢幕錄影等方式,把需要重複解釋的東西變成 HOW TO 文件
  • 把任務拆成小 task,押明確的日期,不要把一個 mini project 等級的東西 assign 給不適合的人

Step 4: How to Plan Your Own Projects

  • 依照 kickoff 會議的 outline 決定 milestone
  • 但 milestone 應該是一些 deliverable(例如 wireframe、prototype、第一次 revised、成品等),而不是「25% Done」這種東西,因為 25% 的內容是什麼每個人的解讀不同
  • 要有計畫,但計畫太詳細可能會浪費時間,因為 project 有可能會轉向。所以先 plan 大致、與 milestone,接近的時候才 plan 詳細的 tasks

Lesson 4: Project Management Tools

  • 介紹 Basecamp, Asana, Wunderlist 的特色
  • 提出一些尋找適合自己的工具時的考量點

Lesson 5: Course Conclusion

  • N/A