【摘要】隨著互聯技術的發展,特別是進入21世紀以后,互聯網技術的應用也越來越廣泛,從事互聯網創業的公司也如雨后春筍般應運而生,可是如果大家還是按照以往的軟件開發模式來管理項目,當軟件產品開發完成時也許市場上已經沒有你的位置了,所以對于軟件產品需要快速迭代,縮短開發周期、并推向市場驗證可行性的項目管理模式。
【關鍵詞】互聯網企業 ?項目管理 ?敏捷思維
一、傳統項目管理思想
傳統軟件項目開發管理方法主要強調軟件項目過程的規范化與工程化,其中最為典型的代表方法就是瀑布模型方法。瀑布模型法實際上源自一種軟件開發架構,它于1970年被溫斯頓□羅伊斯(Winston Royce)提出。
瀑布模型將軟件生命周期劃分為制定計劃、需求分析、軟件設計、程序編寫、軟件測試和運行維護等六個基本活動,并且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。
在瀑布模型中,軟件開發的各項活動嚴格按照線性方式進行,當前活動接受上一項活動的工作結果,實施完成所需的工作內容。當前活動的工作結果需要進行驗證,如驗證通過,則該結果作為下一項活動的輸入,繼續進行下一項活動,否則返回修改。
從本質來講,它要求軟件開發過程通過一系列階段嚴格按照順序展開,從系統需求分析開始直到產品發布和維護,依次通過。即是每個階段每個活動都只進行一次,最后得到軟件輸出產品。上一個階段產生的輸出結果被作為下一個階段的輸入對象,并且在利用上一階段輸出結果的基礎,對該結果進行評判,若是符合標準,就實施下一階段活動;若是得不到確認,則返回上一階段,重新執行操作直到結果得到確認。
總而言之,瀑布型的開發模式開發周期太長;需求變更時會需要重新返工,增加開發成本和風險;在項目末期才可以看到成果,不易及時發現問題等缺點。
然而當下互聯網軟件項目期望開發周期不要太長,開發成本不要太高,能迅速應對變化,傳統的項目管理模式與人們的期望是南轅北轍的,因此需求新的項目管理思維成為了必然選擇。同時對于當下瞬息萬變的市場,以及不斷革新的互聯網技術,“變”成了常態,因此傳統的項目管理思想瀑布模型也需要革新。
二、敏捷思維
(一)敏捷的定義
在軟件開發領域,“敏捷”有時被人們等同于某種具體的敏捷方法如Scrum和極限編程(XP)。Scrum是一種軟件開發模型,它是建立在多個小型團隊緊密合作基礎上的一種模型。
戴維·里克( David rico)博士對敏捷性有一個更通用的解釋:在變化無常的全球商業環境中,能夠快速響應變化并做出改變以獲得收益;當需求、技術和知識發生變化時,能夠快速地重新調整資源配置;通過充分地與客戶互動,對突如其來的市場變化和新的競爭做出快速反應;通過發展的、漸進的和不斷迭代的發布以整合成最優的解決方案通過恰當、不過分的和及時的流程和文檔來實現最大的業務價值。
戴維·里克( David rico)博士的解釋可以突出說明敏捷的最大優點就是為了應對變化而生。
(二)Scrum角色分配
Scrum Master(Scrum推動者): 是Scrum教練和團隊帶頭人,確保團隊合理的運作Scrum,并幫助團隊掃除實施過程中遇到的障礙。
Owner(產品負責人):確定產品的方向和愿景,定義產品發布的內容、優先級及交付時間,為產品投資回報率負責。
Developer(開發者們):由開發者組成,人數5-9人,團隊擁有交付可用軟件需要的各種技能。
(三)Scrum的四個會議
Sprint計劃會(Sprint Planing)
每日站會(Daily Scrum)
Sprint評審會(Sprint Review)
Sprint回顧會(Sprint Retrospective)
(四)敏捷的開發的優點
提高可交付產品的質量;快速適應變化;提供更好的計劃并且花費更少的時間創建它們;更好地控制項目進度和狀態。
(五)敏捷開發的特點
統一團隊:跨部門、跨職能溝通、提升協調和溝通能力;迭代開發:小步、快跑;用戶故事:盡早發現小問題,杜絕大問題;站立會議。
(六)總結
敏捷開發通過逐步細化、迭代前進的方式,分階段地將需求予以實現。在敏捷開發中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特征。換言之,就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態。
敏捷軟件開發要注意項目規模,規模增長,團隊交流成本就上去了,因此敏捷軟件開發暫時適合不是特別大的團隊開發,比較適合一個組的團隊使用。對于一個創業公司一個小的團隊也可以考慮優先選擇敏捷的方式管理項目。
總之,敏捷思維是進行最小可行性(Minimum Viable Product,MVP)研究最方便的項目管理方式,快速迭代開發,推向市場聽取用戶反饋,然后及時調整功能規劃。
三、敏捷思維在中項目管理的應用
(一)項目介紹
“馬踏飛燕”app是一款比價產品軟件,目前已經上線的業務線有:機票、酒店、門票、火車票、出行、電影院、租車、醫美(美容產品),共8條業務線。作為一款比價產品的app從0到1 的過程之中并不是所有業務一起開發上線的,不同業務線不同時間的開發和上線也就是一個敏捷思維在項目管理之中的應用。
對于一個創業公司而言,重要是快速推出產品,到市場上去驗證可行性,如果等全部的業務線都開發完成上線,不知猴年馬月了,,市場也可能被人占領,也許到時你做出來的再好也無濟于事,其實對于互聯網的軟件創業項目而言,有太多失敗的案例了。
一款app有一個0到1的過程,對于其中一個業務線也是一個從0到1的過程,一條業務線的開發上線一開始并不是完美的,也是一個不斷完善和迭代的過程,由于自己開始負責機票業務線時,機票已經經歷了0到1這個階段,而是從1.1起步的。我所做的工作就是一個不斷完善的過程。以下僅從機票業務線版本的迭代來說明敏捷思想對于項目管理的應用與分析。
(二)版本迭代
對于每一次功能的迭代安排以及項目管理,我是根據項目的需求類別來換分的,不同的需求點,放在不同的項目版本之中,比如:機票的退票、機票的改期、延誤險、訂單頁面優化等等,當然有時可能不是相關的功能,這類每次迭代都是按照項目需求功能的異同來進行迭代,或者根據優先級來劃分。
開發流程:
以機票“延誤險”版本為例說明敏捷思想的應用。
(1)市場分析:機票產品與延誤險一起銷售可以說是市場的需要,其實就目前國內各地旅游的平臺也都有這塊的業務,可以說是市場是成熟的,對于我們自己的app而言,別人有,我們沒有的話就是我們的不足,與別人對比就是我們的劣勢來,因此對于開發上線此功能顯得尤為重要。
(2)業務分析:既然決定開發延誤險功能,就需要有對接的第三方保險服務商,因為對于保險業務我們本身是沒有資源的,所以也就只有選擇第三方對接了,與第三方對接延誤險但需要切合我們本身機票業務,對方的延誤險只支持國內機票,我們也就優先給我們國內機票增加延誤險產品了。
(3)需求分析:主要分析延誤險的相關屬性,例如:有效期、投保狀態以及與下單流程。
(4)原型設計。搞清楚需求,以及了解清楚第三方提供的接口文檔內容,就進入原型設計階段了。此階段主要是完成下單的設計和后臺訂單的展示,以及對于異常情況的處理,比如:購買失敗等。
(5)ui設計。產品經理完成原型設計由ui同事根據原型圖設計效果圖,即產品最終長成的樣子,顏色也好,文字樣式也罷,都由ui同事來負責。
(6)開發。ui設計效果圖的同時,開發同事已經根據需求文檔進行數據庫等基礎功能的開發,ui完成頁面設計后,開發同事在進行頁面的開發。
(7)測試。開發的同事完成功能開發后交給測試的同事進行功能的測試。
(8)驗收。產品經理負責驗收需求是否都已經實現,ui同事負責驗收ui設計稿,即視覺層面的驗收。
(9)上線。大家都確認沒有問題后,由項目經理來發布上線通知,安排項目上線。
(10)反饋。項目上線后,運營的同事根據用戶反饋以及市場反饋的結果在進行需求的整理,反饋給產品經理,然后再進入下一個循環,對不足進行彌補。
一個個小的循環,組成了一個完成的項目開發周期,提高了開發速度,縮短了開發周期,降低了成本。
(三)會議
早會:每天的早上10:00項目組的成員都會開一個早會,主要交流是否遇到了問題,以及今天的主要工作內容;周會:每周一的下午四點項目組的所有成員都會開周會,主要討論現階段的工作內容,以及下一個階段的安排,以及遇到的問題;總結會:項目上線后一方面總結在本次迭代之中需要吸取的經驗和教訓,另一面方面收集該功能上線后運營和用戶的反饋,方便不斷優化。
敏捷思維在項目管理的每個階段的應用前景越來越廣泛,以上僅從敏捷對于項目管理開發的角度來闡述,也許還有不足,希望指正。
四、結語
當今不斷變化的互聯網環境下,互聯網企業的項目管理方式也在不斷革新,由于當下軟件產品差異性、個性化增加,在項目管理中需要靈活應用各種技術,提高軟件開發效率、降低軟件開發成本,保證軟件的產品質量。
作者簡介::雷棟(1989-),男, 山東省濟南市平陰縣人,學士,中國社會科學院研究生院,研究方向:項目管理。