NT$590
課程資訊
適合對象
你可以學到
了解制訂myAgile的敏捷方法
了解工程、 架構設計及細部設計
課程介紹
軟體業最重要的是工作文化,而敏捷新文化首重面對面溝通,我們探討溝通管道、溝通目的及溝通佈置 (含溝通利器看板),並談及台灣軟體業較弱的群育及英文敏捷開發帶來的新觀念,以及人際溝通的新研究等等。最後介紹廣為人知的極限開發法的文化(價值觀)及其實務。
本課程介紹敏捷宣言及匠藝宣言等產業升級的軌跡,再由不同長度的溝通週期 (短則五秒、長則兩月)所進行的測試來帶動軟體開發,這叫測試帶動法。 最基本的溝通是雙人組開發,除溝通外,本課程也將介紹制訂myAgile的敏捷方法,包含需求工程、 架構設計及細部設計。
需求工程(工序0-2) | |
架構設計(工序3-6) | |
細部設計 (工序7-10) |
需求工程為產生驗收測試案例及使用手冊等文件。 | |
架構設計使用CRC產生class interface,可用逆向工程工具自動產生架構圖,並為專案管理(派工及時程)的依據,還可依之製作測試碼,以JUnit工具做單元測試。 | |
細部設計則針對各個class 設計其資料結構演算法及程式。 |
學習前基本能力
學習前準備
課程資訊
關於講師
陳振炎
單元重點介紹
資訊、軟體及軟體業
軟體業文化最重要
奠定軟體業新文化
敏捷文化首重溝通
敏捷新文化的概念
綿密的團隊溝通
溝通管道圖示
人際溝通的感度
文件溝通的缺點
面對面溝通很敏捷
溝通管道的比較與使用
溝通目的:告知、提示、激發
溝通的例子
CMMI與敏捷開發
敏捷開發減少文件
溝通的目的
美國先進軟體公司佈置
對照台灣軟體公司佈置
對照後的省思及樣本辦公室佈置參考
軟體公司佈置準則 Central Desk vs. U-pod
溝通的佈置與準則
看板是豐田汽車發明的即時生產模式
使用看板限制工作量
看板的例子
看板的使用
軟體品質中創意與紀律的重要
軟體公司招募什麼人才?
開發團隊與公民意識
人的品質與軟體品質之關係
軟體業的迷思
團隊組織
駐點客戶有效掌握變動需求
逐步改善以達極致───守破離
敏捷開發與傳統軟工之差異
史丹福大學實驗指出溝通障礙
用故事破解知識魔咒
觀念溝通六原則
溝通的例子
溝通的原則
極限開發5項價值觀
極限開發4大類12項實務
XP Practices 實務
極限開發法
單元結語
軟體產業升級史
敏捷宣言四重點
精實開發砍掉浪費
敏捷宣言及精實開發的重點
匠藝宣言是 not only A but also A++
精巧軟體
穩定增值
專家群體
有效夥伴
匠藝宣言的內涵
兩人配對即時溝通
二人行必有我師,拉齊團隊技術
雙人組開發是程式共有制的基石
1+1>2 的雙乘效果
軟體需不斷重整
開發時要連續整合各個程式
簡約設計
軟體重整與簡約設計
交貨規劃與回合規劃
站立日會
以溝通週期帶動開發
測試帶動法之應用
思考及創意
有壓力則無創意
創意來自人生體驗及工程呈現
軟體開發工作的思考及創意
myAgile重點概述
適用範圍與試行團隊
myAgile敏捷方法重點
工序0:探索需求
工序1:使用情節
工序2:驗收測試案例及使用手冊
需求工程之應用
工序 3 :架構設計會議
介面(Class interface)與標頭(Header)
架構會議與介面
工序 4 :逆向工程工具
傳統軟工的架構設計不確實
逆向工程與傳統軟工之使用
工序5 : 派工及時程
每個派工及時程的回合
派工與時程規劃
工序6 : 單元測試碼
method “Sort”的例子
method “add”的例子與Test Code
測試碼之應用
工序7 : 資料結構設計
Class interface 與Data Structure
資料結構設計技巧
資料結構設計
工序8 : 演算法設計
細談設計草圖與虛擬碼用詞
演算法之設計與使用草圖
由上而下寫出各抽象層的虛擬碼
各層虛擬碼都要 trace 來除錯.
設計草圖與虛擬碼的範例
虛擬碼之應用
工序 9 : 補上程式碼
虛擬碼與程式碼的安插方式
容易閱讀與維修的程式碼
工序 10 : 單元及驗收測試
程式設計與測試
學習附件
關於講師
陳振炎