我想做個(gè)app,多長時(shí)間趟妥,多少錢猫态?

別問我多長時(shí)間能寫完一個(gè)app

原文請見個(gè)人博客我想做個(gè)app,多長時(shí)間,多少錢

在一個(gè)陽光明媚的下午亲雪,我正癱坐在椅子上改bug勇凭。忽然有人給我發(fā)微信:“我想做個(gè)app,多長時(shí)間义辕,多少錢套像?”

從我從業(yè)iOS開發(fā)到現(xiàn)在,這個(gè)問題被問過無數(shù)次终息,比那句:“你是程序員夺巩,那你會(huì)修電腦嗎?”還要令人煩周崭。畢竟那只是句玩笑話柳譬,而這句在其他人(更多時(shí)候是你的boss,經(jīng)理這些非程序員出身的IT內(nèi)行人)看來是你的專業(yè)续镇,是你必須要知道的美澳,你能回答不知道嗎?顯得你太不專業(yè)了摸航。但這句話最專業(yè)制跟、最負(fù)責(zé)任的回答就是:“我不知道!”

問我問題的是朋友的朋友酱虎,一個(gè)在傳統(tǒng)行業(yè)浸淫多年的人雨膨,立志要突破傳統(tǒng)行業(yè)的束縛,做互聯(lián)網(wǎng)浪潮中的弄潮兒读串。當(dāng)時(shí)聽他說這句話的時(shí)候我有點(diǎn)懵逼:互聯(lián)網(wǎng)浪潮中的弄潮兒聊记?指示十多年前馬云、馬化騰那一批嗎恢暖?現(xiàn)在互聯(lián)網(wǎng)都蔓延成海了排监,哪還有潮讓你浪,能做一條雜魚茍延殘喘的活下去就不錯(cuò)了杰捂。

我真想回答“我不知道”舆床,畢竟還有好多bug等著我改呢,沒必要在這浪費(fèi)時(shí)間嫁佳。但又想到畢竟有過一面之緣挨队,直接回答不知道,是不是顯得有點(diǎn)不給面子脱拼?在這個(gè)問題上瞒瘸,很多時(shí)候就是這么栽進(jìn)坑里的。

“什么類型的app熄浓?”這句話發(fā)出去情臭,毫無疑問的掉坑里了省撑。他給我發(fā)了個(gè)app截圖,說:“跟這個(gè)差不多俯在,不用那么復(fù)雜竟秫,簡單點(diǎn)就行□卫郑”

我一看肥败,好嘛,淘寶愕提?馒稍!你還真是打算做弄潮兒啊浅侨!我說:“淘寶芭恕?得十多年吧如输」那”加了一個(gè)呵呵的表情,一方面想表達(dá)我認(rèn)為你是在開玩笑不见,我也是開玩笑的回復(fù)澳化,另一方面是我想呵呵你一臉。其實(shí)我也不算敷衍稳吮,淘寶03年成立缎谷,做到現(xiàn)在也十多年了。

他明顯沒有g(shù)et到我的意思盖高,反而埋怨我沒get到他的點(diǎn)慎陵。說:“我的意思是淘寶這個(gè)類型的app眼虱,肯定不用跟淘寶似的那么復(fù)雜喻奥。簡單點(diǎn),有個(gè)列表捏悬,可以賣東西就行撞蚕,幾天能弄出來?重要的是要快过牙!”看這意思是:我已想到一個(gè)天才創(chuàng)意甥厦,就差一個(gè)能把創(chuàng)意轉(zhuǎn)化成app的高效程序員了,一定要高效寇钉,幾天就能做出來刀疙,上架使用,推廣全國扫倡。

這時(shí)我能想到的最靠譜的建議是:花錢收購現(xiàn)有的谦秧,你覺得最符合你創(chuàng)意理念的那款app。當(dāng)然這個(gè)看似調(diào)侃實(shí)則靠譜的回答是沒辦法說出口的。我語重心長的回答道:“電商類app疚鲤,只保留必要功能:商品展示锥累、登錄注冊、購物車集歇、下單支付桶略、訂單記錄,精簡到最簡單诲宇,只是iOS客戶端的實(shí)現(xiàn)代碼也不可能幾天內(nèi)寫完际歼。“

本以為我這么說對(duì)方會(huì)重新估量開發(fā)一款app的復(fù)雜度姑蓝,沒想到對(duì)方急了:”不用考慮那么復(fù)雜蹬挺,先做出一個(gè)最簡單的,其他的慢慢迭代它掂。就告訴我最快多長時(shí)間能搞定巴帮,大概花多少錢就行∨扒铮“

這就是耍流氓了榕茧,好話說了一火車,油鹽不進(jìn)客给。我要還妄想改變他的想法用押,我就是2B了。索性開門見山的說:三個(gè)月靶剑。在團(tuán)隊(duì)完備蜻拨,不改需求的前提下。找個(gè)人兼職外包桩引,按平均日薪結(jié)算缎讼。

對(duì)方?jīng)]再回話,不知道是聽從我的建議去緊張籌備項(xiàng)目小組了坑匠,還是覺得我是個(gè)菜狗血崭,這么點(diǎn)小事竟然張口就說三個(gè)月,三個(gè)月吃屎都趕不上熱乎的了厘灼。我估計(jì)是后者的概率大夹纫。喝了口水抖擻抖擻精神,繼續(xù)改我的bug设凹。遙想當(dāng)年我也曾豪言壯語舰讹,但到最后都跌的遍體鱗傷……

此類情況遇到N多次了,像這種無關(guān)自己工作的外部人士咨詢行情的還好闪朱,畢竟你只需要給出自己認(rèn)為合理的建議即可月匣。人家也不一定采納匈睁,說不定只是做個(gè)對(duì)比篩選,事后成功與否都事不關(guān)己桶错。但多數(shù)情況下是boss或部門經(jīng)理會(huì)問你這個(gè)問題航唆,那回答的時(shí)候就不是這樣輕輕松松侃侃而談了。畢竟院刁,說出去的話是要兌現(xiàn)的糯钙,挖了坑自己填不上,是要栽進(jìn)去的退腥。

我認(rèn)為:任何沒有完整功能邏輯原型圖就問開發(fā)時(shí)間的都是耍流氓任岸,有原型圖問開發(fā)時(shí)間事后改需求的都是耍無賴。這兩者的共同點(diǎn)就是玩死人不償命狡刘。

為什么開發(fā)不能像其他行業(yè)那樣精準(zhǔn)預(yù)估工期呢享潜?因?yàn)殚_發(fā)工作的變數(shù)太大。以最常見的app登錄功能舉例嗅蔬,常見的登錄方式有:賬號(hào)+密碼剑按、手機(jī)號(hào)+驗(yàn)證碼和第三方平臺(tái)登錄。手機(jī)+驗(yàn)證碼需要找短信服務(wù)商澜术,要考慮驗(yàn)證碼的送達(dá)速度和費(fèi)用問題艺蝴。第三方登錄需要注冊賬號(hào),創(chuàng)建應(yīng)用鸟废,以及認(rèn)證開發(fā)者資質(zhì)猜敢。騰訊開放平臺(tái)創(chuàng)建應(yīng)用需要填寫appid,要想有appid需要在iTunes Connect里創(chuàng)建應(yīng)用盒延,在此之前必須有蘋果的開發(fā)者賬號(hào)缩擂,申請開發(fā)者賬號(hào)是要公司級(jí)還是個(gè)人級(jí)的?公司級(jí)的需要提供鄧白氏碼添寺。所有這一切都需要時(shí)間審核胯盯,部分資質(zhì)認(rèn)證、賬號(hào)注冊需要花錢畦贸。

以上是平臺(tái)賬號(hào)問題陨闹,下面說開發(fā)問題。有登錄就得有注冊薄坏,要保證用戶的唯一性,需要有一個(gè)唯一標(biāo)識(shí)寨闹。以手機(jī)號(hào)作為唯一標(biāo)識(shí)的話胶坠,采用第三方登錄的沒有手機(jī)號(hào),分配獨(dú)立用戶id作為唯一標(biāo)示的話繁堡,先用手機(jī)號(hào)登錄沈善,再用微信登錄乡数,就會(huì)產(chǎn)生兩個(gè)用戶,如何實(shí)現(xiàn)綁定手機(jī)號(hào)合并用戶呢闻牡?還有是否保留賬號(hào)+密碼注冊呢净赴?如果保留的話還需要有找回密碼功能,找回密碼是要郵箱驗(yàn)證還是手機(jī)驗(yàn)證碼驗(yàn)證呢……

一款app并不是簡簡單單找個(gè)碼農(nóng)罩润,噼里啪啦敲一頓鍵盤就能完成的玖翅。至少需要以下幾種角色:產(chǎn)品經(jīng)理,能拍板項(xiàng)目功能邏輯出原型圖割以,把控整個(gè)項(xiàng)目進(jìn)度和團(tuán)隊(duì)配合金度;設(shè)計(jì)師,根據(jù)原型圖做高保真交互設(shè)計(jì)严沥;服務(wù)端工程師猜极,做后臺(tái)數(shù)據(jù)處理,提供客戶端所需接口消玄;客戶端工程師跟伏,實(shí)現(xiàn)app所有的功能邏輯,性能優(yōu)化翩瓜,上架應(yīng)用市場酬姆;測試工程師,測試app功能邏輯的正確性和性能奥溺。這些只是角色標(biāo)配辞色,并非每個(gè)角色都對(duì)應(yīng)一個(gè)人。比如客戶端可能需要Android浮定、iOS相满、WP多個(gè)開發(fā)工程師,開發(fā)往往會(huì)兼任測試工作桦卒,后臺(tái)有時(shí)會(huì)代理產(chǎn)品經(jīng)理工作立美。又或者你是精通設(shè)計(jì)的全棧工程師,對(duì)產(chǎn)品又有資深造詣方灾,那便可以身兼所有角色建蹄。所以這里又牽扯到團(tuán)隊(duì)協(xié)作,再默契的團(tuán)隊(duì)都會(huì)存在溝通成本裕偿,只是成本高低的問題洞慎。全棧工程師單人開發(fā),沒有溝通成本的單兵作戰(zhàn)嘿棘,時(shí)間成本會(huì)大大增加劲腿。所以說:程序開發(fā)是一個(gè)充滿無數(shù)不可預(yù)知變化的職業(yè),不可能精準(zhǔn)預(yù)估工期鸟妙。

道理我們都懂焦人,那開發(fā)一個(gè)app到底要多長時(shí)間呢挥吵?預(yù)估工期雖然令人討厭,但確實(shí)是一個(gè)客戶端程序員該具備的能力花椭。當(dāng)看到原型圖預(yù)估時(shí)間的時(shí)候忽匈,往往只估算了敲app代碼的時(shí)間,而且還是個(gè)理想化時(shí)間矿辽。認(rèn)為自己胸懷萬碼丹允,光標(biāo)到處bug灰飛煙滅,功能實(shí)現(xiàn)如有神助嗦锐,代碼編譯一次通過嫌松,簡直是碼生贏家啊。現(xiàn)實(shí)會(huì)毫不留情的給你狠狠地一巴掌奕污。比如一個(gè)原型圖上有10個(gè)界面萎羔,都是最簡單的push跳轉(zhuǎn),用Storyboard一個(gè)小時(shí)就能畫完碳默,剩下七個(gè)小時(shí)寫數(shù)據(jù)展示贾陷,so easy啊,然后洋洋得意的告訴boss一天就能搞定嘱根。然后Storyboard代碼版本沖突了髓废,解決沖突用了仨小時(shí),接口響應(yīng)方式?jīng)]指明该抒,參數(shù)格式寫錯(cuò)了慌洪,調(diào)了仨小時(shí)。六個(gè)小時(shí)過去后凑保,慌了……

之所以不可預(yù)估冈爹,是因?yàn)榇嬖谔嗟牟淮_定因素。一些不確定因素會(huì)因?yàn)榻?jīng)驗(yàn)積累而變?yōu)榇_定因素欧引,另一些不確定因素卻會(huì)一直存在频伤。程序員拿到需求的時(shí)候,需要有一個(gè)心理預(yù)估芝此,每個(gè)功能模塊多久能完成憋肖,哪些邏輯是我以前寫過的,哪些框架是需要谷歌才會(huì)用的婚苹,哪些頁面目前還不能確定實(shí)現(xiàn)方法岸更。對(duì)每個(gè)模塊分配一個(gè)時(shí)間塊,不求預(yù)估準(zhǔn)確租副,但求時(shí)間精確坐慰,最后把這些時(shí)間塊加起來,然后乘一個(gè)π值用僧,得到的便是一個(gè)相對(duì)合理的開發(fā)工期預(yù)估结胀。隨著經(jīng)驗(yàn)積累,慢慢地不需要乘π值了责循,乘2.5糟港,乘2,乘1.5……能乘以1那就是大神了院仿,乘以0.x就超神了秸抚。其實(shí)有經(jīng)驗(yàn)的產(chǎn)品經(jīng)理也會(huì)以這種方式來計(jì)算程序員的工期預(yù)估,畢竟有經(jīng)驗(yàn)的產(chǎn)品經(jīng)理都是被程序員不擅長工期預(yù)估而坑過無數(shù)次的歹垫。唉剥汤,相愛相殺,產(chǎn)品狗何苦為難程序猿排惨,程序猿何苦坑害產(chǎn)品狗吭敢。

還有開發(fā)一個(gè)app要多少錢?這個(gè)問題其實(shí)不應(yīng)該問程序員暮芭,畢竟程序員大多是寫死程序鹿驼、拿死工資的碼農(nóng)。即便是外包公司的程序員也不會(huì)接觸到公司業(yè)務(wù)辕宏,除非是談過外包項(xiàng)目畜晰,很有經(jīng)驗(yàn)的產(chǎn)品負(fù)責(zé)人才能明白這里的行情。我沒在外包公司待過瑞筐,但私下里接過外包項(xiàng)目凄鼻,大概了解過外包行情。

找個(gè)人接外包一般會(huì)有兩種工資算法聚假,一種是按日薪支付块蚌,一種是按預(yù)算均分。按日薪支付是指預(yù)估出該項(xiàng)目大概需要多長時(shí)間魔策,并與甲方談妥時(shí)間點(diǎn)匈子,找產(chǎn)品做原型,找設(shè)計(jì)出圖闯袒,找程序員開發(fā)虎敦,并按日支付項(xiàng)目參與者在職崗位的平均日薪,當(dāng)然參與者需要在規(guī)定時(shí)間內(nèi)完成工作政敢。按預(yù)算均分是指該項(xiàng)目甲方一共能給多少預(yù)算其徙,開發(fā)該項(xiàng)目的所有人員均分這筆預(yù)算。這種方式適合熟人團(tuán)隊(duì)開發(fā)小項(xiàng)目喷户,例如之前接的一個(gè)小項(xiàng)目三萬塊唾那,后臺(tái)、iOS褪尝、Android一人一萬闹获,原型圖和設(shè)計(jì)是甲方提供的期犬,開發(fā)時(shí)間總計(jì)兩周。其實(shí)有時(shí)間的話避诽,還是蠻樂意接這種小外包的龟虎。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市沙庐,隨后出現(xiàn)的幾起案子鲤妥,更是在濱河造成了極大的恐慌,老刑警劉巖拱雏,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棉安,死亡現(xiàn)場離奇詭異,居然都是意外死亡铸抑,警方通過查閱死者的電腦和手機(jī)贡耽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來羡滑,“玉大人菇爪,你說我怎么就攤上這事∑饣瑁” “怎么了凳宙?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長职祷。 經(jīng)常有香客問我氏涩,道長俏脊,這世上最難降的妖魔是什么鸳碧? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮钾腺,結(jié)果婚禮上泥耀,老公的妹妹穿的比我還像新娘饺汹。我一直安慰自己,他們只是感情好痰催,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布兜辞。 她就那樣靜靜地躺著,像睡著了一般夸溶。 火紅的嫁衣襯著肌膚如雪逸吵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天缝裁,我揣著相機(jī)與錄音扫皱,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛韩脑,可吹牛的內(nèi)容都是我干的氢妈。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼扰才,長吁一口氣:“原來是場噩夢啊……” “哼允懂!你這毒婦竟也來了厕怜?” 一聲冷哼從身側(cè)響起衩匣,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粥航,沒想到半個(gè)月后琅捏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡递雀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年柄延,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缀程。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搜吧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出杨凑,到底是詐尸還是另有隱情滤奈,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布撩满,位于F島的核電站蜒程,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏伺帘。R本人自食惡果不足惜昭躺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伪嫁。 院中可真熱鬧领炫,春花似錦、人聲如沸张咳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晶伦。三九已至碟狞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間婚陪,已是汗流浹背族沃。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脆淹。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓常空,卻偏偏與公主長得像,于是被迫代替她去往敵國和親盖溺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子漓糙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容