新的挑戰:敏捷開發與優秀的程序員
原創【51CTO專稿】今天是敏捷中國大會2009的第一天,各地的敏捷專家與關注敏捷的企業代表、項目管理者以及開發者們匯聚北京,相互之間了解各自敏捷開發的理解與進展,并從敏捷大師那里直接學習有關敏捷開發的精髓與最新理念。此次大會邀請到了敏捷宣言創始人中Kent Beck與Dave Thomas,敏捷領域大師級專家Fred George,已經成功運用敏捷的上海貝爾、賽門鐵克、諾基亞-西門子、eBay、騰訊等公司的項目負責人來大會上進行主旨演講,分享他們的敏捷經驗與心得。
敏捷中國大會2009
敏捷開發現在在歐美已經有了相當的普及,在國內也已經流傳實踐了幾年,現在正逐漸進入到越來越多的項目中。雖然敏捷開發既有成功的案例也有失敗的案例,但其可靠、可預測、節省成本的潛在特性決定了敏捷開發的廣泛應用將是必然的趨勢。此番參與敏捷中國大會的大多數學員都對敏捷開發的理念有不同程度的了解,并且都有不短時間的項目開發經驗。因此,今年的大會主要交流的都是敏捷開發方法具體實施的細節,以及遇到的問題如何解決等實際內容。
敏捷開發中的一個很重要的因素在于團隊成員的自律性(換句話說,就是一個自管理的團隊)。所以,雖然敏捷是一個項目管理層的理念,但這個理念決定了項目的每一個參與者,即程序員(事實上敏捷這個概念適用于很多領域,但在開發這個領域的實現有著相對較低的門檻),都需要有更高的素質。事實上,敏捷開發的實施很大程度上是一個自下而上的過程:無論是怎樣的敏捷方法,都需要參與者主動的領取任務,更重要的是主動的交流。因此,有著良好自律性和主動性的程序員將成為項目成功的重要因素。在大會的演講上,Kent Beck介紹敏捷開發社區一個常用語:When you do Agile development you really need good people,意思是敏捷需要優秀的人。雖然傳統的項目也需要優秀的程序員,但不得不說敏捷開發對于每個程序員的要求會更加的高。
Kent Beck
不僅僅是對于自律性和主動性方面的需求,敏捷開發中的程序員已經不能滿足于僅僅了解Java,或僅僅了解.NET,或是其他的某種語言。項目中的成員不能滿足于僅僅能夠后臺編程或者僅僅能夠做前臺設計。基于對效率的追求,敏捷開發要求每一個參與者都能夠單獨完成一項完整的模塊:并非是要求參與者精通所有的方面,但在大多數領域的能力到達中等或中上的水平是有必要的。敏捷大師Fred George對51CTO記者說,“我們現在都說Java程序員,PHP程序員,Ruby程序員,等等。我認為這樣的稱呼都是錯誤的:程序員就是程序員。”事實上,對于一個有一定基礎的程序員而言,學習一門新的語言,通過一周的閱讀和編寫代碼進行熟悉,觸類旁通,便可以達到一個中等的水平。Thoughtworks的咨詢師,.NET開發老手王瑜珩也是這樣認為的。
可能有些開發者看到這里有些迷惑了:一隊萬精油怎么會比各司其職的隊伍更加有效率呢?其實這正是敏捷開發的理念之一:這個理念認為項目中最大的消磨是在于溝通的不足,而由通才組成的團隊則能夠最大的減少交流障礙,從而進行快速的開發。而且由于隊伍中的每個人都精通在不同的領域,在各個領域進行交流,將會形成互補的形勢,使每個參與者都能夠不斷地提升自身的水平。
Dave Thomas
誠然,這對于程序員而言不是一件容易的事情。即使是敏捷宣言創始人、軟件編程大師級人物Dave Thomas,做了三十多年的編程,如今仍然在編代碼,他也說:“Programming isn't getting easier.”(編程并沒有變得容易)。提升自己的自律性和主動性,并且在多個領域有所涉足,使自己變成多語言的優秀程序員,將成為每位開發者面臨的挑戰。這不完全是敏捷開發推廣所造成的,但敏捷開發的迅速發展必然將加速這一進程。
作為一個程序員,你做好準備了么?
【編輯推薦】