SlideShare a Scribd company logo
1 of 81
好設計如何好:
從解構作用力(FORCE)談起
Erica Liu
erica@teddysoft.tw

2013-10-24 @ C.C. Agile #14
What is DESIGN
Picture From:http://dcafe-experience.blogspot.tw/2011/05/design-thinking.html
Picture From:http://www.pria.com.au/priablog
Picture From:http://media.peugeot.com/
Picture From:http://designlap.com/
Picture From:http://startupquote.com/post/2346842314
軟體
Teddy內⼼心獨⽩白:我也是設計師啊…!

Reference:http://teddy-chen-tw.blogspot.tw/2012/08/blog-post.html
What is DESIGN
“Design is to
design a design
to produce a design.”

- John Heskett  
Reference:http://dharmeshba.tumblr.com/
What is DESIGN

od
Go
Picture From:http://absurdorama.blogspot.tw/
Picture From:http://www.outtraveler.com/
A

Picture From:http://tw.news.yahoo.com/
Reference:http://www.ettoday.net/news/20130813/255683.htm
「市府表⽰示:
僅參考該作品,不是抄襲。」

Reference:http://www.ettoday.net/news/20130813/255683.htm
形 VS. 神
只有學到表⾯面,⽽而不瞭解精神。
FITNESS
Christopher
Alexander

Picture From:http://www.patternlanguage.com/
CHRISTOPHER ALEXANDER
設計有所本
設計的切⼊入點?
如何評估既存設計的好壞?
Form
Context
DESIGN FROM SCRATCH AND
EVALUATION TO IMPROVE
1.
Draw a
boundary
Between the
form
and context

2.
3.
Identify forces that Resolve related
make demands on
Forces into
the form.
Diagrams.

Reference:Ryan Singer, “Designing with Forces

4.
Place the built
form into
context and
look
for misfits.
Context
Form

Picture From:http://ak.picdn.net/shutterstock/
FORM AND CONTEXT

Form
Context

Picture From:http://www.1000islands-clayton.com
• Context:
兩座陸地之間,彼此沒有相連,中間以海洋相隔。
• Problem:如何設計⼀一個建築物讓⼈人通⾏行?
• Form: ⼀一座橋
• Context:
兩座陸地之間,彼此沒有相連,中間以海洋相隔。
• Problem:⼈人如何抵達對岸?
• Form:
• 游泳
• 搭飛機
• 潛⽔水
• 坐船
• ...

Picture From:http://www.privateislandnews.com/
• Context:
兩座陸地之間,彼此沒有相連,中間以海洋相隔。
• Problem:如何傳送訊息到對岸?
• Form:
• 網路
• 郵件
• 飛彈
• 飛機
•…

Picture From:http://www.privateislandnews.com/
FORCE
作⽤用⼒力
Picture From:http://www.yunphoto.net/
Picture From:http://wallpaperswide.com/
Picture From:http://blogs.manapo.com/
Context
Form

Picture From:http://ak.picdn.net/shutterstock/
FORM AND CONTEXT

Form
Context

Picture From:http://www.1000islands-clayton.com
Picture From:http://www.improvestaff.com/
Reference:https://www.youtube.com/watch?v=3mclp9QmCGs
Picture From:http://failuremag.com/
1--DRAW A BOUNDARY BETWEEN
THE FORM AND CONTEXT
• Context:
臺北市交通局為推廣⺠民眾騎乘⾃自⾏行⾞車作為短程接駁交通⼯工具,
推出「YouBike微笑單⾞車」。服務上線以來,⼤大受歡迎。同時也
延伸許多問題,例如⾞車輛或⾞車位供不應求,
• Problem:我們怎麼使⽤用⼿手機來掌握⾞車量狀況、騎⾞車環境?
• Form: Ubike app

Reference: SMD團隊, Ubike
Ubike
app
Context:
我們需要⼀一個可以幫助掌握⾞車量狀況、
騎⾞車環境的⼿手機app。
我不知道
我在哪裡
站名不重要,
我⺫⽬目前在的地
⽅方有⾞車站⽐比較
重要
使⽤用率⾼高,
使⽤用⼈人數⾼高。
腳踏⾞車數量
有限,有⾞車
才能借⽤用
Reference: SMD團隊, Ubike

Ubike
app

⾞車位數量固定,有
⾞車位才能停放。

計費⽅方式以借⽤用
時間⻑⾧長短計算

對⽅方向沒有概
念,仰賴捷運
路線記憶地點
與⽅方向

討厭等待時
的不確定感
使⽤用率⾼高,
使⽤用⼈人數⾼高。
腳踏⾞車數量
有限,有⾞車
才能借⽤用
Reference: SMD團隊, Ubike

Ubike
app

⾞車位數量固定,有
⾞車位才能停放。

討厭等待時
的不確定感
⾞車位數量固定,有
⾞車位才能停放。
使⽤用率⾼高,
使⽤用⼈人數⾼高

腳踏⾞車數量有
限,有⾞車才能
借⽤用
Reference: SMD團隊, Ubike

討厭等待時
的不確定感
我不知道
我在哪裡
站名不重
要,我⺫⽬目前
在的地⽅方有
⾞車站⽐比較重
要

Reference: SMD團隊, Ubike

Ubike
app

對⽅方向沒有
概念,仰賴
捷運路線記
憶地點與⽅方
向
站名不重要,
我⺫⽬目前在的地
⽅方有⾞車站⽐比較
重要

Reference: SMD團隊, Ubike

我不知道
我在哪裡
對⽅方向沒有概
念,仰賴捷運
路線記憶地點
與⽅方向
Context:
以數位格式儲存檔案能夠幫助我處理資料,我有在不同情境
下,例如辦公室、家庭、學校使⽤用電腦檔案的需求。
Problem:
如何在不同使⽤用情境中取⽤用到相同的檔案?
FORCES # 1
• 電腦無法隨時攜帶
• 不是所有電腦中的檔案我都會⽤用到,有時效性的差別
FORM # 1
• 利⽤用外部儲存裝置⼿手動複製貼上檔案,例如隨⾝身碟、隨⾝身硬
碟,拿到要使⽤用的電腦打開它。
RESULTING CONTEXT # 1
• 同⼀一份檔案有各種版本。如果使⽤用時內容不是最新,對我沒有
意義,無法使⽤用。
• 如果忘記攜帶,我就無法使⽤用。
FORCES # 2
• 如果透過外部儲存裝置分享檔案,必須隨時攜帶才能使⽤用。
• 同⼀一份檔案有各種版本。如果使⽤用時內容不是最新,對我沒有
意義,無法使⽤用
• 如果裝置或裝置很多,⼿手動⽐比對、複製、同步,很⿇麻煩,容易
出錯,就無法使⽤用。
FORM # 2
Picture From:http://www.soft4fun.net/tech/news/
FORCES # 3
• 使⽤用者不喜歡「⼀一直要動腦筋,並且需要頻繁的操作」。

Reference:http://www.inside.com.tw/2013/07/31/how-does-dropbox-develop-its-product
FORM # 3
• 只有「⼀一個」資料夾,並且這個資料夾保證⼀一直在同步,不出
任何問題

Reference:http://www.inside.com.tw/2013/07/31/how-does-dropbox-develop-its-product
- Bottom Up
- A Family of Forces
- Patterns
ITERATIVE
AND
INCREMENTAL
DEVELOPMENT
GOF
⾃自從服⽤用Alexander
的⽅方法之後,
考試都考⼀一百分呢!
⾃自從服⽤用Alexander
的⽅方法之後,
考試都考⼀一百分呢!
找FORCES很困難..
• 作⽤用⼒力與反作⽤用⼒力
• 找出來的Force因⼈人⽽而異
• 競爭者的不同
• 相牴觸的作⽤用⼒力
找FORCES很困難..
• 專業與經驗
• 觀察⽣生活中的現象
• 同理⼼心
• 不斷問為什麼- 5 Whys
• ...
Picture From:http://news.housefun.com.tw/news/
Reference:http://news.gpwb.gov.tw/
設計很困難…
“Selection is not design,
design is a decision.”

Reference:http://teddy-chen-tw.blogspot.tw/2013/07/blog-post_5.html
Reference:About Face 3
Reference:About Face 3
“I don’t do options.
I will solve the problem.
It’s up to you whether or not
you use my solution,
that’s your choice.
But I don’t do options.
I will give you my solution,
and you will pay me.
That’s how it works.”
- Paul Rand
Reference:www.davidairey.com/want-versus-need/
設計很困難…

Reference:http://dharmeshba.tumblr.com/
設計很困難…
抄襲好設計的「作⽤用⼒力」
⽽而⾮非照抄它表⾯面的形式。
設計很困難…

Reference:http://dharmeshba.tumblr.com/
Designers ,
TAKE AWAY
•
•
•
•

Form
Context:
Forces
Fitness
考慮與作⽤用⼒力的關係
讓我們能理解
設計中的「為什麼」
⽤用不同的⽅方式去看「需求」
好的設計,代表他與這個世界達到
⼀一種良好、合適的關係 (Fitness)
⽽而不是只達成需求清單上的要求
或是追求最新的流⾏行趨勢
幫助你做出正確的決定
專注在真正重要的事情上

More Related Content

Viewers also liked

Java 例外處理壞味道與重構技術
Java 例外處理壞味道與重構技術Java 例外處理壞味道與重構技術
Java 例外處理壞味道與重構技術teddysoft
 
[演講] Scrum導入經驗分享
[演講] Scrum導入經驗分享[演講] Scrum導入經驗分享
[演講] Scrum導入經驗分享teddysoft
 
軟體開發成功的秘訣
軟體開發成功的秘訣軟體開發成功的秘訣
軟體開發成功的秘訣teddysoft
 
從 Classes 到 Objects: 那些 OOP 教我的事
從 Classes 到 Objects: 那些 OOP 教我的事從 Classes 到 Objects: 那些 OOP 教我的事
從 Classes 到 Objects: 那些 OOP 教我的事Wen-Tien Chang
 
"El diseño en la vida cotidiana. Sistemas" John Heskett
"El diseño en la vida cotidiana. Sistemas" John Heskett"El diseño en la vida cotidiana. Sistemas" John Heskett
"El diseño en la vida cotidiana. Sistemas" John Heskettshayvel
 
ScrumMaster 的吃飯傢伙 – 引導出個夢幻團隊 Building a Dream Team with Facilitation
ScrumMaster 的吃飯傢伙 – 引導出個夢幻團隊 Building a Dream Team with FacilitationScrumMaster 的吃飯傢伙 – 引導出個夢幻團隊 Building a Dream Team with Facilitation
ScrumMaster 的吃飯傢伙 – 引導出個夢幻團隊 Building a Dream Team with FacilitationYves Lin
 
空手、緊握、到放手 – 敏捷路上學到的5件事
空手、緊握、到放手 – 敏捷路上學到的5件事 空手、緊握、到放手 – 敏捷路上學到的5件事
空手、緊握、到放手 – 敏捷路上學到的5件事 Yves Lin
 
Bdd atdd sbe_tdd_ddd_published
Bdd atdd sbe_tdd_ddd_publishedBdd atdd sbe_tdd_ddd_published
Bdd atdd sbe_tdd_ddd_publishedteddysoft
 
淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2Wen-Tien Chang
 
那些 Functional Programming 教我的事
那些 Functional Programming 教我的事那些 Functional Programming 教我的事
那些 Functional Programming 教我的事Wen-Tien Chang
 
[DSC 2016] 系列活動:李宏毅 / 一天搞懂深度學習
[DSC 2016] 系列活動:李宏毅 / 一天搞懂深度學習[DSC 2016] 系列活動:李宏毅 / 一天搞懂深度學習
[DSC 2016] 系列活動:李宏毅 / 一天搞懂深度學習台灣資料科學年會
 
13 Steve Jobs Quotes About Design
13 Steve Jobs Quotes About Design13 Steve Jobs Quotes About Design
13 Steve Jobs Quotes About DesignSteve P Young
 

Viewers also liked (12)

Java 例外處理壞味道與重構技術
Java 例外處理壞味道與重構技術Java 例外處理壞味道與重構技術
Java 例外處理壞味道與重構技術
 
[演講] Scrum導入經驗分享
[演講] Scrum導入經驗分享[演講] Scrum導入經驗分享
[演講] Scrum導入經驗分享
 
軟體開發成功的秘訣
軟體開發成功的秘訣軟體開發成功的秘訣
軟體開發成功的秘訣
 
從 Classes 到 Objects: 那些 OOP 教我的事
從 Classes 到 Objects: 那些 OOP 教我的事從 Classes 到 Objects: 那些 OOP 教我的事
從 Classes 到 Objects: 那些 OOP 教我的事
 
"El diseño en la vida cotidiana. Sistemas" John Heskett
"El diseño en la vida cotidiana. Sistemas" John Heskett"El diseño en la vida cotidiana. Sistemas" John Heskett
"El diseño en la vida cotidiana. Sistemas" John Heskett
 
ScrumMaster 的吃飯傢伙 – 引導出個夢幻團隊 Building a Dream Team with Facilitation
ScrumMaster 的吃飯傢伙 – 引導出個夢幻團隊 Building a Dream Team with FacilitationScrumMaster 的吃飯傢伙 – 引導出個夢幻團隊 Building a Dream Team with Facilitation
ScrumMaster 的吃飯傢伙 – 引導出個夢幻團隊 Building a Dream Team with Facilitation
 
空手、緊握、到放手 – 敏捷路上學到的5件事
空手、緊握、到放手 – 敏捷路上學到的5件事 空手、緊握、到放手 – 敏捷路上學到的5件事
空手、緊握、到放手 – 敏捷路上學到的5件事
 
Bdd atdd sbe_tdd_ddd_published
Bdd atdd sbe_tdd_ddd_publishedBdd atdd sbe_tdd_ddd_published
Bdd atdd sbe_tdd_ddd_published
 
淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2
 
那些 Functional Programming 教我的事
那些 Functional Programming 教我的事那些 Functional Programming 教我的事
那些 Functional Programming 教我的事
 
[DSC 2016] 系列活動:李宏毅 / 一天搞懂深度學習
[DSC 2016] 系列活動:李宏毅 / 一天搞懂深度學習[DSC 2016] 系列活動:李宏毅 / 一天搞懂深度學習
[DSC 2016] 系列活動:李宏毅 / 一天搞懂深度學習
 
13 Steve Jobs Quotes About Design
13 Steve Jobs Quotes About Design13 Steve Jobs Quotes About Design
13 Steve Jobs Quotes About Design
 

More from teddysoft

Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9teddysoft
 
Dci vs aggregate_dddtw_2021-0.3-preview
Dci vs aggregate_dddtw_2021-0.3-previewDci vs aggregate_dddtw_2021-0.3-preview
Dci vs aggregate_dddtw_2021-0.3-previewteddysoft
 
DDD + Clean Architecture: 從需求到實作
DDD + Clean Architecture: 從需求到實作DDD + Clean Architecture: 從需求到實作
DDD + Clean Architecture: 從需求到實作teddysoft
 
漫談重構
漫談重構漫談重構
漫談重構teddysoft
 
Pattern based problem solving-published
Pattern based problem solving-publishedPattern based problem solving-published
Pattern based problem solving-publishedteddysoft
 
Agile the timeless way of software development-2019-05-17-v1.2-published
Agile the timeless way of software development-2019-05-17-v1.2-publishedAgile the timeless way of software development-2019-05-17-v1.2-published
Agile the timeless way of software development-2019-05-17-v1.2-publishedteddysoft
 
從Bowling Game Kata看敏捷開發
從Bowling Game Kata看敏捷開發從Bowling Game Kata看敏捷開發
從Bowling Game Kata看敏捷開發teddysoft
 
當Scrum遇到Pattern
當Scrum遇到Pattern當Scrum遇到Pattern
當Scrum遇到Patternteddysoft
 
說出一嘴好設計 1.1
說出一嘴好設計 1.1說出一嘴好設計 1.1
說出一嘴好設計 1.1teddysoft
 
跟著Teddy讀Pattern
跟著Teddy讀Pattern跟著Teddy讀Pattern
跟著Teddy讀Patternteddysoft
 
洗白你的軟體架構
洗白你的軟體架構洗白你的軟體架構
洗白你的軟體架構teddysoft
 
如何學好設計模式
如何學好設計模式如何學好設計模式
如何學好設計模式teddysoft
 

More from teddysoft (12)

Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9
 
Dci vs aggregate_dddtw_2021-0.3-preview
Dci vs aggregate_dddtw_2021-0.3-previewDci vs aggregate_dddtw_2021-0.3-preview
Dci vs aggregate_dddtw_2021-0.3-preview
 
DDD + Clean Architecture: 從需求到實作
DDD + Clean Architecture: 從需求到實作DDD + Clean Architecture: 從需求到實作
DDD + Clean Architecture: 從需求到實作
 
漫談重構
漫談重構漫談重構
漫談重構
 
Pattern based problem solving-published
Pattern based problem solving-publishedPattern based problem solving-published
Pattern based problem solving-published
 
Agile the timeless way of software development-2019-05-17-v1.2-published
Agile the timeless way of software development-2019-05-17-v1.2-publishedAgile the timeless way of software development-2019-05-17-v1.2-published
Agile the timeless way of software development-2019-05-17-v1.2-published
 
從Bowling Game Kata看敏捷開發
從Bowling Game Kata看敏捷開發從Bowling Game Kata看敏捷開發
從Bowling Game Kata看敏捷開發
 
當Scrum遇到Pattern
當Scrum遇到Pattern當Scrum遇到Pattern
當Scrum遇到Pattern
 
說出一嘴好設計 1.1
說出一嘴好設計 1.1說出一嘴好設計 1.1
說出一嘴好設計 1.1
 
跟著Teddy讀Pattern
跟著Teddy讀Pattern跟著Teddy讀Pattern
跟著Teddy讀Pattern
 
洗白你的軟體架構
洗白你的軟體架構洗白你的軟體架構
洗白你的軟體架構
 
如何學好設計模式
如何學好設計模式如何學好設計模式
如何學好設計模式
 

好設計如何好 @ C.C. Agile #14