Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The Clean Coder - 預估與壓力 (書摘)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
SJ Chou
December 24, 2013
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Clean Coder - 預估與壓力 (書摘)
SJ Chou
December 24, 2013
More Decks by SJ Chou
See All by SJ Chou
LangChain Framework 與 RAG 實做教學
samejack
1
28
LLM RAG 擷取增強生成介紹 - 3 種 RAG/Self-RAG/CRAG 全解析
samejack
1
150
NVIDIA Omniverse Kit Introduction
samejack
1
120
用 Keras 玩 Machine Learning
samejack
1
180
2020 MLaaS 產業介紹
samejack
1
110
Linux Container Introduction
samejack
1
67
Cloud Foundry Introduction
samejack
1
120
WordPress Blog SEO 兩三事
samejack
1
99
小猴子也會的 Ubuntu Desktop 14.04 安裝教學
samejack
1
130
Other Decks in Programming
See All in Programming
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
140
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
150
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
510
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
5
3.4k
Java 27新機能 / Java 27 new features
kishida
2
150
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
490
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
350
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
320
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
460
Jetpack Compose メカニズム
skydoves
0
440
Intent as Code
shoppingjaws
6
1k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Abbi's Birthday
coloredviolet
4
10k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Practical Orchestrator
shlominoach
192
12k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
Navigating Weather and Climate Data
rabernat
0
520
GraphQLとの向き合い方2022年版
quramy
50
15k
From π to Pie charts
rasagy
1
370
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
360
Transcript
The Clean Coder 預估與壓力 (書摘) 2013/12/12 SJ http://www.amazon.com/The-Clean-Coder-Professional-Programmers/dp/0137081073 Email:
[email protected]
Blog: http://blog.toright.com
預估 (Estimate) 的定義 什麼是「預估」? • 業務:是承諾! • 開發者:是猜測! • SJ:撈錢的籌碼,或是一場鬧劇的開幕典禮
該死的承諾與預估 承諾 • 承諾不能兌現也是一種欺騙 • 避免對「不確定」的事情進行承諾 預估 • 沒有承諾色彩 •
因為不知道要花多少時間,所以叫「預估」
該怎麼「預估」? 話說在前頭 • 墨菲定律 - 凡是可能出錯的事就必定會出錯 • 除非你已經做過這件事,否則皆無法有效預估時程 預估方法 •
PERT (計畫評審技術) • Delphi (德爾菲法)
PERT (Program Evaluation and Review Technique) 三元分析法 O: 樂觀預估 (Optimistic
Estimate) N: 常規預估 (Nominal Estimate) P: 悲觀預估 (Pessimistic Estimate) 期望值 μ = ( O + 4N + P) / 6 機率分佈標準差 σ = ( P - O ) / 6
數學時間 這三件任務的預估值:14 天, 17 天 (σ), 20 天 (2σ) 任務
樂觀預估 O 常規預估 N 悲觀預估 P 期望值 μ 標準差 σ Alpha 1 3 12 4.2 1.8 Beta 1 1.5 14 3.5 2.2 Gamma 3 6.25 11 6.5 1.3
德爾菲法 • 先定好規則(乘以二 / 平方) • 亮手指大家一起參與預估 • 討論偏離值發生的原因(取得共識) •
好處是避免別人的預估影響到自己的判斷
討論與結論 PERT 法 • 科學量化,但有工具輔助會更好 德爾菲法 • 耗時,不容易聚集一群專業人士 大數定理 (切分工作)
• 問題:經驗不夠的我們,如何掌握開發範圍? 關於預估 • 預估這項工作需要時間與經驗,有效的預估比隨便估好的多
殘酷的事實 官:請幫我看一下做這個要多久? Me:大約兩個月可以完成部分比較確定的功能 (回答的相當保守) 官:我們只有兩週,可否用簡單的方法搞定? Me:...(OS:那你幹嘛還問我) Me:好吧,那我們挑些重要的功能來做! 官:這些、這些、還有那些、順便做這個 Me:...(OS:這不就全部了嗎) Me:太多了,我還要進行測試與整合,兩週內絕對無法完成!
官:那麼只做這些、這些、還有那些,這以前做過,直接拿來改應該很快! Me:... Me:... 官:如何? 官:不管品質,先求有再求好! Me:我好像也不能說不好...
這故事的結果是...一場災難 • 開發期間,功能一再增加,品質持續下滑 • 兩週後,想「求有」的功能,一項也沒出來 • 兩個月後,一個充滿 Bug 且奇怪的系統誕生了 •
兩年後,新的工程師加班罵髒話改 Code
避免壓力 • 最有效的方法就是「規避壓力」 • 別輕易承諾 ◦ 避免對沒有把握的事情進行承諾 ◦ 主動幫助業務找到方法兌現承諾,但絕不能接受承諾 •
保持整潔 ◦ 「快速但髒亂」是矛盾的說法 • 危機中的紀律 ◦ 足夠的「信念」讓我們遵循紀律
應對壓力(逃不了,就面對它!) • 不要驚慌失措 • 溝通 • 依靠你的紀律原則 • 尋求幫助
The End Thanks Email:
[email protected]
Blog: http://blog.toright.com