文章出處:http://m.tkk7.com/BlueDavy/archive/2006/01/01/26282.html
昨晚看切爾西的比賽的時候突然聯想到了軟件開發,呵呵,來看足球賽:
1、根據比賽雙方的實力、主客場、天氣等等各方面因素來比賽雙方都會制定自己的目標,戰平、勝或別的目標。
2、需要在有限的時間內(90分鐘)達成目標。
3、多種角色構成。(守門員、后衛、中場、前鋒)
4、一定的陣型(4-3-3、4-4-2)和戰術(防守反擊、短傳滲透、長傳沖吊)。
5、多變的形式以及多種不定因素(裁判、球員狀態等)。
球賽的整個過程需要由整個隊共同努力去完成,而教練負責對于全局的把握、戰術的調整等。
軟件開發和足球賽有很多類似的情況,也是在一定的時間內由多人協作共同去完成目標,在完成目標的過程中會碰到多種不定的因素和多變的需求,通過架構來制定開發過程的陣型,通過引入模式來作為實現目標的戰術。
軟件開發和足球賽一樣,人是其中至關重要的因素,一樣的陣型、戰術在不同的球隊中就會產生完全不同的效果,你不能去要求甲級聯賽的球員擁有和超級聯賽的球員同樣的水平,也不能去要求一個球員永遠保持良好的競技狀態,同時,陣型、戰術直接影響到個體,也許個體的實力很強,但在一個不適合的陣型和戰術中是無法發揮的。
從架構層次去看,球賽依靠4-3-3、4-4-2這樣的陣型構成其架構,在實現目標的過程中需要保持陣型,在進展的過程根據實際情況進行調整,但不會頻繁變化,教練就象一個優秀的架構師,會根據情況來決定出最佳的架構。
從實現角度去看,在球賽進展的過程中球員會采用多種協作模式,撞墻式配合、下底傳中等,同時個體也會采用多種模式,穿檔過人、人球分過、變向、踩單車等,好的球員能夠純熟的應用模式到合適的環境中去。
從團隊管理角度去看,球賽需要多種角色的球員的共同合作,球員的合作是影響目標達成的重要因素。
從個體角度去看,個體的能力、狀態以及對于架構的理解將會影響架構的實現和目標的達成。
某種程度上來講,足球比軟件開發更具難度,極為有限的時間,更多角色的合作,更多不定的因素。