軟件項目開發VS足球運動

   萬物相通,九九歸一。有時候多思考一些東西,你會發現其實很多事物的內部原理都是相通的。
   發現軟件開發與足球這兩個風馬牛不相及的事物竟然存在着千絲萬縷的關係。
 
  1.球隊VS開發團隊
     足球是整體運動,同樣軟件開發也是。一隻球隊要取得成功,需要依靠團隊的力量,明確的分工(教練、守門員、後衛、中場、前鋒各司其職)、
  和諧的更衣室以及積極進取的比賽態度。軟件開發又何嘗不是這樣的?需求分析、設計、編碼、測試都需要明確分工的,
  開發工程中及時有效的溝通也是必不可少的,當然工作態度那就不用多說了。
 
  2.教練VS項目經理
     教練的作用:日常訓練安排、決定球員去留、分析比賽、鼓舞士氣以及在比賽時的戰術安排、臨場應變、在球隊落後情況下的人員替換等等,教練不一定踢球的技巧要比球員強,但一個成功的教練整體戰術、戰略安排必定有過人之處。  可以說教練員有時可以直接決定一場比賽的結果。
     項目經理同樣賦有這樣的能力:對項目進行有效的日常管理、人員管理、項目分析、激勵團隊、風險管理,在項目開發的過程中需要分析整個項目的進展,制定相應的解決方案, 在面對問題時要有決策的能力,還需要有溝通、談判的能力。項目經理同樣可以決定一個項目的成敗。
 
  3.進球VS實現
     足球比賽最終的目的就是爲了進球,在進球的同時能伴隨着華麗的過程,那將是賞心悅目的比賽,這需要依靠球員過硬的技術。
     同樣軟件開發最終目的是功能的實現,沒實現功能什麼都免談。在實現功能的同時,規範的編碼、良好的結構以及使用更好的技術簡化編碼,那麼項目將更加成功。
 
  4.不斷組織進攻VS迭代開發
     足球比賽要進一個球不是那麼容易的,要不斷的重複的組織進攻,纔有可能攻破對方球門。
     同樣現代軟件開發倡導敏捷開發,敏捷開發提倡將一個完整的軟件劃分爲多個迭代,每個迭代實現不同的功能。
     重大的、優先級高的、風險高的功能先實現,後繼不斷迭代實現功能,最終完成功能。
     
  5.臨場戰術VS站立會議
     經常看到教練組在比賽時拿着一塊白板在上面進行畫畫圈圈,這是教練組根據比賽當時現場的情況制定一些臨時的對應策略。
     同樣敏捷開發提倡每日站立會議,一個項目的延期不是一天兩天造成的,而是每天的延期造成的,需要根據實時情況不斷調整開發進度,人員安排。
 
  6.重建VS重構
     再好的球隊經過一段時間,隨着人員的傷病、狀態、年齡等情況,都需要對球隊人員進行清洗、更換,來保持球隊戰鬥力。

     同樣我們的代碼也需要經常進行重構,來提高項目生命週期以及後續開發效率。

     過程是痛苦的,結果是美好的。

     
  7.加班VS加時賽
    在一回合的比賽裏如果在90分鐘內不能分出勝負,那麼只能加時,加時還不能解決...點球,反正就是有分出個雌雄。
    一個項目如果感覺在規定日期內完成不了,那能怎麼辦?加班唄,在國內幾乎沒有“不加時的比賽”,如果加班還不能完成呢?那能怎麼辦只能放大招了。什麼大招???不是你放大招是領導放大招,你就等着接招的命....
   
  8.投標VS裁判
    裁判說你犯規你就犯規,說點球就點球,你敢抗議??nnd來張黃牌,不服啊!哥還有紅牌在手...
    一個軟件特別是企業應用軟件,你做的再好沒用的,只有通過投標這一關,才能轉化成一疊疊的紅鈔票。當然性價比高的軟件通過的比例肯定會比較大,但也不排除存在各種“乾爹”的可能性,這是一個拼“爹”的社會,特別是那些國有企業,
    你如果沒有“乾爹”,那麼至少期盼別人也沒有“乾爹”,不然一切白搭。
    
     再20天左右西甲新賽季就要開始了,普約爾+梅球王+小白+哈維+內球王+小法+馬斯切拉諾+特球王+影帝+阿爾巴+佩德羅+阿爾維斯等等(哦還有我們的夏奇拉...)期待。。。。。。宇宙隊重新站在歐洲之巔。也祝福遠走馬競的葫蘆娃......
  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章