喬遷啟示:因應實體教室租約到期,富捷培訓於八月起將在長安新址,以線上直播教學為您服務,懇請舊雨新知繼續支持與指教。 地址:台北市長安東路二段201巷19號之1一樓,電話: 02-27116373

29 五月 2013

談軟體開發概念 – Agile

Agile是一群相當有經驗、有才華的軟體開發人員,在參與許多大型軟體開發專案期間,觀察團隊成員工作行為並紀錄開發流程後,提出一系列的概念與作法,讓整個專案進行更為快速與輕鬆。

下列四點更是他們對軟體開發極為重視的觀念:

  • 成員之間互動勝於流程與工具
  • 可妥善利用的開發工具優於面面俱到的技術文件
  • 客戶協同參與專案大於合約紙上的溝通談判
  • 對提出的內容改變有所回應,而不是按原訂計劃進行

藉由以上觀念,這邊提出了12點有關軟體開發的理論與技術,各位軟體開發人員或是專案管理人員不妨參考看看。

1. 客戶滿意度
軟體開發最終目的就是要讓您的客戶感到滿意,透過提前或是持續地提供各種有用的小功能,讓客戶知道您的開發是有進展的,而且對於各種功能都能得到即時的意見回饋。

例如今天接了一個開發網站的案子,您可以試著這樣做:
(1) 先將頁面建立完成,提供給客戶
(2) 增加用戶管理功能,提供給客戶
(3) 增加討論區使用功能,提供給客戶
(4) 增加特效功能…等

2. 快速調整客戶需求
客戶總是希望能夠快點取得他們需要的軟體!在他們的心裡,對於功能使用與介面呈現總是有個期望值,因此,在每次交件的驗收過程中,若是對於客戶所提出的調整與更改能快速的修正,這會讓整個專案開發進度更為快速。

3. 頻繁地交件與更新
根據經驗,客戶對產品的信心是來自於持續不斷地更新,每一次軟體更新,就代表著功能上的增進或是bug的減少。我們不用等到全部做好才提供,只要一有改變就馬上交給客戶,這會讓他們對您的軟體開發進展與品質越來越有信心!

4. 協同合作
若是您可以跟客戶在開發過程緊密地合作,這會讓事情進行的更加輕鬆與快速。請注意!客戶有時不一定聽得懂您所要表達的意思為何,建議溝通各項功能時,可用故事或譬喻的方式告訴他們為什麼要這樣做,雙方才能達成有效的溝通。

5. 激勵團隊成員
擁有良好的開發環境與足夠支援的工具能讓您與您的團隊成員更加投入在開發上,並試著對您的團隊成員有信心,相信他們也都是想將事情做完與做到最好。

6. 面對面溝通
在條件狀況允許下,面對面的溝通可以讓專案上的討論更為順暢與容易,向您的團隊成員或是客戶能清楚地表達您在想什麼。

7. 評估工作進度
客戶只想要您們將要求做完且正確,他們不會管您是怎麼做出來的,因此善用進度評估的相關工具,讓您可以按自己的步調進行專案;相信自己的團隊成員,因為沒人會想寫出爛程式來。

8. 維持穩定步調
維持穩定的開發時程與節奏,在專案是一項非常重要的概念,因為這可以避免許多非常荒謬的Deadline期限,進而精準地將各項任務排程制訂出來。

9. 暸解產業趨勢
對各產業的情形暸解,絕對有助於軟體專案開發的進度,因為您可以更清楚暸解客戶的需求與想法,並進一步地將他們的需求跟想法實現。

10. 簡單就是一切
Bill Gates曾說:「如果我遇到一件非常難以處理的問題,我會把它交給我底下最『懶』的人去做,因為他們會想到最簡單輕鬆的作法去解決問題。」因此,別把任務想得太複雜化,馬上動手寫程式吧!

11. 有組織性的團隊
在專案過程裡,會有許多突發或無法預測的情況發生,團隊裡的每個成員都各自扮演好自己的角色。

12. 反應與調整
經過好幾次的專案開發後,團隊成員應更有效率地反映與調整專案上的工作行為,這會讓一個團隊變得更加進步,更加完美。

全文請參考:http://net.tutsplus.com/articles/general/the-principles-of-agile-development/