標籤:
在整個團隊經過三面牆的快速對整個項目的三個方面進行整理瞭解之後,接下來便開始了開發的流程.
因為項目是新開始的,沒有一個現有的開發架構或平台,所以初始階段搭建架構的工作顯得十分迫切.如果沒有一個基本的開發架構的話,其他的開發人員也是沒有進行相關的開發.
因為基本的項目架構的內容已經設計完成,接下來需要根據架構來搭建相關的開發架構,所設計到的技術都有Kissy,Bui,SpringMVC,Spring,Dubbo,Zookeeper,Ibities,MySql叢集等.這些技術是組成開發架構的基本支撐,因為涉及行業及相關的保密協議,這裡不再對具體架構的內容進行說明了.
搭建開發架構的任務落在我跟另外一個同事的身上,我們兩個運用了敏捷開發裡的結對程式設計方式對整個系統的雛形開始動手了.
大概我們兩個人用了一個星期的時間(中間加班到十點十一點是很正常的事情……)從資料庫底層到頁面上層的分布式架構基本搭建成功.這個過程我還是比較欣慰的,因為雖然在過程中遇到了很多的問題和困難,但基本上都能夠解決,兩個人結對程式設計的默契度還是非常的高的.我們遇到主要的困難是集中在分布式這塊,因為dubbo和Zookeeper這塊是我們之前沒有接觸過的內容.對於新的事物我們還是比較興奮的,在這個過程中通過學習,解決問題再學習.
另一個遇到比較大的困難時沒有網路,由於工作性質的原因,銀行內部開發是對安全非常的重視,我們的工作機裡的系統都是行裡統一給分配的虛擬機器,大家都是在虛擬機器裡進行開發和設計.因而以前給力的巨人--網路,我們基本上是指望不上了.可以想象一下沒有網路工作的樣子,不過現在反過頭來看,快兩年的時間基本上已經習慣了無網路的工作環境.但總感覺有點與世隔絕的味道.
所以在沒有網路的環境下,結對程式設計可以在一定程度上能夠把無網路的不利因素化解一些.
這裡要對結對程式設計進行一下說明.
敏捷開發是十幾種開發方法的統稱,極限編程就是這十幾種開發方法之一。極限編程包括了十幾種實踐(就是一些具體做法),結對程式設計是極限編程的一種實踐。
結對程式設計技術是一個非常簡單和直觀的概念,能達到事半功倍的工作效果。但是,人與人之間的合作不是一件簡單的事情,尤其當人們都早已習慣了獨自工作的時候。兩個有經驗的人可能會發現配對編程裡沒有什麼技能的轉移,但是讓他們在不同的抽象層次解決同一個問題會讓他們更快地找到解決方案,而且錯誤更少。
在我們平時的編程當中,如果遇到一個非常難解決的問題(困難到對該項目產生厭煩的態度),那麼你勢必會希望錄求協助,無論是從資訊量龐大的網上(這個路暫時在我的工作環境中是不通了),還是從身邊的同事那裡,我們都會努力去解決。這個時候不妨採用結對程式設計試一下,其它的不說,可能感覺就不同。搭建開發架構是筆者對結對程式設計一次感覺良好的實踐體驗.
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
我和敏捷開發的故事--結對搭建開發架構