188715,170491

███ Azure DevOps In Action

Azure DevOps敏捷開發與專案管理實戰

Azure DevOps敏捷開發與專案管理實戰

您的評分:


出版日期:2020/02/14
出版:isdavid / 光岩資訊
作者:董大偉
語言:繁體中文(台灣)
頁數:198
ID:188715
產品類型:電子書
檔案格式:PDF(適合平板)
下載選項:Adobe DRM

結帳再折 NT$ 22 2
Pubu哞福利

零售
)檢舉
免費試閱
嵌入閱讀器至您的網頁

內容簡介

(此版本為搶鮮預覽版,後續會持續更新,但也會調高價格![越早買越便宜] 更新後,先前購買的讀者依舊可以免費持續下載最新版本,最近更新日期 2020/7/29 約 180 頁 )

2020年初,有幸受邀擔任TSMC敏捷開發(Scrum)與Azure DevOps的實施顧問與教育訓練講師。其實,打從2018年起,我們就開始針對Azure DevOps這個主題,對台灣許多企業內的IT人員(成員包含趨勢科技、遠傳電信、中華電信、玉山銀行…等各種不同行業別),進行相關的教育訓練課程,其中也不乏專案專班的Azure DevOps企業內訓。除此之外,我也不時參與了Agile Summit、DevOpsDay與社群活動。在帶了這麼多梯次的學員,看到參與者的熱情反應之後,我深深覺得應該要將敏捷開發與Azure DevOps介紹給更多的技術夥伴,因為它『確實』能夠為IT與軟體開發人員建構出一個嶄新的未來。

過去軟體開發工程師一直深受幾個普遍常見的問題所困擾,像是『需求的不確定性(頻繁的需求變更)』、『緊急臨時插單造成的品質或時程影響』、『持續發生突然蹦出來的規劃外的大量工作,讓IT人員疲於奔命,一直救火變成日常,根本沒辦法進行真正有價值的工作』、『軟體在開發階段都正常運行無誤,但到了用戶端就是一直水土不服!?』…這些林林種種層出不窮的問題,讓軟體的品質和該發揮的效益打了很大的折扣…

其實,軟體開發跟很多人想的不一樣。傳統以為軟體開發像是建築的施工,由設計師(系統分析師SA)繪製好架構圖,然後開發人員(PR)按圖施作就可以了。問題是,軟體開發就不只是這樣,沒有一棟房子蓋完裝潢到超過一半然後客戶跟你說他要的廚房不是長這樣,逼著非得整間打掉重蓋,但幾乎每一個軟體的開發過程都會發生類似的事情。
就算你簽了白紙黑字的規格書,幾乎也都被當作裝飾品。其實我能夠理解用戶也並非故意找我們麻煩,乃是由於這世界的『變化』變得愈來愈快,三個月前談好的規格,可能再三個月後就變得不適用。如今的軟體開發已變成必須持續修改、持續改善、甚至頻繁交付、持續改變…才能趕上用戶真實的需要。這,早就和建築業的施工模式完全不同、甚至南轅北轍。

在這種狀況底下,你還能夠使用二三十年前從傳統建築業仿效而來的專案管理方式來控管軟體開發嗎?我勸你不要…

敏捷開發概念與DevOps技術在這五年飛快的發展成熟,從過去我們看到軟體開發團隊中不多人使用,到如今不使用根本不行。
也就是說,現在不管你的專案規模大小、公司人數多少、只要你在開發軟體,就一定、必須、絕對…會使用到DevOps工具,當然也應該採用敏捷開發相關的思維與技術。

因此,你看到了這本書。

我希望,把過去這五年使用Azure DevOps的實戰經驗,透過這本書分享給大家,讓你在面對未來的軟體開發專案與維運時,更加地得心應手。好的軟體開發與優質的專案管理是有其方法的,正確的觀念、心態、再加上好的工具、技巧,將會讓你和你的團隊更少加班、更多產出、當然日子也能過得更加快樂。

章節目錄

● 注意:本書為搶鮮版,並不包含尚未完成的部分
● 此版本為搶鮮預覽版,後續會持續更新,但也會逐漸調高價格!
● 更新後,先前購買的讀者依舊可以免費持續下載最新版本
----------------------------------------------
第1章 從敏捷(AGILE)到DEVOPS 1-1
1-1 我知道你可能不想改變 1-1
1-1-1 軟體開發的現實、困境、與挑戰 1-2
1-1-2 No Pain No Gain 1-4
1-1-3 DevOps In Action 1-5
1-2 關於敏捷開發 1-7
1-2-1 關於迭代 1-8
1-2-2 關於Scrum 1-10
1-3 起手式 – 進入AZURE DEVOPS前的預備動作 1-11
1-3-1 你需要的各種帳號 1-11
1-4 正式進入敏捷與AZURE DEVOPS的世界 1-12
1-4-1 申請免費的Azure DevOps服務 1-13
1-4-1 環境介紹 1-15
1-4-2 關於組織與專案 1-16
1-4-3 建立第一個專案 1-18
1-4-4 將團隊成員加入專案 1-19
1-4-5 數位儀錶板 1-22
1-4-6 相關教學影片 1-23
第2章 從『需求』與『程式碼』開始 2-24
2-1 你怎麼管理需求的? 2-24
2-1-1 還在Word?Excel?該用看板(Kanban)了… 2-25
2-1-2 敏捷開發帶來的影響 2-26
2-1-3 建立第一個Backlogs 2-27
2-1-4 Backlogs Refindment 2-31
2-1-5 從Backlogs展開tasks 2-32
2-1-6 迭代、看板、與工作項的生命週期 2-34
2-1-7 未完 2-35
2-2 程式碼版控 2-35
2-2-1 毫無疑問你得選擇Git 2-36
2-2-2 原來Azure DevOps有內建Git Repos 2-36
2-2-3 從Visual Studio 2019連上並操作Azure DevOps Repo 2-40
2-2-4 從VS Code連上Azure DevOps Repo 2-49
2-3 關於分支(BRANCH)與PR(PULL-REQUEST) 2-59
2-3-1 為何要建立Branch? 2-59
2-3-2 建立feature branch 2-60
2-3-3 從backlogs/bugs上建立分支 2-60
2-3-4 被Branch關聯的Work Items 2-62
2-3-5 從tasks建立/關聯分支 2-64
2-4 關於PR(PULL REQUEST) 2-68
2-4-1 從需求(工作項)建立分支(Branch) 2-68
2-4-2 建立PR(Pull request) 2-73
2-4-3 進行Code Review與Merge 2-75
2-4-4 Branch與PR帶來的價值 2-75
2-4-5 透過Build Policy保護你的分支 2-76
2-5 關於專案的相依性與套件管理 2-78
2-5-1 砍斷針對專案的相依 2-82
2-5-2 在.net core專案中建立nuget套件 2-83
2-5-3 將套件上傳到Nuget.Org 2-87
2-5-4 改為針對套件的相依 2-91
2-5-5 Azure DevOps內建的Artifacts 2-94
2-5-6 別忘了還有套件的CI與自動化發佈 2-96
2-6 AZURE REPOS的其他使用 2-96
2-6-1 為專案建立新的Repo 2-97
2-6-2 匯入外部的程式碼 2-98
2-6-3 關於InnerSource與Fork 2-99
2-6-4 在Azure DevOps中使用Fork 2-101
2-6-5 關於Public/Open Source專案 2-104
2-7 再談工作項目的生命週期與管理 2-107
第3章 啟動CONTINUOUS INTEGRATION(CI) 3-108
3-1 CI為了解決什麼問題?有何好處? 3-108
3-2 建立你的第一個PIPELINE 3-109
3-2-1 建立.net framework專案的Pipeline 3-110
3-2-2 透過Trigger實現CI 3-125
3-2-3 Azure Repos中的程式碼線上編輯 3-131
3-2-4 建立.net core專案的Pipeline 3-133
3-2-5 建立 Node.js專案的Pipeline(待定) 3-139
3-2-6 建立 Python專案的Pipeline(待定) 3-139
3-2-7 其他程式語言的Pipeline(待定) 3-139
3-3 BUILD PIPELINE的設計細節 3-139
3-3-1 使用Template 3-139
3-3-1 關於Build Agent 3-140
3-3-2 調整Tasks 3-142
3-3-3 調整Task的執行順序與行為 3-144
3-3-4 透過trigger決定觸發時機 3-147
3-3-5 使用Build badge呈現建置狀態 3-148
3-4 在PIPELINE中加上單元測試 3-150
3-4-1 關於單元測試 3-150
3-4-2 建立單元測試程式碼 3-152
3-4-3 運行不同語言的單元測試 3-157
3-5 在PIPELINE中加上程式碼品質掃描 3-158
3-5-1 安裝SonarCloud 3-159
3-5-2 申請帳號 3-161
3-5-3 建立含有SonarCloud掃描的Pipeline 3-165
3-5-4 運行程式碼掃描 3-168
3-5-5 在既有Build Pipeline中加上掃描 3-171
3-6 在PIPELINE中加上套件安全性掃描 3-172
3-7 CI與CONTAINER 3-173
3-7-1 讓.net core專案支援docker 3-173
3-7-2 建置image 3-173
3-7-3 關於ACR與ACI 3-173
3-7-4 自動發佈到Container環境 3-173
3-8 針對NUGET PACKAGE的CI流程 3-173
3-8-1 將nuget套件發佈至nuget.org 3-173
第4章 進入CONTINUOUS DELIVERY(CD) 4-174
4-1 全自動交付會不會很危險? 4-174
4-1-1 關於簽核 4-174
4-1-2 頻繁交付是目的還是手段? 4-174
4-1-3 全自動還是半自動? 4-174
4-2 設計第一個自動化交付流程 4-174
4-2-1 建立Release Pipeline 4-174
4-2-2 關於Trigger 4-174
4-2-3 關於stage(environment) 4-174
4-3 進階的RELEASE流程設計 4-174
4-3-1 加入簽核者 4-174
4-3-2 加入Quility Gates 4-174
4-4 為RELEASE加上自動化測試 4-175
4-4-1 Functinal Test 4-175
4-4-2 Load Test 4-175
4-5 近代新形態的發佈模型 4-175
4-5-1 藍綠佈署 4-175
4-5-2 金絲雀佈署 4-175
4-6 發佈而不釋出? 4-176
4-6-1 關於Feature Toggle 4-176
4-6-2 使用Feature Toggle 4-176
4-6-3 Feature Toggle是技術債? 4-176
4-7 發佈到CONTAINER環境 4-176
第5章 應用程式的維運與監控 5-177
5-1 如何取得反饋? 5-177
5-1-1 只有兩種用戶會主動給你反饋 5-177
5-2 監控應用程式的運行狀況 5-177
5-2-1 使用AppInsight 5-177
5-2-2 使用URL Ping建立可用性測試 5-177
5-2-3 使用Telemetry蒐集資訊 5-177
第6章 再談需求與敏捷式專案管理 6-178
6-1-1 關於features與epics 6-178
6-1-2 關於Backlogs的時程預估 6-178
6-1-3 關於volicity與燃盡圖 6-178
6-1-4 再談工作項與敏捷開發法(Scrum) 6-178

作者介紹

董大偉(David)老師打從 20 年前 Apple II 時代起即投入程式設計領域,一直對於軟體開發的無限創意深深著迷,在資訊業界各領域均有參與。從2002年開始加入資訊書籍寫作並投身教育訓練與顧問服務的行列,兼具堅強的技術背景和業界經驗為後盾的他在課堂中針對授課的內容與討論的議題均與業界的需求緊密契合,讓學員得以結合實務經驗與電腦操作,在工作中可學以致用。董老師除了在軟體開發領域著有多本暢銷著作,從2006年至今,榮獲多次微軟的最有價值專家(MVP),並多次受邀擔任微軟歷年TechED大型研討會講師,是資訊界裡首屈一指的人才之一。

●微軟社群區域總監(Microsoft RD)
●微軟最有價值專家(Microsoft MVP)
●LINE API Expert (LINE官方認證API專家)
●光岩資訊技術總監
●Agile Summit, DevOps Day Taipei大會講師
●Azure DevOps 認證課程講師
●台灣微軟TechDays/TechEd 講師
●China TechEd 2013講師
●台灣微軟MSDN講座資深講師
●Run!PC專欄作者、博碩文化、旗標出版作者
●.NET 書籍暢銷作者
●國內多家企業、機構之軟體技術顧問、教育訓練講師

問問題