# Building Modern Application by 領域驅動設計實戰黑客松
## TODO
1. 培訓課程內容安排,等報名時收profile來確認
2. 可以讓參賽團隊知道培訓期間的課程安排,有助於準備比賽與組隊的事情
3. 陸續提供評分成就系統的內容
4. 成就系統的設計安排 --> Kevin, Arthur
5. 蒐集各社群對於新聞稿PR 的內容提供意願
## Goal
當你有任何想法想要訴諸實現,不管你是企業或新創甚至乃至於個人,通過不斷的思考與驗證商業價值與實踐的可能性,是唯一幫助你能解決問題的一條路。然而,越複雜越困難的問題需要有些方法指引你前進。
領域驅動設計作為一個非常有代表性的團隊思考共創解決方案的方法,能夠幫助你與團隊在協作中,從業務需求真實實踐落地完成,而在探索與實踐的變動當中,需要有好的技術團隊支持與技術資源的投入,AWS除了能讓你快速佈建的基礎設施並且提供多元的成熟託管服務,能輔助你快速的將發想創意實踐,而無需花時間過多思索獨自建構的歷程與複雜度。
在本次的黑客松活動將會讓參與的團隊,學習理解基礎的領域驅動設計內容,通過這些學習的基礎知識嘗試開發應用,並把實際完成的應用服務部署在AWS,讓更多台灣用戶與社群成員知道,AWS可以支撐在極端的業務挑戰變化下,通過雲服務的快速搭建與專業的技術團隊支持,把重心放在解決業務問題,從而達到業務服務目的。
## Event Date
暫時預定在 2019-11-02 或更晚,但不會晚於11月下旬,相關細節陸續安排討論中
## Event Info
* 目標最多20個隊伍參加,每個隊伍以5人為最佳,活動人數大約抓100人
* 可先行組織組隊參加,或者個人先報名,並於活動當日現場經由大會協助自組織組隊參加
* 參與群眾來源包括有AWS客戶,DDD社群成員,以及其他任何社群有意願實踐,成為Builder的團隊
* 活動時間預估將會花費24小時,鐵人賽馬拉松形式進行,活動當天組隊報到確認,並入場進行各種挑戰
* 報名時,會同時提供參與培訓DDD的課程報名,與會者可挑選培訓課程報名
## Co-owner
這會是一個台灣史上最特別的一次的黑客松,除了AWS主力舉辦之外,同時會邀請以下社群投入講師、技術人員輔導當天的各項實施:
> TBD: --> AWS:主辦, DDD:協辦(執行單位) , 諸多社群為合作單位
* Domain Driven Design Taiwan Community - https://www.facebook.com/groups/dddtaiwan/ (肯定投入)
* AWS Taiwan ( SA team and Support team)
* AWS User Group Taiwan - https://www.facebook.com/groups/awsugtw/ (有確認協助培訓意願,主題與講者人數陸續討論)
* AgileCommunity.tw, Scrum Community in Taiwan - (確認協助投入意願,共7人參與)https://www.facebook.com/AgileCommunity.tw/
* DevOps Taiwan - [https://www.facebook.com/AgileCommunity.tw](https://www.facebook.com/AgileCommunity.tw/) -->再等回覆
* Taipei Hashicorp User Group - https://www.facebook.com/groups/TaipeiHUG/ (確認參與協助培訓意願,講者未確定人數)
## Standard of grading
計分方式,彩以計分卡方式來做, 根據幾個大方向來給分,每一個領域可以提供多張卡片,每一張卡片有各自的分數,每張卡片說明給分原則與基準。
(譬如,每一張卡片可以分別給 1~5分的差異,讓團隊挑選做哪些事情)
* 至少使用3種AWS產品
* DDD 戰略與戰術 --> ex:實作一個 Value object pattern
* AWS 部署與產品使用
* Agile 團隊協作與開發
* Devops 運維
* 完成實踐的業務場景需求 -->或者改以 原創 or 解決未知的問題層面
上述各領域,需要各社群協辦人協助提供評分點數卡,做為評分用途。
## Pre-work
### 實戰主題確認
挑戰 : 使用AWS 的 Serverless, Container, 與CI/CD等多種運算與部署平台,開發你的微服務應用程式,並融合領域驅動設計的方法實踐服務設計與分散式服務間的通訊方式,更多的AWS Messaging服務也都鼓勵在這實戰挑戰中大量使用。
主題類型 : 既有系統拆分、金融支付、電子商務、區塊鏈、數據蒐集分析應用,或者創新服務應用開發
獎勵 : //看我們可以給什麼
>相關應用服務在香港region是否已經都ready
(TBD)
* 創新(業)應用,包括但不限於以下
* 金融支付、IoT, 區塊鏈, 數據搜集分析 應用
* 微服務應用開發,包括但不限於以下
* 既有系統轉型, 特定業務目標驅動的服務開發
### Domain Driven design 實戰技能培訓
> 由Domain Driven Design Taiwan Community 志工團隊提供培訓DDD課程,目標訴求引導參與學員實作諸多 Design Patterns,能夠滿足功能需求解決複雜問題
### AWS部署維運課程培訓
> 目前初步希望能邀請社群團隊來協助培訓授課,課程內容可以設計成極簡的提供原始碼管理到部署上線,可選用的產品服務包含有:
也許可以兩條路線來投入: Serverless lambda , (Serverless) container
* AWS ECS w/ Fargate
* AWS EKS --> Hashicorp
* AWS App Mesh --> Hashicorp
* AWS API Gateway
* AWS Lambda
* DynamoDB --> AWS User Group Taiwan
* RDS
* Appsync --> AWS User Group Taiwan
* optional for Sagemaker, EMR ...etc
extra points:
可以錄製一些教學課程安排在網站上提供,可以幫助參賽者再不同時間都能自己觀看教學
(安排一下 marketing 談論這件事情)
> 目前可以先針對培訓課程日程的內容先做錄製,嘉惠無法參與課程的人可以在線上收看影片,社群若有其他的vlog想法安排,可以安排其他討論事項
### 事前的主題安排
DDD的課程培訓會有程式碼實作課程,目前主力可以涵蓋的語言類型有: C#, Java, PHP, Python
若您有興趣參與培訓課程,可以任選上述一種語言實踐,或者依自己喜好語言實作。
活動培訓日程安排
* 10/26 - AWS onboarding training #AWSUG Taiwan
* 11/02 - DDD 全日實戰營 Strategic #DDD Taiwan
* 11/09 - Kubernetes Development Survivor Kit #HashiCorp Community
* 11/10 - DDD 全日實戰營 Tactical Design #DDD Taiwan
> 需要AWS 一起投入確認培訓課程內容(from awsugtw)
> 需要 credit, 場地安排
> 陸續需要安排找SA + Support team
## 場地酒水安排 - AWS 負責
* 包含事前的培訓期間的場地需求
* Venue, Meals, Drink, Snack
* 需要打廣告宣傳,已經聯繫itHome來行銷
* 線上報名組隊,Landing Page
* AWS account Credits
* 各社群參與者可以把重心放在幫忙培訓與引導
## Reward
Kevin Huang, [28.06.19 21:39]
看要不要 minor medium Major win state,把獎勵作切分
Kevin Huang, [28.06.19 21:40]
Major Win 放季亞冠軍
* 名次挑選冠軍、亞軍、季軍
* 依照各個社群提出的評分標準來做計分,參照上文的 ##Standard of grading
* 提供以 AWS Credit 作為獎勵 (額度可討論)
* 製作獎盃、獎狀
* 邀請參與AWS Taipei Summit 2020, AWS webinar sharing
關於T-shirt製作,各社群可以自由決定是否製作
1)DDD社群需要出錢處理T-shirt
2)其他社群可再討論是否要做
## 各項時程查核點
| 時間 | 項目 | 重要產出 |
| -------- | -------- | -------- |
| 2019-06-28 | 各社群投入意願與講者名單 | 講者訊息與培訓課程安排 |
| 2019-07 中旬 | AWS與 itHome發布活動廣告 | 網站連結/各階段培訓課程細節/場地安排等 |
| 2019-08 ~ 2019-10 | 各階段培訓課程 | 培訓完成 |
| 2019-11 | 活動當日進行黑客松 | 完成實踐開發與頒獎|
## 整體專案風險
1. 活動場地之網路設施無法承受多人連入
2. 技術輔導人員之招募作業無法完成
3. 教學用的程式碼與實際操作的程式碼有版本不符之情況
4. 學員能力參差不一,造成教學資源 overhead
## 關鍵利害關係人清單
1. 除AWS以外,贊助商目前持續徵求贊助
2. 社群投入講師、技術人員輔導
3. itHome 協助行銷
4. 指派 XXX 擔任本專案的 OOO 工作 --> 這是指類似活動總召?--> Amanda@AWS, Kim@AWS
5. 活動場地網路 AP 維護團隊
>
## 專案核准需求
由 XXX 同意活動主體以及軟硬體均符合驗收標準,於活動結束後完成本次專案
## 專案退場準則
本案經活動結束後,即告結案。
## 社群夥伴對參賽團隊的協助方式
* 課程培訓師資
* 現場諮詢
* 活動期間Timebox 掌握
* 黑客松實作過程的項目實施引導
* 技術支援
> 以scrum master like 的引導角色輔助即可