像微信,支付寶這樣的超大型項目,如何保證每個版本穩(wěn)定。 團隊的是怎樣分工的呢? 個人覺得這時候已經不是每個人分配需求的問題。 而是要有一整套的流程,并且相應的有完整的自動化工具去檢測每個階段的輸出。
移動app大型項目的開發(fā)流程是怎樣的,如何推進版本迭代?
技術leader角度
這個問題關注很久了,今天可以來回答下了。移動app和之前我們所說的軟件開發(fā),一個突出的問題就是同樣的需求需要在多個平臺上面完成。通常來講是ios + andriod,有的做的終端再多一點,還會有pc + windows phone。所以我覺得移動應用的開發(fā),多平臺需求管理和研發(fā)管理是最大的問題。
我們開發(fā)的禪道項目管理軟件,剛剛發(fā)布了7.4版本。這個版本最大的改動就是增加了多平臺,多分支的管理。比如我們做一個移動app,可以建立一個產品,為這個產品選擇是多平臺類型的。然后維護這個產品的平臺列表,比如andriod, ios。后面維護需求的時候就可以選擇分支了。有的需求是適用于所有的平臺分支的。有的是只適用于ios。在建立計劃,項目,提交bug,創(chuàng)建發(fā)布的時候都可以選擇相應的分支。一個適用于多個平臺的需求只有每個平臺都發(fā)布完畢才算是完畢。
復雜的,多人團隊協(xié)作的軟件,需要穩(wěn)定少出錯。開發(fā)環(huán)節(jié),不同的模塊或修改,在不同的分支進行。各自分支開發(fā)測試完成后,合進主干進行測試。都測試通過后,提交源碼,自動構建系統(tǒng)進行構建,然后再跑測試腳本。測試的主干和源碼的主干,輕易不提交,以保證穩(wěn)定。
PM角度
非一線互聯(lián)網公司,O2O項目的產品經理,試著回答一下你的問題,有不對還請隨便噴。
大型app,不知道這個所謂的大型的定義是什么,是app本身的體量很大,還是說用戶群很大呢,雖然我所在的公司的用戶群不算大,但是我覺得從邏輯上來說我們的產品研發(fā)部也算是麻雀雖小五臟具全了。
首先要說明一個基礎,那就是開發(fā)的流程和管理師圍繞著產品經理(也就是我)來展開的。脫離產品經理而僅僅去談開發(fā)流程是不現實的。
開發(fā)時一個廣義的概念。我所理解的開發(fā)分為前端和后臺。那就從一次版本迭代來說起吧。
推進版本迭代的動力是需求,是對現有產品的改進和優(yōu)化。
1.需求的發(fā)起時由產品經理來負責的,他們會從運營,市場,客服,地推,CEO等多方面收到很多需求,這時候需要產品經理對需求進行評估,確定在下一個版本急需上線的需求,完成相關的準備工作。這些工作包括但不限于需求整理,原型繪制和PRD撰寫,設計排期,開發(fā)排期。
2.面對眾多的開發(fā),產品經理需要將需求分類。蘋果前端,安卓前端,微信公眾號前端,數據庫接口后臺,運營后臺等。
3.開發(fā)的流程是一般會接到需求文檔,前端會接到相應的產品需求文檔,運營后臺會接到運營后臺的需求文檔,數據庫接口后臺可能會接到問題整理文檔,需要去排查在上一個版本中出現的一些問題,例如支付接口失效,第三方登錄接口實效等問題。
4.接到需求文檔之后,開發(fā)們就會按照需求文檔安排的排期開始寫代碼了,這一階段,開發(fā)和產品經理的溝通就顯得尤為重要了。
5.代碼完成以后,就會走到測試那里。不同的測試會對接不同的開發(fā)內容,測試通過測試工具和手動等方法對代碼的穩(wěn)定性等問題進行測試反饋給開發(fā)修改,如此反復,直到產品達到預期的目標為止。
以上談到的是和產品經理直接對接的一些開發(fā)。那還有一部分開發(fā)是不需要和產品經理對接的,他們更多的是做底層代碼的優(yōu)化,增強數據庫的穩(wěn)定性等工作,這時候一般是出了問題就會去找相應的人來解決。