Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
1. 在沙箱中開發
Search
hatelove
January 23, 2013
Programming
12
3k
1. 在沙箱中開發
讀書會報告,
書籍:Ship It! A Practical Guide to Successful Software Projects (軟件項目成功之道)
章節:在沙箱中開發
hatelove
January 23, 2013
Tweet
Share
More Decks by hatelove
See All by hatelove
BDD in .NET - TDD 在實務上的最後一塊拼圖
hatelove
4
2.8k
OO training 基本原則整理
hatelove
2
5.2k
OO training homework 3 review and summary
hatelove
1
11k
OO training homework 2 review and summary
hatelove
1
4.6k
OO training homework 1 review and summary
hatelove
1
8k
Object Oriented Training - Session 4
hatelove
1
5.1k
Object Oriented Training - Session 3
hatelove
1
11k
Object Oriented Training - Session 2
hatelove
1
4.8k
Object Oriented Training - Session 1
hatelove
1
8.3k
Other Decks in Programming
See All in Programming
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
情報漏洩させないための設計
kubotak
0
120
命名をリントする
chiroruxx
1
400
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
talk-with-local-llm-with-web-streams-api
kbaba1001
0
180
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
1
370
暇に任せてProxmoxコンソール 作ってみました
karugamo
2
720
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
770
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
460
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
GitHub's CSS Performance
jonrohan
1030
460k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
We Have a Design System, Now What?
morganepeng
51
7.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Making the Leap to Tech Lead
cromwellryan
133
9k
Music & Morning Musume
bryan
46
6.2k
Writing Fast Ruby
sferik
628
61k
Fireside Chat
paigeccino
34
3.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Transcript
在沙箱中開發 • Joey Chen • 2013/1/23 Ship It! A Practical
Guide to Successful Software Projects
多久不曾碰到成功的專案了? Ship It! A Practical Guide to Successful Software Projects
磨斧頭的故事 Ship It! A Practical Guide to Successful Software Projects
從前從前,有兩個伐木工 Ship It! A Practical Guide to Successful Software Projects
Joey跟Kevin都靠伐木維生 Ship It! A Practical Guide to Successful Software Projects
剛開始,Joey拎著斧頭就往 最茂盛的森林前進 Ship It! A Practical Guide to Successful Software
Projects
Kevin則是拿出磨刀石, 一邊哼著歌,一邊磨斧頭 Ship It! A Practical Guide to Successful Software
Projects
Joey提著一捆一捆木材回來時, 笑著Kevin蠢 Ship It! A Practical Guide to Successful Software
Projects
Joey: 等你磨完斧頭, 我搞不好已經是富翁了 Ship It! A Practical Guide to Successful
Software Projects
Kevin笑笑的不回答 Ship It! A Practical Guide to Successful Software Projects
一個月後… Ship It! A Practical Guide to Successful Software Projects
Kevin每天都輕輕鬆鬆鬆 砍了20捆柴 Ship It! A Practical Guide to Successful Software
Projects
Joey則是一天比一天累 Ship It! A Practical Guide to Successful Software Projects
Joey原本一天10捆柴 現在一天3捆柴 Ship It! A Practical Guide to Successful Software
Projects
你獲得了什麼? Ship It! A Practical Guide to Successful Software Projects
習慣性優秀 Ship It! A Practical Guide to Successful Software Projects
一流的產品 只是好習慣的副產品 Ship It! A Practical Guide to Successful Software
Projects
有意識的搜尋好習慣 Ship It! A Practical Guide to Successful Software Projects
並加入日常生活中 Ship It! A Practical Guide to Successful Software Projects
沒有銀彈! Ship It! A Practical Guide to Successful Software Projects
依據自身的情況 做出正確的選擇 Ship It! A Practical Guide to Successful Software
Projects
這本書在講啥? Ship It! A Practical Guide to Successful Software Projects
Ship It! A Practical Guide to Successful Software Projects
蝦咪係Agile? 能吃嗎? Ship It! A Practical Guide to Successful Software
Projects
Individuals and interactions over processes and tools Ship It! A
Practical Guide to Successful Software Projects
人跟互動 勝於 過程和工具 Ship It! A Practical Guide to Successful
Software Projects
Working software over comprehensive documentation Ship It! A Practical Guide
to Successful Software Projects
能動的產品 勝於 一堆狗屁文件 Ship It! A Practical Guide to Successful
Software Projects
Customer collaboration over contract negotiation Ship It! A Practical Guide
to Successful Software Projects
跟客戶合作 勝於 跟客戶談判 Ship It! A Practical Guide to Successful
Software Projects
Responding to change over following a plan Ship It! A
Practical Guide to Successful Software Projects
擁抱變化 勝於 詳細規劃 Ship It! A Practical Guide to Successful
Software Projects
CMMI ?! Ship It! A Practical Guide to Successful Software
Projects
CMMI ?! Ship It! A Practical Guide to Successful Software
Projects
沙箱? 殺小……朋友? Ship It! A Practical Guide to Successful Software
Projects
Joey的悲慘世界 Ship It! A Practical Guide to Successful Software Projects
Joey上班時 收到Brandon的email Ship It! A Practical Guide to Successful Software
Projects
Brandon: 我改了一些code Ship It! A Practical Guide to Successful Software
Projects
Joey把Brandon的code 從N槽copy回本機 Ship It! A Practical Guide to Successful Software
Projects
經過一個小時 總算在本機編譯成功了 Ship It! A Practical Guide to Successful Software
Projects
Joey回過神來想 自己到底寫到哪了 已經寫了三天的功能 眼看就要完成了 Ship It! A Practical Guide to
Successful Software Projects
Joey打開Visual Studio 發現… Ship It! A Practical Guide to Successful
Software Projects
WTF !!!!!! Ship It! A Practical Guide to Successful Software
Projects
我的code不見了! Ship It! A Practical Guide to Successful Software Projects
狗娘養的 被剛剛的code 蓋掉了!!! Ship It! A Practical Guide to Successful
Software Projects
想出去抽根煙了… Ship It! A Practical Guide to Successful Software Projects
思考一下人生的意義 Ship It! A Practical Guide to Successful Software Projects
這時, Product的Jessie 詢問一個bug的現況 Ship It! A Practical Guide to Successful
Software Projects
更!完全忘了這件事 Ship It! A Practical Guide to Successful Software Projects
Joey答應Jessie 下班前一定改好 這個bug Ship It! A Practical Guide to Successful
Software Projects
但是Jessie仍站在 Joey後面 而且她非常的火 Ship It! A Practical Guide to Successful
Software Projects
快下班前 Joey總算把bug 修復完畢了 Ship It! A Practical Guide to Successful
Software Projects
送出前才發現 機器上的程式碼版本 不是最新的 Ship It! A Practical Guide to Successful
Software Projects
Ship It! A Practical Guide to Successful Software Projects
這不是肯德基!! 這不是肯德基!! Ship It! A Practical Guide to Successful Software
Projects
大家都開始下班 Joey叫老婆先回家 晚上的大餐取消 Ship It! A Practical Guide to Successful
Software Projects
經過一個小時 搜尋跟比較 Ship It! A Practical Guide to Successful Software
Projects
在N槽上找到一個 20120708_cms 的folder Ship It! A Practical Guide to Successful
Software Projects
就是它了!這78… Ship It! A Practical Guide to Successful Software Projects
抓回來之後 他X的又build不起來 Ship It! A Practical Guide to Successful Software
Projects
又一個多小時 總算建置成功了… Ship It! A Practical Guide to Successful Software
Projects
又一個多小時 總算改完code了… Ship It! A Practical Guide to Successful Software
Projects
X!兩點了! 上FB打卡一下好了 Ship It! A Practical Guide to Successful Software
Projects
Joey心裡想… Ship It! A Practical Guide to Successful Software Projects
工作到凌晨兩點 我實在太認真了… Ship It! A Practical Guide to Successful Software
Projects
辛苦沒關係 只要專案可以成功 一切都是值得的! Ship It! A Practical Guide to Successful
Software Projects
但,Joey的老婆 可不這麼想! Ship It! A Practical Guide to Successful Software
Projects
第二天... Ship It! A Practical Guide to Successful Software Projects
Jessie發現 Ship It! A Practical Guide to Successful Software Projects
Joey改完的程式 把上個月Ian修好的 bug又弄壞了 Ship It! A Practical Guide to Successful
Software Projects
還增加了 2個新的bug Ship It! A Practical Guide to Successful Software
Projects
誰想跟我換? Ship It! A Practical Guide to Successful Software Projects
你獲得了什麼? Ship It! A Practical Guide to Successful Software Projects
少年Kevin的 奇幻漂流 Ship It! A Practical Guide to Successful Software
Projects
Kevin上班時 收到了Titan的email Ship It! A Practical Guide to Successful Software
Projects
Titan: 我改了一些code Ship It! A Practical Guide to Successful Software
Projects
此時Kevin上去SVN 把Titan的程式碼 update回本機端 Ship It! A Practical Guide to Successful
Software Projects
此時小烏龜該該叫了 Ship It! A Practical Guide to Successful Software Projects
單兵注意 前方發現程式碼衝突 單兵該如何處置 Ship It! A Practical Guide to Successful
Software Projects
Kevin透過工具 快速比對與merge 並迅速通過編譯 Ship It! A Practical Guide to Successful
Software Projects
接著 Kevin用加藤鷹的手勢 迅速按下ctrl+R, A 執行專案的測試程式 Ship It! A Practical Guide
to Successful Software Projects
通過測試了… Ship It! A Practical Guide to Successful Software Projects
Kevin優雅地 在Visual Studio上 簽入所有異動的程式 Ship It! A Practical Guide to
Successful Software Projects
不急不徐地加上 commit comment Ship It! A Practical Guide to Successful
Software Projects
連上CI server 按下「馬上建構」 Ship It! A Practical Guide to Successful
Software Projects
親切的管家 告知美好的建構結果 Ship It! A Practical Guide to Successful Software
Projects
這時,Product的 Jessie又來了 Ship It! A Practical Guide to Successful Software
Projects
張牙舞爪問著 上週的bug修好了沒 Ship It! A Practical Guide to Successful Software
Projects
Kevin也一樣 已經不記得Jessie 在講什麼東西 Ship It! A Practical Guide to Successful
Software Projects
這時Kevin上去 ticket tracking上 按照Jessie說的線索 搜尋了一下 Ship It! A Practical Guide
to Successful Software Projects
發現這個ticket 已經在禮拜一上到pp了 並且狀態已經為verify Ship It! A Practical Guide to Successful
Software Projects
這一次release 就可以把這一版程式 deploy到production Ship It! A Practical Guide to Successful
Software Projects
Jessie高興地拍拍屁股走了 並上去backyard 給了Kevin一個bravo Ship It! A Practical Guide to Successful
Software Projects
而當時Kevin是怎麼 修正這個bug的呢? Ship It! A Practical Guide to Successful Software
Projects
先確認是否簽出中 通知相關人員 避免蓋版問題 Ship It! A Practical Guide to Successful
Software Projects
上去SVN 取得基準的修改版本 輕鬆的fix bug Ship It! A Practical Guide to
Successful Software Projects
因為之前Ian哥 已經寫好測試專案了 Ship It! A Practical Guide to Successful Software
Projects
所以Kevin改完後 只要執行測試 Ship It! A Practical Guide to Successful Software
Projects
Kevin就可以確保 沒有影響到 Ian的程式執行結果 Ship It! A Practical Guide to Successful
Software Projects
這一天結束了 Kevin準時的下班 跑去跟新交往的女朋友 共進晚餐 Ship It! A Practical Guide to
Successful Software Projects
這時Joey的老婆 則在FB上幹橋 自己的老公是個工作狂 Ship It! A Practical Guide to Successful
Software Projects
Ship It! A Practical Guide to Successful Software Projects
Anti-Pattern Ship It! A Practical Guide to Successful Software Projects
• 網路磁碟機 • 資料夾名稱 –日期 –v1, v2 –new, new2 –.backup
Ship It! A Practical Guide to Successful Software Projects
程式只在server上 才可以執行與偵錯 Ship It! A Practical Guide to Successful Software
Projects
大家都連上去 alpha, beta 改程式跟執行程式 Ship It! A Practical Guide to
Successful Software Projects
So… Ship It! A Practical Guide to Successful Software Projects
Sandbox: 隔離每個人的 開發環境 Ship It! A Practical Guide to Successful
Software Projects
每個人可以在本機 獨立開發 不會影響別人 Ship It! A Practical Guide to Successful
Software Projects
共享的程式碼 唯一基準: 版本庫上的程式碼 Ship It! A Practical Guide to Successful
Software Projects
沒有在版本庫上 就代表不存在 Ship It! A Practical Guide to Successful Software
Projects
有一個機器當基準 持續整合團隊 最新的程式碼 Ship It! A Practical Guide to Successful
Software Projects
並隨時驗證 整合是否出現問題 Ship It! A Practical Guide to Successful Software
Projects
持續簽入 你的穩定產出 Ship It! A Practical Guide to Successful Software
Projects
如何取得要佈署的檔案? Ship It! A Practical Guide to Successful Software Projects
CI的產出 Ship It! A Practical Guide to Successful Software Projects
結論 Ship It! A Practical Guide to Successful Software Projects
Vision Ship It! A Practical Guide to Successful Software Projects
Ship It! A Practical Guide to Successful Software Projects
單鍵執行 Ship It! A Practical Guide to Successful Software Projects
一模模 一樣樣 Ship It! A Practical Guide to Successful Software
Projects
整合的問題 一天內發現並解決 Ship It! A Practical Guide to Successful Software
Projects
修過的bug 不可能再度發生 一樣的錯誤 Ship It! A Practical Guide to Successful
Software Projects
Q & A Ship It! A Practical Guide to Successful
Software Projects