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
Macとオーディオ再生 2024/11/02
yusukeito
0
370
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
cmp.Or に感動した
otakakot
3
160
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
Contemporary Test Cases
maaretp
0
140
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
as(型アサーション)を書く前にできること
marokanatani
10
2.7k
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
900
最新TCAキャッチアップ
0si43
0
140
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
GitHub's CSS Performance
jonrohan
1030
460k
RailsConf 2023
tenderlove
29
900
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Language of Interfaces
destraynor
154
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Building an army of robots
kneath
302
43k
The Cult of Friendly URLs
andyhume
78
6k
Side Projects
sachag
452
42k
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