來自Big Nerd Ranch的開發(fā)者Aaron Hillegass和Joe Conway在上周末的Voices that Matter iPhone大會上做了一場精彩的演說,從開發(fā)者的角度詳述了一款iPhone應(yīng)用的生命周期。他們兩位都是著名的開發(fā)者指導(dǎo),還是iPhone軟件開發(fā)的顧問。在演講中,他們解釋了iPhone軟件如何產(chǎn)生,從開始到完工,其間還向參加會議的開發(fā)者提供了他們開發(fā)軟件的竅門和建議。
著名開發(fā)者兼開發(fā)者導(dǎo)師Hillegass和Conway
首先,Aaron Hillegass和Joe Conway透露了自己不愿合作的客戶,以供其他開發(fā)者參考。這些客戶分別是:Dreamer guy,Ad guy,web guy,enterprise guy,clone guy,future recipient of a C&D guy,desperately seeking cool。原因是,這些客戶有些急于求成,卻又不提供任何想法;有些想為自己的網(wǎng)站開發(fā)軟件,卻又想拿著軟件到App Store賺錢;有些甚至早早要求開發(fā)者簽訂協(xié)議,似乎早就知道你開發(fā)的軟件安全性能不夠。 他們提醒開發(fā)者在賣力開發(fā)軟件之前應(yīng)該先調(diào)查清楚客戶的背景與要求。接著,他們進(jìn)入正題,開始解釋iPhone軟件開發(fā)的過程。 軟件能否獲得很好的評論,或者是否會被蘋果拒絕,歸根到底為一個定義:(向什么樣的)對象+區(qū)別+解決方案。比如,向?qū)W生提供的+設(shè)計精美的+電子閱讀器;向房主提供的+有趣的+預(yù)算追蹤器。開發(fā)者可以慢慢思考,要開發(fā)的軟件是在何時何地使用,列出可行方案清單,然后才思考整個開發(fā)過程。 下一步是模型階段,這一階段需要設(shè)計出軟件的外觀和整體感覺。市面上有很多這樣的工具,如sketchpads到stencils 到iPad applications。我們的目的不僅是將軟件的表面做好,還要將軟件的功能進(jìn)行修正,盡可能地簡化,只留下必要的功能。蘋果最擅長這方面了,甚至在硬件方面他們也能做到舍棄,即使他們知道一部分用戶想要這些功能,比如他們將軟盤驅(qū)動從iMac拿走了,把FM收音功能從iPod拿走,把USB接口從iPad拿走。但這樣做的效果則使產(chǎn)品更具目的性,反而更加成功。這一點我們可以從蘋果身上學(xué)習(xí)。 按照Big Nerd Ranch的做法,接下來他們將會把軟件從UI模式轉(zhuǎn)為代碼模式,在一種類似Omnigraffle的程序制作表格,列出代碼中模式、價值和控制器,還標(biāo)出軟件的數(shù)據(jù),比如它將會儲存在哪里,以及它的稱號。這些信息均在文檔中于參與的開發(fā)者共享,而且留著還有用處,如果想把軟件移植到其他平臺上。 此時,Big Nerd Ranch也會為軟件做出分析:開發(fā)者可以建立一個信息表,隨時更新該軟件的使用方式,操作方式,以及需要修復(fù)的Bug。一些公司甚至還利用專門軟件來收集iPhone用戶的建議和想法。假設(shè)你是為電影公司制作軟件,可以進(jìn)行調(diào)查,讓用戶選出自己喜歡的電影角色,然后可以用觀眾選出的最受歡迎角色來作為推薦電影的人物,放到即將開發(fā)的軟件中。 Aaron Hillegass和Joe Conway還提到了估算。如果開發(fā)者是為客戶開發(fā)軟件,則必須隨時向客戶更新軟件完工時間。這點可要注意了。Hillegass說,你花在估算的時間越長,你就越擅長估算。但如果你一直都在估算你什么時候能完成開發(fā),你將永遠(yuǎn)都完成不了。所以,在必要的時候可以將開發(fā)時間估算得長一些。BNR的規(guī)則是,加一天,并增加時間的單位。怎么說呢?比如一位開發(fā)者說他需要5天才能完成,他們將會添加一天,然后加大時間的單位,即用“周”來表示。這樣,他們告訴客戶的完工時間就是“6周”。 編碼的過程被稱為周期。這時,你需要執(zhí)行軟件的一個功能、加入美術(shù)效果、從客戶獲得反饋、修復(fù)一些Bug,然后才進(jìn)入下一個功能的開發(fā)。Conway指出,在客戶和開發(fā)者之間還有一個周期,那就是反應(yīng),也可等同于金錢。因此,越快從客戶獲得反饋,開發(fā)進(jìn)展得越快。 有意思的是,他們透露孩子是他們見過的最好的測試用戶。Conway建議,開發(fā)者可以向孩子們展示他們的軟件,看看孩子如何操作,如果連孩子都會使用,并且能弄懂你的軟件,這說明這款軟件很好。 這時,屏幕上出現(xiàn)關(guān)于行銷的幻燈片。Aaron Hillegass和Joe Conway都承認(rèn),他們對軟件的行銷一無所知。他們只知道需要在App Store提供軟件描述和截圖,而且還需要一個網(wǎng)站,評測推薦將會為軟件的行銷提供不少幫助。開發(fā)者往往不參與行銷,雖然他們知道行銷非常重要。“行銷是一個關(guān)鍵。”Hillegass說。 接著,他們大略提了軟件的本地化。Hillegass說,如果開發(fā)者想讓軟件支持世界各國語言,最好延后。因為開發(fā)者等待改變軟件的語言時間越長,他們實際需要作出的改變越少。一旦準(zhǔn)備就緒,開發(fā)者即可展開部署。這要根據(jù)軟件的不同而變化。但如果需要網(wǎng)頁服務(wù),Hillegass和Conway推薦亞馬遜和谷歌的服務(wù)。需要提醒的是,蘋果審核軟件的時間一般不可預(yù)知,所以開發(fā)者都不會清楚具體的發(fā)布日期。 最后,他們談了App Store拒絕一款軟件的幾點原因。其中一點是“復(fù)制蘋果的API(當(dāng)前的或?qū)淼摹薄onway說,開發(fā)者的軟件常常被蘋果沒有理由地打回,然后幾個月后會發(fā)現(xiàn)蘋果實際上將他們軟件的功能作為蘋果官方的功能發(fā)布。飛行模式也是一個被拒絕的普遍原因。一款軟件的功能必須能在沒有網(wǎng)絡(luò)的情況下使用。所以一款軟件能不能在飛行模式下打開是軟件會否被拒絕的原因。
軟件被蘋果拒絕的原因
雖然Aaron Hillegass和Joe Conway的演講主要是針對開發(fā)者,但也給我們?nèi)ν馊私忉屃塑浖_發(fā)的流程,最后感謝Aaron Hillegass和Joe Conway的精彩演講。
推薦閱讀
[db:內(nèi)容簡介]>>>詳細(xì)閱讀
本文標(biāo)題:著名開發(fā)者演講:iPhone軟件開發(fā)的周期
地址:http://www.xglongwei.com/a/apple/2013-07-05/278886.html