來人人都是產(chǎn)品經(jīng)理【起點學院】,BAT實戰(zhàn)派產(chǎn)品總監(jiān)手把手系統(tǒng)帶你學產(chǎn)品、學運營。
以前,我寫過一篇文章“追溯軟件項目失敗的根源”,里面講述了我在做房地產(chǎn)信息平臺建設中遇到的各種困難,有需求不明確、需求蔓延、多團隊作戰(zhàn)、項目時間緊、人員變動、需求變更頻繁、溝通不順暢、信息傳遞過程失真……
在項目開發(fā)過程中我們經(jīng)常會遇到各種問題,為了可以使項目順利推進,做為產(chǎn)品經(jīng)理,必須十八般兵器樣樣精通,就算沒有機緣學會乾坤大挪移,至少也能打上一趟擒拿手。
今天我要說的就是產(chǎn)品經(jīng)理的擒拿手——敏捷軟件開發(fā)
在軟件工程領域,有過很多軟件開發(fā)模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、演化模型、噴泉模型、RAD模型、敏捷軟件開發(fā)模型、XP極端模型。這么多的模型各有各的應用場景、各有各的適用范圍,但我認為最實用開發(fā)模型還是敏捷軟件開發(fā)。
中國式軟件開發(fā)思路是什么樣的呢?從我接觸過的大多軟件項目來看,基本都有一個共同特點——就是必須快,客戶都是急脾氣,恨不得今天立項,明天就要你拿出產(chǎn)品來。
面對公司和客戶如此快節(jié)奏的要求,我們有辦法嗎?人們從生產(chǎn)、生活中總結出來一套即高效又優(yōu)質(zhì)的開發(fā)模式——敏捷軟件開發(fā)。
什么是敏捷軟件開發(fā)呢?
敏捷開發(fā)是以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發(fā)。在敏捷開發(fā)中,軟件項目在構建初期被切分成多個子項目,各個子項目的成果都經(jīng)過測試,具備可視、可集成和可運行的特征。換言之,就是把一個大項目分為多個相互聯(lián)系、而又可以獨立運行的小項目,并分別完成,從而實現(xiàn)快速開發(fā)的目的。
還是具體來說下敏捷開發(fā)是如何實現(xiàn)的?
將大的系統(tǒng)拆分成子項目。
以前我們接受過的思想是立項后先要需求調(diào)研、分析,調(diào)研后出各種調(diào)研報告及需求說明書,需求搞定后,再進行概要設計(UE設計、UI設計、交互設計、數(shù)據(jù)庫設計、框架設計),概要設計完成后再進行詳細設計……這樣一個周期下來,耗費太長,當進度進入下一階段,當上一階段有問題時,會影響到整個項目流程的各個階段。
而敏捷方法是會將大的系統(tǒng)拆分成一個個子項目,再把子系統(tǒng)拆分成子模塊,盡量減少模塊間的耦合性、增加其內(nèi)聚性,這樣我們可以把團隊分成多個小組,各組可以同時作業(yè)。另外,當一個模塊需求發(fā)生變化時,對其它模塊的影響也不會太大,以實現(xiàn)降低開發(fā)難度的目的。
在之前提到的房產(chǎn)信息網(wǎng)平臺建設中,我們就將系統(tǒng)拆分成自行成交、經(jīng)紀成交、用戶權限管理、建委等外部接口、大宗資產(chǎn)、交易管理、平臺后臺管理、網(wǎng)站前端等模塊分別進行需求討論,需求討論后再將各模塊拆分成各個對象,對象與對象間只是通過公有變量傳遞信息,盡量減少與外部對象間產(chǎn)生關系。
團隊與客戶呆在一起
為了降低溝通成本,我們團隊所有人員直接開到客戶現(xiàn)場,隨時與客戶溝通,通過面對面的溝通,減少了理解偏差。在項目的各個階段,我們一直與客戶保持零距離接觸,隨時交流、溝通。通過這種辦法,可以第一時間獲取需求、第一時間解決問題,減少出錯的可能性,提高開發(fā)效率,保證開發(fā)質(zhì)量。而且,通過這種方式會更容易取得客戶信任,客戶能夠隨時了解到項目的工作狀態(tài)、工作進度。當相互間具備了信任關系后,余下的工作也會變得輕松、愉快。
在房產(chǎn)項目里,我們在客戶現(xiàn)場辦公,定期開會討論需求和設計,當有一些小的不確定問題,團隊成員會直接找到客戶相關人確認。在整個項目周期中沒有發(fā)生過大的需求變化。
總結:與客戶面對面的交流,降低交流成本,促進相互信任。
用建模的方式溝通
利用模型與客戶溝通,通過模型來獲取用戶需求,而不是通過大量的文檔,編寫文檔費時費力,而且效果不好。實際,對于我們大多數(shù)人來說并不喜歡花大量時間看各種文字和參數(shù),而模型則會更直觀和立體。這里我說的模型不是單指我們平時設計的原型,它包括用例圖、類圖、部署圖、狀態(tài)圖、活動圖、包圖、對象圖、原型圖、效果圖、E-R圖等,利用不同圖形表達出產(chǎn)品的不同維度,使產(chǎn)品豐富而立體。
在房產(chǎn)項目里,我們用原型來與客戶討論需求,用ER圖來討論數(shù)據(jù)庫設計,用類圖來表達產(chǎn)品的內(nèi)部對象及交互,用部署圖確定硬件部署環(huán)境及網(wǎng)絡結構,用活動圖來說明信息交互流程,用時序圖來表達在時間軸下對象間如何交互。通過各種圖表來表達產(chǎn)品,利用這種方法會比較直觀,而且當發(fā)現(xiàn)錯誤修改起來也比較容易,不像利用文檔方式,修改不方便、維護困難,也不利于閱讀、理解。
總結:利用模型來代替文檔進行交流。
迎接變化
“放眼看那座座高樓如同那稻麥
看眼前是人的海洋和交通的堵塞
我左看右看前看后看還是看不過來
這個這個那個那個越看越奇怪
噢……
不是我不明白,這世界變化快”
市場環(huán)境是產(chǎn)品的風向標,我們要隨時關注市場。為了迎合市場,產(chǎn)品也要隨時變化。需求變化、設計變化……各種變化讓我們焦頭爛額,但做為產(chǎn)品人的我們同樣也應該接受改變,只有產(chǎn)品的快速變化,才能很好的迎接未來。我們歡迎變化,只要是合理的,哪怕是開發(fā)階段,需求也同樣可能發(fā)生變化。敏捷開發(fā)允許變化,通過變化給客戶帶來更大的競爭力。敏捷開發(fā)利用圖表來記錄需求,所有代碼都采用模塊式設計,將不同功能盡量分割,減少關聯(lián)。這就是它能夠、也敢于迎接變化的原因。
在任何項目在任何階段都會有需求變化,哪怕是開發(fā)后期,也同樣會產(chǎn)生,我們避免不了,就要想辦法面對。
總結:從項目初期就做好迎接變化的準備
盡早、持續(xù)的交付可運行的階段性成果
之前我曾經(jīng)說過,一個項目的失敗,一般不是技術原因,多是因為客戶對我們失去信任。我們需要持續(xù)的、不斷的給客戶以信任感,一種是我們在客戶現(xiàn)場不斷的交流、溝通,讓客戶感受到我們的熱度。同樣,還需要盡早的、持續(xù)的給客戶提供相應的成果物(可運行的產(chǎn)品),讓客戶看到我們的能力。當然,這樣還有另一個好處是,能夠把問題提早的暴露出來,不要羞羞答答像個小女人,不敢見人,只有提前暴露,才能提早解決,問題越晚暴露越難解決。
在房產(chǎn)項目中,當天完成的內(nèi)容在編譯沒問題后,會把修改的功能部署到平臺服務器上,以便于客戶隨時能夠看到變化,了解項目進度。如有問題的話,也能夠盡早暴露出來。
總結:為了降低項目風險,盡早交付可運行程序
面對面的溝通
最快的交流方式就是面對面的溝通,在敏捷開發(fā)中,最提倡的方式是減少哪此冗余的、效率低下的溝通方式,用最快速的方法來直接溝通。讓技術人員、設計人員、客戶等所有團隊成員都在一起辦公,減少信息交流的斷路,讓溝通變得順暢。
在房產(chǎn)項目中,我們當時是對每一位成員以信任的,當有問題不理解,需要交流時,都是直接找我,我不清楚的直接找客戶。當有時,我不在時,同事們也會直接與客戶進行溝通,任何人都可以直接獲取需求。
總結:直接溝通,減少中間環(huán)節(jié)
可工作的軟件是最主要的衡量標準
出再多的文檔、再多的中間產(chǎn)物,都沒有出結果來得真切??蛻糇钣^心的不是中間物,而是成果物。對于敏捷軟件開發(fā)來說,可以工作的軟件是評測開發(fā)進度的最主要衡量標準。唱的再好,也不如做的好,做事要落地,實實在在、踏踏實實是敏捷開發(fā)的核心,不玩花拳繡腿。
總結:做出可交付的軟件是項目的核心
保持恒定的開發(fā)速度
項目開發(fā)是一次長跑,短期內(nèi)迅速的加速,并不是長跑的方式,我們應該持續(xù)的、勻速的跑步方式,這樣才能保證團隊成員能一直堅持到最后。敏捷開發(fā)提供可持續(xù)的開發(fā)速度,這樣不僅團隊成員不至于疲憊,也有利于制定項目開發(fā)進度,控制開發(fā)周期。
總結:項目開發(fā)過程是長跑,不要一開始就沖刺
定期團隊優(yōu)化
我們會每隔一段時間進行一次團隊建設,進行批評與自我批評,找出工作中的問題及影響個人與團隊發(fā)展的瓶頸。我們通過交流、溝通方式找出團隊及成員間的問題,然后進行自我調(diào)整,通過不斷的優(yōu)化、升級自有團隊,打造出一個能戰(zhàn)斗的隊伍。
總結:建一個能打硬仗的隊伍
敏捷開發(fā)的核心就是溝通,用各種辦法來降低溝通成本、減少溝通環(huán)節(jié)、避免溝通失真。如果產(chǎn)品經(jīng)理們能夠很好的掌握敏捷開發(fā)思想,就相當于在游戲世界里擁有了法器,美食世界里掌握了烹飪之道。
本文由 @產(chǎn)品人老吳(微信公眾號:ChanPinLaoWu) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理 ,未經(jīng)許可,禁止轉(zhuǎn)載。
版權聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。