iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
Agile

敏捷路上觀察紀錄-那些好用的與歪掉的部分系列 第 19

[DAY 19]相互了解與合作-領域驅動開發(DDD)

  • 分享至 

  • xImage
  •  

注意!本系列改寫出版的《Agile一本通!敏捷新手入門導引》上架啦!橘白卯咪感謝你的注意!
了解更多 >> https://www.books.com.tw/products/0010968755


「上次做訂菜系統,我才知道原來廚房阿姨怎麼訂菜的。每次做一個新專案,都能學到好多不一樣的知識。」

「阿姨提需求我們做就好,真的有必要去找阿姨聊天了解嗎?這也蠻花時間的欸。」

領域驅動開發(Domain-Driven Development, DDD)

提倡開發人員也需要了解使用者的領域/業務知識,將領域知識/商業流程結合到程式碼當中,使得程式碼符合領域現況也可因應未來的改變;當團隊成員了解專案目的,產出更能符合需求,工作過程也能更加有動力。

用共通語言溝通

了解與確認需求的階段,常常有「我聽不懂你的話、你也聽不懂我的話」的狀況。這時可以使用 domain story telling 工具,利用圖像化的方式,讓使用者與開發團隊有效討論,並理解領域知識與流程

把重點流程積木化

當系統隨需求增加越長越大,會發現各需求間用到類似的功能。若把每一次開發都視為單一事件,沒有去釐清實際領域的流程,導致同一功能被重複開發,系統將難以維護與被修改。當釐清領域知識/業務邏輯後,可將重點的流程積木化,增加程式的易讀性。

容易歪掉的部分

  • 花費過多人力與時間了解領域知識
  • 系統作業流程優化,現行作業方式卻無法隨之改變

今天的參考資料/延伸閱讀:

  1. 關於 Domain-Driven Design 以及他的魅力
  2. 【專家觀點】打造「DDD」河道,別讓業務單位再和IT玩比手畫腳

上一篇
[DAY 18]在有限的時間內全力衝刺-時間盒
下一篇
[DAY 20]想想會考什麼-測試驅動開發(TDD)
系列文
敏捷路上觀察紀錄-那些好用的與歪掉的部分30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言