読者です 読者をやめる 読者になる 読者になる

第二回!チキチキ Agile x Kanazawa.rb に参加してきました。

勉強会

Meetup #42 - Kanazawarb

表示してたスライドは、たぶんこれみたい。

Modeling in the Agile Age - JP

メモ

  • 全体像を知るために、モデリングが必要。
  • 捨てるモデルと、保存するモデルを分ける。
    • コードからリバース出来るものは、捨ててしまう。
    • コードに現れないものは、保存してメンテする。
  • Keeps
    • Architecture
    • Domain Model
    • Key UseCases
  • Architecture
    • システム全体の構造的な表現
    • MVCの依存関係を、パッケージ階層で示すなど。
  • Domain Model
    • 問題領域の概念とそれらの繋がり
    • 現実世界をモデリングするのは難しい。対象となるシステムがベースになる。
    • 唯一正しいモデル、というものは無い。
  • Key UseCases
    • アクターが大事。"ユーザ"ではなく"開発者"など絞る。
    • コミュニケーション図で、何が同動くかを記述する。
  • astahのマインドマップが使いやすい。
  • 他にKeepするもの
    • 設計の理由。WHY。
  • チームで話し合って、追加・削除をしてメンテしていく。
  • モノ・コト・モノ パターンと、ヘッダー・明細パターン
  • 図書館と本屋では、モデリングが違う。図書館では蔵書という概念があるが、本屋では数しか見てないはず。
  • 問題と解を得るために、分析モデルと設計モデルを分けて考える。

感想

メンテ出来なくて、特に重要じゃないモデルは、書いても捨ててしまえばいい、というのはいいと思った。 書いてもメンテしなきゃ、と考えると書きづらいし。

また、用語集・辞書を最初に作って、それをメンテしていくのはやっぱり重要なんだなーと。 メンテに際しては、誰もが見える場所で、更新が通知されることが重要っぽい。(みんなで作ってる感というか。 ただ、誰もが見える場所とはいえ、プロジェクト関係者以外に見えたらダメだと思うので、どこに置けばいいのかなーと。