近年來行動市場異軍突起,以天之驕子之姿襲捲整個IT產業,IT產業的重心亦由硬體往軟體傾斜,而整個行動市場的軟體操作系統則以Android和iOS為主。相對於iOS的封閉,Android的開放迎來百家爭鳴的局面,同時也為Google在行動市場上打下了穩固的奠基。
|
Android產品分支策略極其重要 |
Android集開源軟體於一身,原始碼由數GB成長至今約為15GB,編譯更是需要超過30GB的空間,如此龐大複雜的源代碼、編譯系統及開發環境,更是加大開發者進入Android的困難度。而就手機製造商而言,如何因應快速多變的消費性市場,擬定適合當下的產品策略, 及架構出適合多人協同開發的開發環境,這些都是在開發上要面臨的難題。
就當前行動裝置的生產及研發成本,已經與以往的計算方式不同。目前成本計算的範圍較以往更寬,從前期調研一直到後期的維護升級,這中間所有的開發行為,皆為該款產品的支出成本,因此專案經理的視野也必須較以往更廣。由成本及多人協作開發的角度切入,也引進一連串全新的開發模型,包含從開發模式、產品分支、維護升級、公開源碼等不同角度去考量開發成本。
Android儼然為一軟體工程下的產物,其軟體架構從上到下分別為上層應用開發、中間層庫函數、底層硬體平臺等相關軟體。如何架構出新型的開發模式,進而能夠快速反覆運算地生成軟體,而在較短時間內完成產品上市,這一連串的過程考驗著所有手機製造商及手機品牌公司。
產品開發的目的為獲利,如何能夠使用最少的支出而換取最大的收入,為公司經營的主要方向之一。良好及適當的開發模式將有助於減少手機公司的開發成本、加快產品上市速度、減少後期維護成本。基於Android軟體架構的產品開發策略非常明顯,就是創造簡單、直覺式、易操作的介面,進而創造產品的差異化,而此差異化主要來自於上層軟體。
產品分支策略的重要性
所以避免改動底層平臺相關軟體,只針對上層軟體進行修改及創新,即能讓使用者感受到產品的差異化,就是這裏想強調的產品開發策略。若想在產品開發期間調整整體開發策略以因應市場變化,「產品分支策略」即扮演著極為關鍵的重要角色,而如何在不影響產品上市時程及軟體質量的考量下,快速開發出下一款產品,是我們在此所探討的課題。
如何於產品開發期間接受突如其來的新需求而另出一款新產品,這個前提是在有條件的情況下接受新客戶的新需求,因為在時間受限且所開發的軟體近乎完成開發的條件下,若是貿然接受新需求都將可能引來災難性的收場,所以前提是我們必須確定新需求在可控的範圍內,接著在此條件下擬定產品分支策略。至於如何確立產品分支策略,這與當下產品上市的時程、所引入的新需求、及未來的維護升級計畫皆有關係。
簡單地說,多產品分支可以靈活套用在產品開發的不同時機,有效地加快產品上市速度,但相對地多產品分支勢必增加開發及維護成本;而少產品分支將有助於未來產品的維護及升級,但是相對地可能降低產品開發上的靈活性,進而可能影響產品上市時程。所以如何擬定當下的產品分支策略,需要全方位的思考。
產品分支策略與產品市場定位、品牌、等銷售模式有著密不可分的關係,例如以山寨機為例,快速且多產品分支的策略,將有助於產品快速搶市,回收開發成本,因為山寨機在軟體的品質上不若品牌商的要求嚴謹,也未必提供升級更新服務,所以多分支策略可以符合其產品需求。但若以品牌商為例,適量的產品分支,將有助於全球共同協作開發。
由上可知產品分支策略極其重要,關係到項目的開支、人員及時間成本,也關乎到產品是否能夠獲利,而這也是架構師對產品負責任的態度、考驗著架構師的智慧及產品開發的策略。
(作者為Android工程師及專業講師)