常常遇到朋友問我:「開發一個京東商城須要多少錢?開發一個滴滴打車須要多少錢?」相似這樣的需求,就連我這樣一名僞開發者都不肯意去騙客戶或者朋友,由於這種問題是很難回答出來的。爲何這麼說呢?要知道相似京東商城滴滴打車這樣億級別用戶的產品,很難知道他以前通過了多少次版本的迭代,也很難知道他的產品線有多廣,不少朋友甚至連「迭代」這樣的名詞具體概念都不懂,今天我會以Q+A的形式彙總諸多開發過程當中遇到的客戶問題,但願能給創業中的你一些建議,若是你是一名開發者能夠繞道。php
首先咱們先看一張目前咱們程序員客棧(www.proginn.com)項目的流程化概念引導圖:html
我把它總結成一句話:產品化過程梳理分析,模塊化功能點需求整理,時間化里程碑進度管理,成本化人力資源開發。前端
1,我有一個好的想法如何實現?html5
把本身的想法整理成文檔,或者畫成粗糙的說明圖,簡單來講無論你用什麼方法,怎麼樣可以讓產品經理知道你想開發一個什麼樣的東西是最重要的。這裏對於創業者來講自身的表達能力很是重要,若是實在沒法與專業產品經理溝通,應該讓項目經理幫忙本身完善專業化產品需求說明文檔,而後讓專業的人作專業的事情才靠譜。(開發者們也不要說創業者的是多麼的粗糙,沒辦法這個世界老是先有想摘星星的人,後來纔有航空飛行員,互相理解尊重很是的重要。)java
2,爲何要作原型?ios
常常碰到朋友會跟我說,「你直接對着這個網站的樣式模仿抄一個差很少的給我就行,作原型幹嗎?原型是誰?」這個時候我幾乎是崩潰的,事實上產品開發遠沒有想的那麼簡單。舉個例子:當你蓋房子以前必定是先有圖紙,而後土建方面會有一個項目經理來負責整個工程的質量和各個方面的進度。到了互聯網產品開發這裏也是同樣,若是土建的項目經理拿不到工程師的圖紙,他該怎麼去協調各方面的人去進行開發呢?一樣的道理,若是一個需求不明確的產品,一個沒有原型概念導入的產品開發都是不成熟的,開發者該如何進行開發呢?或者簡單來講,產品最最重要的功能點尚未提煉出來,那就意味着有着無限變化的可能性。程序員
3,程序員不都是寫代碼的嗎?有什麼區別?後端
遇到過一個朋友問我:「你不是會寫代碼嗎?那爲何你作出來的網站這麼醜?」我很想跟他說:「我不是一個優秀的開發者,可是我好氣啊!我又不會美工,我又不會前端,義務幫你開發一個東西,只能保證你的使用,好看什麼之類的真的作不到啊。」「反正你就是水平差嘛!」這裏要向全部的人說明的一點,程序員也是分爲好幾種方向,N多種語言的,前端:Java、html5等等。後端:php、java等等。移動端:安卓、ios等等。模塊化
4,項目經理是幹嗎呢?這我的好像有吃乾飯的嫌疑?測試
項目經理是開發過程當中最重要的環節之一,雖然項目經理不直接進行開發,可是需求溝通全部方向包括:客戶、產品、設計、前端、後端、測試。包括項目的風險把控,產品的需求分析,任務的計劃安排,項目組的關係協調,開發人員的情緒安撫,產品質量的合格驗收等等,涉及的原素很是多,考驗的是一我的的綜合開發管理能力,不可小覷。這裏用一個簡單的小故事來講明項目經理的重要性,仍是舉土建來講吧,由於父親是從事這行的項目經理,今天的互聯網開發和蓋房子很像,土建的工程師相似於產品經理,一個作土建工程圖紙,一個作產品高保真原型。土建的打地基相似於後端開發,土建的鋼結構(也能夠想成牆體)相似於前端開發,土建的油漆工抹灰工相似於UI設計師,剩下的產品文字描述相似於你本身裝修本身的家的概念同樣,測試相似於土建的維修保障這一塊。若是這些人亂做一團的話,想一想後果是什麼?反正工地上就是打架咯!現實開發過程當中固然不會那麼偏激,可是會浪費不少客戶的時間成本。
5,什麼是迭代?
產品的開發永遠是一個過程,一個產品面向的客戶千千萬,免不了又各類各樣的需求須要修改,程序也不可能沒有BUG,須要不斷的修復不斷的完善,功能點也是逐步逐步增長的,這是一個概念化問題,例如誰能準確的告訴我淘寶初版本是什麼樣的?我相信不少人應該都不記得了,最初是沒有支付寶的,只能用網銀付錢,最初是沒有購物車的,最初也是沒有收藏產品功能的,最初更沒有頭圖視頻功能,相似不少不少功能點都是一步步完善開發出來的,須要經歷不少的市場需求分析,用戶反饋調查,並非一步到位的,馬雲尚且須要這麼多年完善產品的功能和界面,因此相似遇到一個京東開發須要多少錢這樣的問題,我都會告訴個人朋友,這個問題相似於一個標準化的航空母艦開發須要多少錢同樣,可是若是你知道最初的京東初版是什麼樣,主要功能點有哪些,那麼從事過產品開發者的項目經理就夠能準確的梳理出核心功能部分的開發需求。你能夠這麼理解,京東從1.0版本歷經1.0-1.1-1.2-1.3-1.4-1.5-……12.8,過程當中經歷了不少種版本需求變更開發,可以迅速提煉出你想要的功能點纔可以讓開發者或者說是項目經理準確的知道產品開發的費用。