從產品的視角看待敏捷開發(fā),減少和程序猿撕的幾率

作為產品,如何有理有據地撕程序猿呢?如何把程序猿撕的無話可說,且直接認慫呢?答案就是——了解程序研發(fā)流程中的點點滴滴,多用程序猿的視角與程序猿溝通問題,提高產品研發(fā)效率,盡可能減少撕的環(huán)節(jié)。
產品原型制作完成了,下一步的工作就是將原型及相關文檔交付給開發(fā)團隊進入到產品開發(fā)環(huán)節(jié)。這時,作為產品經理的你,終于可以稍微松一口氣了。但是,并不是這以后的事情和自己沒關系了!
作為一個產品,你應該是無所不能的,從產品、交互設計、開發(fā)到運營,所有的知識不能說精通但是都要略懂。這樣一來,無論在創(chuàng)業(yè)公司需要一人兼多職還是在大公司與其他同事有良好的溝通、寫作都是可以勝任的。
說到軟件開發(fā)流程與管理,有很多堪稱經典的書講解得要深刻的多。在這里,筆者只是對常用的軟件開發(fā)流程進行大致的介紹,但具體到各個公司不同的開發(fā)團隊應用的具體方法還會有所不同。在此,希望各位通過對基本的了解,在進入公司后才能夠盡快與開發(fā)團隊達成默契。
瀑布模型
瀑布模型是1970年由溫斯頓·羅伊斯提出的軟件開發(fā)模型,直到80年代早期還在軟件開發(fā)界被人們所沿用。
瀑布模型的核心思想是按照工序將問題分階段化簡,將功能的實現與設計分開,采用結構化的分析與設計方法將邏輯實現與物理實現相分離。它將軟件的生命周期分為:制定計劃、需求分析、軟件設計、程序編寫、軟件測試和運行維護六個階段,并規(guī)定了它們自上而下的固定順序,如同瀑布一樣落下。
瀑布模型的優(yōu)點:
- 明確了不同階段的任務目標
- 可以分階段檢驗階段進度
- 當前一階段任務完成后,只需關注后續(xù)階段任務(這同時也是一個缺點)
瀑布模型的缺點:
- 在階段間極少有反饋
- 只有在項目最后階段才能看到項目效果
- 無法適應需求的變化,因為需求階段一旦完成就不會再又變動
通過瀑布模型的缺點可以發(fā)現,這和互聯網時代的產品設計理念有很大的沖突。因為瀑布模型后一個階段必須在前一個階段完成后才會開始,這讓需求的變動變成了不可能。但是在互聯網時代用戶的需求變化速度是很快的,產品從開發(fā)到最終發(fā)布的過程中要面對需求頻繁變化的可能性。為了適應用戶不斷變化的需求以及產品的快速開發(fā)發(fā)布,誕生了敏捷開發(fā)模型。
敏捷開發(fā)模型
敏捷開發(fā)是一種從1990年代開始逐漸引起廣泛關注的一些新型軟件開發(fā)方法,是一種應對快速變化的需求的一種軟件開發(fā)模型。敏捷開發(fā)強調程序員團隊與業(yè)務專家之間的緊密協作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟件版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更注重做為軟件開發(fā)中人的作用。
不同的公司或不同的開發(fā)團隊所遵循的敏捷開發(fā)方式可能會有所差異,但是它的本質都是為了增加人與人間的溝通以及頻繁交付軟件版本,不斷的開發(fā)與更新符合用戶需求的軟件。
敏捷開發(fā)是一種軟件開發(fā)模型,根據這種思維方式衍生出了很多種具體的敏捷開發(fā)實現方法,這其中極限編程XP和Scrum是實際開發(fā)過程當中經常使用的兩種實現方法。這里只介紹其中的一種:Scrum。
Scrum
Scrum一詞來自英式橄欖球運動,本質含義就是一群人你推我搡地去搶球和控球。用球賽來類比確實是一個形象又合適的比喻,在賽場上盡管隊員們努力按照既定計 劃推進,但是場上瞬息萬變,不可能實時按照教練或者隊長的指令亦步亦趨的去行事,只能靠平時訓練中形成的素養(yǎng)見機行事,達成目標。
Scrum的核心思想是首先承認我們的用戶并不清楚自己的需求,并且人類的需求會不斷變化的,所以我們默認需求是變化的需求,并且制定一套策略對小功能快速開發(fā),通過后續(xù)不斷迭代完善產品。
Scrum三大角色
- 產品經理:產品功能和需求的確定者,明確產品不同版本需要實現的功能。
- 流程管理員:負責整個Scrum流程的順利實施,項目經理的角色。
- 開發(fā)團隊:負責產品的開發(fā)工作,不同的開發(fā)成員負責不同的模塊或功能,通過協作完成整體任務的完成。
Scrum開發(fā)模型
- 產品經理根據用戶需求以及產品設計制定產品需求列表
- 開發(fā)團隊對需求進行工作量和時間評估,并和產品經理共同制定一個迭代周期內需要實現的需求列表。
- 開發(fā)團隊進入開發(fā)迭代周期(根據實際情況設定周期在1-4周)進行產品開發(fā),在開發(fā)過程中會有每日站立會成員間對開發(fā)中遇到的問題進行討論,開發(fā)成員對各自負責需求進度進行更新,共享整體工作信息。
- 每一個迭代周期結束時都要保證輸出一個可發(fā)布版本,所有團隊成員進行回顧會議,對迭代周期中遇到的所有狀況進行回顧,吸取經驗教訓,為下一個迭代周期的工作做準備。
總結
產品初期設計完成后,從研發(fā)階段到后續(xù)版本頻繁迭代升級,每一次的變動都少不了和研發(fā)團隊打交道的機會。通過產品的視角去看待產品敏捷開發(fā)全流程,在與研發(fā)團隊溝通過程中可以更好地站在對方角度思考問題,減少“撕”的幾率,提高產品研發(fā)、迭代效率,打造更好的產品。
作者:記小憶,陷入產品無法自拔的偽碼農!微信公眾號:“PM龍門陣”,大擺龍門陣,產品有鴻儒!
本文由 @記小憶 原創(chuàng)發(fā)布于人人都是產品經理。未經許可,禁止轉載。
沒看明白,標題和內容的關聯性好像不是很大~
沒看懂 ??
??????想看多一點關于敏捷開發(fā)的介紹吖,特別是PO相關的東西,如backlog,user story 的相關知識以及案例分享,以后會有這類文章分享給我們么?
感覺意思就是,及時開會然后盯盯盯…
互聯網公司基本都是敏捷開發(fā)了。作者偷懶了,起了個好頭,然后其他部門基本是百科內容了。。。其實缺少了你個人的理解和做項目過程中的反思總結,這部分要是你能寫出來就太棒了。還是要感謝你。