軟件項目成功的十一要素

一、關係
 這裏的“關係”包含幾層含義:
 1、政府的政策
 2、國家的法律法規
 3、和地方政府的關係
 4、和行業監管部門的關係
 5、和同行的關係
 6、和客戶的關係

 不管你的技術再牛,只要大環境不允許,那麼項目也就不可能成功。因爲這些因素會決定項目的生死,而又不能輕易改變,所以很重要,最典型的案例是:google,鐵道部網上訂票系統。

二、領導的決策
 在一個公司裏,領導具有最高的權利,對所有事情有絕對的控制權,因此他的決策能夠影響項目的發展。對於一個英明的領導,會聽取底層的聲音,會合理的決策,來保證項目的順利完成。而一個糟糕的領導,武斷且剛愎自用,冒充什麼都懂,亂指一氣,只能讓項目走向死路。

三、監管
 這裏的“監管”是指項目內的工作監管。
 很多項目,都有一個很好的計劃,但是最後總是無法做到計劃所期望的一切,是何原因?我的總結是沒有監管。雖然我們花了很多時間去做計劃,寫出一個足夠詳細的實施方案,但是,在讓人去做的時候,他做的是否到位,並沒有人去檢查,這樣就導致實際的工作偏離計劃。比如:計劃要一週開發的工作,結果做了2周還沒完成。計劃花十萬的工作,結果用了30萬。很多公司會說,我們在計劃中是有審覈的過程,但是實際工作中是否有人審覈?審覈的工作是否嚴格?審覈的工作是否有監管?很多時候是根本沒人去監管,或者只是走走形式。這樣的情況,在只靠人工去管理的公司,比比皆是,而且很多公司還會說這是“人性化”管理,其實這個是沒有管理。項目的監管,是對每一件事情的執行結果都有個確認的過程,來檢查其執行的質量,以及與預期目標的距離。如果發現和目標不一致,偏差比較大的時候,及時觸發緊急處理流程,來執行相應的補救措施,避免項目的失敗。因此,監管的存在,是可以控制項目的發展,避免項目發展的失控。人不夠,時間不夠,技術不行,代碼質量差等都是可以解決的問題,只要在情況剛發生的時候就處理,都不會對項目有太大的影響,但是,如果一直沒有發現,直到項目接近尾聲的時候才發現的話,那你想成功,也是妄想。
 一方面是必須使用自動化的方式來增加監管。在公司內,項目的管理,工作的管理等都應該通過信息管理系統來操作,在每個工作的流程上都需要設置必要的後繼人員來檢查,如果工作是部門之間的,必須要有部門主管檢查確認,方可提交給其他部門,如果發現工作不到位,都可以直接打回,要求修改,同時可以發警告信息給管理者。另一方面增加專職的監管人員,建築行業的監理,軟件行業的代碼review,項目經理等,都有監管性質。對於監管人員也需要被監管。

四、需求
 這裏的需求有兩個含義:
 
 1、項目的目標
 2、項目的計劃
 也就是在項目啓動的時候,已經制定的要達到的目標,方向。這個是指引項目往正確方向發展的標誌。這個必須明確,且一直貫徹,在項目的執行過程中不能出現大的變化。
 我曾經接觸過一個項目,項目初期是計劃做一個社區化的休閒遊戲,但卻沒有制定出具體那些是社區化的元素,然後在項目的開發過程中,策劃人員借鑑其他RPG遊戲的元素,最後遊戲發展成了完全的戰鬥類RPG遊戲。


五、流程
 流程是指引大家如何去做的規範。
 由於人的思維活躍性,同一件事情,不同的人去做的話,做法是會不同的。而不同的做法,就會帶來品質的不同,以及工作交接的時候更多的溝通成本。因此對於一件經常做的事情,儘量保持單一的工作方式,以便獲得一致的品質,儘量少的解釋成本,是有必要的,因此,需要對這個工作制定一個標準的工作流程,然後在項目中宣傳推廣。目前,每個公司在工作上的流程都是不一樣的,有很大的區別,所以新員工都有一個流程熟悉,適應的過程,這個不能只靠員工自己的接觸去學習,應該在新員工培訓中做工作流程的宣講,同時利用自動化的信息管理系統來強制執行流程的跳轉,保證工作上的一致性,避免出現任意跳過流程的現象出現。
 任何人都有不喜歡被管束的性格,特別是現在的年輕人,因此在工作中,如果有人總是來挑毛病,總是想跳過這個人,這樣一來,原有的監管就被跳過,質量就難保證。這個在“人性化”管理的公司裏經常出現。

六、成本
 如果一個公司很有資本,那是不是做項目就不用考慮成本了?
 恰恰相反,越有錢的公司,做事情越要考慮成本。現在有很多大公司,因爲有錢,做事情不計成本,最終導致項目失敗。
 對於一個新開的項目,應該竭盡全力來控制成本。舉個簡單的例子:比如做一個遊戲:
  投入成本 100w                    收入200w                  贏利100w

  投入成本 500w                    收入200w                  贏利-300w
 目前很多的行業,已經不是一個人壟斷的市場,每個人只能獲得一小部分市場,因此他的盈利能力是有限的。在有限的盈利能力下,節約成本,其實就是在賺錢。我曾參加過一個項目,項目初期就花了200萬去買了一個商業搜索的功能,人員一度達到50多人,項目進行了2年多,最後以失敗告終。
    同樣一個項目,如果控制成本,就可以贏利,而不控制成本,就會虧損。現在的市場,已經很難有一個產品一統天下的局面,而是多個產品來瓜分市場,彼此之間競爭的就是成本控制能力。控制的好,你就可以生存,否則你就會被淘汰。

七、時間
 時間是項目中經常要控制的要素。
 對於商業合同,時間往往直接就等於金錢。但在項目中,最常見的也就是時間不夠,導致項目延期。對於大型項目,完成的時間很難估計,另一方面,開發中的不定因素太多,導致浪費時間去解決問題。再者,如果工作沒有好的計劃,執行沒有到位的監管,導致工作拖拉,質量低下,不得不返工,這些都是最常見的浪費時間的現象。
 要控制好時間,首先要做好計劃,將工作分解的足夠細,可以確定每個環節所用的時間,同時給足必要的餘量。採用原型開發模式,逐步迭代開發,降低開發過程中的風險,有利於控制開發時間。

八、質量
 一個項目的好壞,最直接的反映是在產品的質量上。
 影響產品的質量的因素,一個是技術的選型,選擇一個成熟可靠,且合適的技術,合適的學習難度,可以開發出穩定質量的產品,簡單的技術可以更好學習,更好維護。另一個是選擇有經驗的開發人員,技術可以學習,但是經驗只能靠時間積累,有經驗的開發人員可以考慮更多的問題,比較全面的處理問題,更容易獲得一個好的品質。同時,要一直保持良好的監管,對於如何工作都要做檢查,達到標準方可以繼續後邊的工作。在工作中,應該經常挑刺,任何問題都應該高度重視,及時處理,不要讓一個小問題幾個月都沒處理。通過這些步驟,可以獲得一個較好品質的產品。

九、人
 人是在項目中最不可控制的要素。
 一個是工作的方式的不同,每個人做事情的方式方法都不同,容易出現矛盾,不能銜接的問題,因此,作爲一個團隊,應該使用一致的工作流程,來保證工作的順利執行。
 一個是工作評判標準的不同,對於一件事情,有的人覺得好,有的人覺得壞,所以會有爭執,因此,應該制定工作評價的標準,可以客觀地評價工作的好壞。
 每個人的技術技能的不同,因此在分配工作的時候,要注意工作者的能力,分配相應難度的工作。

十、技術
 技術是決定是否可以做出你需要的產品的要素,但不是決定你的產品是否能在商業上取得成功的必要條件。
 我們做的產品,都是給用戶使用的,對於用戶,他並不關心你是用什麼技術來實現的,他關心的是產品是否能滿足他的需求。因此在能滿足用戶需求的前提下,選擇最簡單的技術,是最節約成本的選擇。

十一、資源
 這個是指項目中的環境,設備等。
 能夠提供一個良好的環境,充足的軟硬件資源,可以讓你的項目高效地執行。雖然資源好,項目執行會更好,但在接觸的項目中,有時候往往資源條件不好的項目,做出的產品會比資源條件好的項目的產品更好。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章