極限程式設計(extreme programming),是一種輕量級的軟體開發方法,他以**為核心任務,主張以簡潔,高效,持續以及合作的方式來進行軟體開發。因為上述的特點,這種程式設計方式比較適用於較小的開發團隊。 對於超過百人的開發團隊,我想這種程式設計方式未必很適合。
xp程式設計有四大價值,分別是:
溝通簡單
反饋勇氣
上述四大價值,個人覺得說的非常好。我覺得這四大價值不光光是體現在極限程式設計中,個人覺得只要是軟體開發的專案都很有參考的價值。 下面我想結合實踐,談談自己對上述四大價值的認識,而不僅僅侷限於xp程式設計.
溝通: 人為什麼比別的動物聰明?發明了語言,讓大家更好地交流至關重要!
溝通對於軟體專案的成敗太重要了.儘管xp構建的是人與人通過最簡單,最直接的方式來得到對人物的正確理解.但我還是想跳出極限程式設計的圈子來談談"溝通"."溝通"包括兩大方面:與客戶的溝通和專案開發團隊內部的溝通.
a.與客戶的溝通: 當拿下乙個專案後,我們就需要根客戶做需求分析. 系統要做什麼? 有哪些功能? 各個功能下面包含那些子功能? 希望做成什麼樣子? ...... 這些大大小小,包羅永珍的問題我們都需要一一跟客戶了解清楚.要不以後該做的沒做或做起來的功能不能滿足客戶的要求,總是有些麻煩吧. 假如碰到的客戶這方面也有一定的了解,那好.假如系統有的功能連使用者自己也描述不清,那可就需要想辦法讓客戶明白,比如可以先做個原型,讓客戶看看是不是這樣? 需求分析搞定後,客戶簽字後是不是就可以少溝通了? 不是的. 因為需求往往會改變嘛! 碰到這種情況,我們務必要溝通溝通再溝通了.
b.專案開發團隊內部的溝通: 開發團隊人員包括專案經理,程式設計師,測試員,資料庫管理員等等.那麼如何讓開發團隊高效工作呢?建議還是先溝通.作為開發人員,我們要及時向專案經理匯報工作的進展情況,讓團隊同組開發人員知道你的開發情況,遇到問題要及時溝通想辦法解決.
簡單: 簡單的,才是更好的.
a.從系統規劃來說,目前做目前人力物力能及的.只先做目前有能及的,目前尚在考慮中的,沒想好應做還是不做得功能可以放到以後的二期,三期.等以後這些都考慮周全了,估計一期也做得差不多了,至少已經做了一部分了.這樣總比所有的放到一起,現在才開始著手強吧.
b.從設計上來說,我們應採取簡單的設計.目前系統需要什麼功能就先設計什麼功能,暫時不要去設計未來的功能.畢竟未來不可**,現在要是對未來設計太多也未必能很好地符合未來的功能需求.
c.從自己編碼來說,我們需要精簡**,消除重複的**.比如將一些公用的東西寫成可供復用的方法或模組.
反饋: 廣聽八方意見,忠言逆耳利於行.
因xp程式設計的特點,開發人員能不斷地得到反饋資訊,根據這些反饋過來的資訊進行研討,然後進行下一次迭代.我們的開發團隊也要這樣做,不斷地聽取反饋資訊.不管這些資訊來自客戶還是自己的內部人員.對於反饋的資訊,我們也要盡快解決並總結為什麼會出現這些問題.
勇氣: 鼓足勇氣,去面對問題,解決問題那才是正道!
jeffries說,勇氣是一種最終的價值。如果你在一種基於"溝通","簡潔","反饋"的模式下工作,你將獲得勇氣,永往直前.以這種方式去解決問題,這也許正是xp程式設計的最終目標吧.作為開發人員,我們需要有勇氣去面對出現的大大小小的"bug"和錯誤.在人生處事態度上,我們大家也需要十分勇氣吧!!
客戶滿意、程式設計師輕鬆是專案管理的最高境界
物件導向程式設計的四大原則
1.開閉原則 the open closed principle ocp 乙個模組在擴充套件性方面應該是開放的而在更改性方面應該是封閉的 因此在進行物件導向設計時要盡量考慮介面封裝機制 抽象機制和多型技術 擴張性開放,更改性關閉 依賴介面和抽象類,介面優先抽象類。2.替換原則 子類應當可以替換父類並...
JAVA基礎 物件導向程式設計的四大特性
物件導向的第乙個原則是把資料和對該資料的操作都封裝到乙個類中,類的概念和現實世界的 事務種類 是一致的。物件是類的乙個例項化結果,物件具有類所描述的所有屬性及方法,是具體的。每個物件都屬於某個類,物件導向程式設計就是設計好相關的類,類中有屬性和方法。封裝是為了繼承 繼承是在類 子類以及物件之間自動地...
乙個技術工作者的四大核心價值理念
乙個技術工作者的四大核心價值理念 這是筆者作為乙個多年的軟體技術工作者,從事軟體開發,對工作 生活以及學習等人生感悟而形成的四大核心價值理念,也是偶qq的簽名標籤。學習是為了更好的工作和生活,而工作本質也是為了更好生活,提高生活質量。學習是燃料,是助推劑 工作是手段,是方法 生活是目的,是本質。也就...