• 想要很快把事情做完?而且不出錯?使用檢查表
  • 寫程式很複雜,想要把它弄的簡單,容易駕馭?使用檢查表

所謂的檢查表,其實很簡單,就只是一邊做、一邊記下做了什麼。例如食譜,一邊做菜、一邊記下剛剛是清洗、切菜還是下鍋油炸。日劇 Grand Maison Tokyo,開發新菜時,需要在牆上記下步驟、加了什麼食材、加了多少,失敗了就劃掉,直到成功為止。醫生動手術必須遵循一定的步驟,例如割盲腸並不是隨便拿刀把肚子切開,找到盲腸,然後切除,詳情可參考漫畫仁醫單行本第七卷陣之章第3話西鄉。常規手術代表各種典型的疾病與對應的手術步驟,所以寫程式應該也有典型的需求與對應的撰寫步驟。

安裝開發環境很無聊,而且常常卡住不知道怎麼辦,我們程式設計師笑說那是測試人品好壞的時刻,於是一邊安裝、一邊記錄安裝的指令,新增修改的檔案名稱與內容。之後進一步用程式自動完成安裝步驟,也就是 Ansible, Terraform, Puppet, Chef, 和 Salt 這些工具。一開始安裝要用到二、三天,記下步驟後,下次複製貼上執行指令只要一小時,最後用 Ansible 之類的程式自動執行只要五分鐘,沒有比這更快了。

所以我就在想,安裝開發環境很複雜,為了控制複雜,想要把它弄的簡單,容易駕馭,減少出錯,於是記下過程,為什麼寫程式不這樣呢?之前寫完使用 Docker Compose 安裝 Laravel 和 Vue.js 環境,想到了這一點。可以寫文章記錄整個安裝過程,之後自己有需要時直接拿來用,寫網站也一樣吧?記下自己建立一個 CRUD 網站的所有步驟,寫成部落格文章,之後只要照著做就能在幾個小時內產生基本的網站程式碼(80% 的工作),集中精力在需要特別處理的部分(20% 的工作),例如額外的功能。

而且檢查表可以不斷累加,更新成更好的設計。例如有單元測試和沒有之間會有多大變化?如果有記錄步驟,就能清楚比較,並用在新的程式上。

轉載:RD 如何養成 寫筆記 / 製作 SOP 的習慣

RD 如何養成寫筆記/製作 SOP 的習慣

via Blog.XDite.net by xdite on 2/17/11

這是最近比較常被問到的,為何我現在似乎有無窮無盡的主題可以寫,而且背後似乎有成打的 SOP 在備稿…。到底是怎麼做到的…?

之前我不少文章都提及 SOP 的重要。到底要怎麼寫出精美的筆記或敦促屬下寫出 SOP,似乎永遠是 RD / RD 主管的一大困擾(聽到就皺眉)。 我這個習慣也是最近這一兩年才算養得比較純熟,算是可以提供各位一點參考。

事實上這是不難做到的,在這裡提供一點技巧與方法。

  1. 準備適當的工具:

Source Control System、Issue Tracking System、好用的 wiki 是必備。如果你還試不出好的組合,我會建議你直接使用 Git + Redmine,全包!

  1. 養成隨時 commit 與 在 ticket 上寫 note 的習慣,丟掉事事都想完美的迷思。

RD 對於筆記這個名詞似乎往往有股莫名恐懼感,總是想一鼓作氣寫出完美的筆記。但是永遠卡在一打開筆記本,對著空白內容開始發呆,之後就不了了之的窘境。

  • 所以首先要做的就是告訴自己,我寫不出完美的東西,我只需要貼 command 小抄就好。
  • 再來是習慣性在 code 每寫到一個段落時,就 commit 一次,把剛剛 implement 的想法寫在 commit note 裡
  • 步驟操作到一小段落,就把 console 的指令貼到 ticket 上
  • 踢到一個鐵板,就到 ticket 上哭么一次。不管是 exception log 或是詭異解法都好
  • 每找到一則參考資源,就把網址貼到 ticket 上去。避免之後手賤開了一堆窗,結果愚蠢的習慣性分頁全關滅團…
  1. 確定完成該項工作後,「當天」找 10-20 分鐘整理工作細節。

打開一篇空白 wiki,和你今天的那張票,票上面會有絕對資源足夠你整理出工作順序、細節與注意事項。工作完成的「當天」就要整理完,否則隔天就會忘光光…

  1. 找隔壁閒著的同事問看不看得懂你在寫什麼。只要模糊其詞需要修整,就馬上行動。

  2. 下次進行任務前,先找看看 wiki 或 ticket 有沒有類似的工作或解答。已經存在的話,工作完畢時繼續補充與修正前人的筆記。

剛開始做這件事時,第一個禮拜一定會搞砸。不過小 commit / 小 note 這種習慣算還蠻好養的。一個月之後,你的工作筆記保證就源源不絕一直生出來了…


如果你是 RD 主管的話,怎樣強迫 team member 開始寫筆記 / SOP 呢?

  1. 自己一定要先 撰寫 / 整理。

你自己都不寫怎麼會有人鳥你呢?底下的人當然會把你的話當放屁…

  1. 強迫 RD 養成隨手筆記習慣

如果 RD 不寫 commit note,不管多複雜的 ticket 都也只寫 done。不要客氣,抓過來就直接電下去….公司付錢不是讓 RD 寫自 high 的 code,研究自爽的技術,而是要他 contribute 和 deliver 的。

ticket 完成之後當天就要求看 note。如果有餘裕就自己花時間重製一遍。(當主管薪水領的比較多,就辛苦一點吧)

連續釘一個月 RD 就會自動養成習慣不需要你親自看了。Team 大一點之後,甚至可以把 監督 Junior member 這項工作拆給 Senior member 去 review …

  1. 隨時幫忙整理、contribute,維持風氣

人是很微妙的。如何一件事情被大家漸漸做到爛掉,這件事你怎麼強迫都沒有用。但如果大家逐漸從這個習慣嘗到甜頭,有著正向風氣,他們就會自動自發維持著這樣的良好習慣。即使剛進來的新人,也會努力迎頭趕上。還是講到爛的一句話,你想要有好的 team,光靠一張嘴只叫人照書操課,任何事情都不可能自己發生的…

希望這篇 post 對各位同業有幫助 XD

轉載自這裡