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
Building SaaS using Rails
Search
Yi-Ting Cheng
December 19, 2013
15
2.1k
Building SaaS using Rails
Yi-Ting Cheng
December 19, 2013
Tweet
Share
More Decks by Yi-Ting Cheng
See All by Yi-Ting Cheng
Blitzbuilding Product with Rails
xdite
2
1.6k
第六屆做自己論壇 - Xdite 鄭伊廷
xdite
4
5.7k
Refactoring lesson : from GPA 1.4 to GPA 3.0
xdite
8
1.6k
全棧班畢業贈語
xdite
1
40k
Intro to RedPotion
xdite
0
250
莫拉克颱風災情支援網
xdite
1
350
Intro to self Growth Hack
xdite
61
20k
Building a workshop / community
xdite
6
1.2k
Maintainable_Rails_View.pdf
xdite
29
2.3k
Featured
See All Featured
Happy Clients
brianwarren
97
6.7k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
What's in a price? How to price your products and services
michaelherold
243
12k
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
What's new in Ruby 2.0
geeforr
342
31k
How to Think Like a Performance Engineer
csswizardry
19
1.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Transcript
Building Saas using Rails
[email protected]
self introduction
Rails Developer since 2007 Speaker of RubyTaiwan Conf 2010,2011 Speaker
of RubyChina Conf 2012, 2013 Speaker of Reddot RubyConf Singapore 2013 Grand Prize of Facebook World Hack (12 countries) 2012
Entrepreneur Rocodev, top Rails consultancy in Taiwan Logdown, leading Markdown
Blogging Platform
None
None
Logdown • 基於 Markdown 開發的部落格平台 • ⺫⽬目標:優化寫作體驗 • Software as
a Service
Logdown • User : ~ 6000 • Post : >
100000 • HackerNews ⾸首⾴頁兩次 • ⾸首⽉月即 break even
開發原因 • 這是我⾃自⼰己「想買」的東⻄西 • 上班...⼿手癢...
⽤用過 Wordpress 的請舉⼿手
⽤用過 Octopress 的請舉⼿手
⽤用⼀一個殘障 HTML Editor 寫作
再預覽
沒⼈人覺得這樣很智障嗎?
⽤用⼀一個⽂文字 Editor 寫作
再⽤用命令列編譯
寫⼀一⼩小段預覽
再回去⽤用⼀一個⽂文字 Editor 寫作
再⽤用命令列預覽。重複上述動作10伺候。⽤用命命列發布
沒⼈人覺得這樣也很智障嗎?
這樣不是很合理嗎?
這就是我作 Logdown 的動機
其實
我很懶
None
只要有⼈人做出來賣
我⼀一定會買。 ⽽而且⼀一次買三年份。
但是就是沒⼈人這麼神經病
所以只好⾃自⼰己作
=== 分隔線 ===
知道什麼是 SaaS 的舉⼿手
SaaS = 把軟體包起來放在雲端賣給⼈人
SaaS 從無到有的開發
開發⽅方式有兩種
1. 寫規格書 / User Story ✔
2. 想到什麼就亂做 ✘
1. 寫規格書 / User Story
✔先進⼯工程團隊的作法 (分析需求再動⼯工)
✘ 要做到⺠民國幾年才上線? ( 特別是業餘 project) ( ⼀一個禮拜沒做完就放棄了...)
2. 想到什麼就亂做
⾸首⾴頁 ⽂文章列表 編輯器 部落格⾴頁⾯面 ⽤用 15 分鐘 ! 畫了四張圖就開⼯工
⾸首⾴頁 ⽂文章列表 編輯器 部落格⾴頁⾯面 ✔ (⼀一天就寫完了) (就是這麼變態)
然後之後想到什麼就做什麼 ✔ (這樣⼈人⽣生才開⼼心)
時間線 • 2013/06/15-16 完⼯工上線 • 2013/06/20 Subdomain • 2013/06/30 Custom
Domain • 2013/07 HackerNews & Inside 報導 • 201/08/25 Custom Theme • 2013/09 收費 • 2013/11 Lean SaaS ( 我寫的書)
講到這裡
各位腦袋應該爆炸了
怎麼會這麼亂來 XD
真實世界跟你想的都不⼀一樣
=== 分隔線 ===
RD 的四步頓悟
RD 的四步頓悟(1) • 想做⼀一個⼩小產品 • 覺得我做的產品⼀一定會有⼈人⽤用 • 想到什麼就做什麼 • 發現太困難連⼀一個功能都作不完
Orz • ⻑⾧長⼤大以後再說 學⽣生階段
RD 的四步頓悟(2) • 公司想做⼀一個產品 • 找來⼀一群⼈人開會 • PM 寫 Spec
-> 美術設計 -> RD 寫 code • (⾮非常有秩序) • 但:Spec 根本就功能太多寫不完....orz • 且:Spec 根本是真空討論出來的,做出 來通常也沒⼈人⽤用 剛出社會發現的
RD 的四步頓悟(3) • 太⻑⾧長的 Spec 根本是垃圾。 • Lean Startup!! Minimal
Viable Product!! • 簡潔的 User Story • 敏捷開發 / TDD • (⾮非常有秩序) • 不⼀一定會賺錢。看運氣。 成為開發專家之後 ✔ 神⼀一般的 Best Practices
RD 的四步頓悟(4) • 想做⼀一個⼩小產品 • 只做會有⼈人買(⽤用)的東⻄西 • ⽤用⼾戶要買什麼你就做什麼賣他。不會賺 的不需要作。沒有美國時間寫測試。 •
根本不知道明天會作什麼功能 • (⾮非常混亂過得跟地獄⼀一樣) • ⼀一定會賺錢 成為⽣生意⼈人之後
簡單來說
跟作什麼「主題」和「開發步驟」有關
與⽤用什麼語⾔言無關
不過聽說我今天要講的是「以 Rails 為例」…
與⽤用什麼語⾔言無關
(重新溫習)
RD 的四步頓悟(3) • 太⻑⾧長的 Spec 根本是垃圾。 • Lean Startup!! Minimal
Viable Product!! • 簡潔的 User Story • 敏捷開發 / TDD • (⾮非常有秩序) • 不⼀一定會賺錢。看運氣。 ✔
RD 的四步頓悟(4) • 想做⼀一個⼩小產品 • 只做會有⼈人買(⽤用)的東⻄西 • ⽤用⼾戶要買什麼你就做什麼賣他。不會賺 的不需要作。沒有美國時間寫測試。 •
根本不知道明天會作什麼功能 • (⾮非常混亂過得跟地獄⼀一樣) • ⼀一定會賺錢
重點 • 敏捷開發 (功能要快速推出市場) • 最⼩小可⾏行性產品 (作太多結果沒⼈人⽤用是浪費) • 只做⽤用⼾戶會付錢的功能 (有可能與之前
spec 衝突) • 不知道明天會作什麼功能(無法預先規劃架構) • 每天都混亂的跟地獄⼀一樣(廢話。這很正常)
出征未捷⾝身先死 • 做了前五個功能開始賣錢很開⼼心(任何語⾔言都 做得到) • 第六個功能加不上去 • 有錢請了第⼆二個 RD 以後發現速度沒變快
• 繼續賺錢請到第五個 RD 以後發現速度變更慢 • 原先架構讓網站變得很慢。⽣生意受到影響 • 市場⾵風向轉變。但是網站無法配合調整
Engineering Problem • 先天架構不好。很難再新加功能/刪除。 • RD 有⽂文化與開發習慣。造成加⼈人可能不會變 快。 • 資深與資淺程度差異。架構越⼤大新⼈人學習時間
越⻑⾧長。(即使是即戰⼒力) • 多⼈人合作需要 Framework, Pattern, Deployment tool…etc. • 摩登開發⽂文化與架構才能協助成⻑⾧長。但是⽤用錢 不⼀一定買的到
Rails offer • a community BEST practices (框架本⾝身) • 社群指南。
• Google 得到的開發慣例與指南(內部 Framwork 很難達到的⽔水平) • 良好的軟體⽣生態圈(各種彈性及⽅方便的相關開 發⼯工具) • 讓你瞬間就把功能做好的 RubyGems ( 不需重造 輪⼦子,在 1000 萬 PV/day 以前)
That’s what startup needs Scalable and Affordable Engineering
Thanks
[email protected]
Q& A