前陣子,跟一位合夥人決定要開公司,做 SaaS 產品。想說機會難得,不如把過程中經歷的事情記錄下來吧。
除了可以把心路歷程記錄下來,也可以順便整理並反省,在創業的過程中,學到了什麼東西,有哪些事情做對了,又有哪些事情做錯了。
希望這系列文可以一直持續下去。
從零開始開發產品
公司目前,只有我一位工程師,和另外一位業務合夥人。
我們的目標是自己開發一套 SaaS 產品來販售,所以有大量的開發工作需要進行。
業務夥伴可以幫我把客戶的需求帶回來,告訴我客戶想要什麼功能,但是他不可能幫我寫 Code,甚至不可能幫我規劃系統。
所以關於產品開發的事情,基本上全部都是我負責處理。
要做的事情有很多,要繪製產品的 Wireframe、sitemap、流程圖等等,來做初步的內部溝通、調整。
然後進入開發,資料庫設計、後端開發、前端開發、主機設定、測試等等,全部都自己來。
雖然現在這個年代,使用框架和各種工具,可以大幅縮減開發的時間,但是一切全部從頭來,還是很花心力的。
能動比完整性更重要
我們的目標是,先完成第一個版本,讓業務可以帶著這個版本出去市場,看看市場的反應。
針對市場的反應,我們來快速調整作法,修改或擴充產品功能。
為了能夠早點讓產品出現,很多東西需要捨棄,或是採用比較簡便的作法。
所謂的能動就好,並不是拿出半成品的意思;
而是系統上面雖然只有少少的功能,但每樣功能運作起來都是正常的,不會隨便點就出現錯誤、不會有假的按鈕在上面,按了沒反應,這樣的體驗是非常差的。
所以,必須要挑選最重要的幾個功能來開發,先把這幾個功能做到好就好。
我的挑選功能的方式是:至少讓業務出去 DEMO 的時候,可以走完一次流程。
例如,對於電商平台來說,可以選品,加入購物車,結帳,就算是走完一次流程。
至少做到這樣的程度,看起來就會是一個真實的系統了。而且已經足以跟客戶說明,我們的系統想要做到什麼事情了。
我們當然也知道,僅僅是這樣,距離完整還差很遠。
取消訂單怎麼辦?退款怎麼辦?優惠券怎麼辦?
但這些細節,其實都不是草創期的重點。又或者是說,處理這些細節,其實無助於業務推廣,並且開發上非常耗時費力。
初期客戶用量不大,很多瑣碎的工作,透過客服的方式由工程師來處理,是還應付的了得。
接觸客戶
作為公司唯一的工程師兼 PM,為了蒐集第一手資訊,我會跟著業務出去拜訪客戶,了解客戶的實際需求。
對社恐工程師來說,其實有點抗拒這件事。
但是如果沒有親力親為,透過業務轉述,蒐集到的資訊會有落差,對於需要快速發展的產品,這樣是不太好的。
並且,業務通常不具備整理需求的能力與耐心,為了把產品做好,只好跟著業務到處跑了。
雖然很多時候,客戶的雜訊太多,我必須要自己過濾掉。但實際接觸客戶,也才能夠體會到,我自己開發出來的產品,是不是真的有解決問題。
做的好或不好,可以獲得直接的反應,這是是產品開發初期,非常需要的資訊。
結論
我大概花了 3 個月把產品的 Prototype 開發出來,是確實可以使用的狀態,雖然我都跟合夥人戲稱,目前還是個玩具。
不過雖然功能很簡陋,但在系統上的流程都可以順利走完,不會出現奇怪的錯誤或不流暢地跳頁。
Demo 給客戶看,客戶也大概能理解系統是做什麼的,算是幫我們打了一劑強心劑。