8/30(土)に開催されたモデル駆動開発勉強会の私の発表のまとめです。
4人が発表する勉強会のオープニングということで、軽めの発表とさせていただきました。技術的なことよりも、モデリングにかける自分の思いが伝わるように心がけました(汗)
発表資料はこちら
■モデリング履歴
・1999年にUMLとJavaを学び始め、2000年に勉強したことを実践するため、最初の会社を退社
・2001年〜2004年 実践でJava,UMLの開発を学ぶ
モデルと実装のマッピングに気付く
・2005年AndroMDA活用の道を探る
・2005年〜現在
ユースケース駆動開発(ICONIXプロセス)
ICONIXの読み:アイコニックス
■私がモデリングを好きな理由
1. モデリングをしているうちに頭がまとまる
・自分が理解していない部分を認識できる
・図にできないということは頭がまとまっていない証拠
・プログラミングを始めても失敗する可能性が高い
・図が美しくないということは、アーキテクチャが美しくないということ
2. 知識を他の人と共有しやすい
・テキストベースの資料より早く理解してもらえる
その結果、早い段階で自分の理解を確認してもらえる。誤りを指摘してもらえる
・イメージを共有できる
・プロジェクトの早い段階で知識をモデルにして認識違いを防ぐことができる
3. モデリングした成果物が後で役に立つ
・わかりやすいモデルがあれば、新メンバーも理解が早い
・組織の知識が人に依存しない。モデルに知識が残る
・運用フェーズになってから、トラブル時、追加機能開発時に影響範囲を特定しやすい
■モデリングはどのような開発でも有効か
・要求と実装の距離があればあるほど有効
・要求と実装が近い開発では遠回りかもしれない
→運用フェーズや人が入れ替わることを考えると必要
・モデリングが目的になってはいけない
必要に応じて、必要なモデルをつくる
■これからについて
●現状
ICONIXプロセスを使用している
ICONIXプロセスの特徴
・ユースケースから実装までのトレーサビリティが高い
・UMLの機能のうち20%の重要な機能を活用してシンプルなモデリングをする
●今後目指したいところ
・モデリングのメリットを開発プロジェクトに最大に生かしたい
わかりやすい、理解しやすい開発
・ソースの自動生成は、工数削減と品質アップに効果的
労働集約的な開発から脱出
・全部を自動生成するのは厳しいので、自動生成できる範囲を広げていく
■まとめ
自分の夢(会社の目標)
・地球中のエンジニアが憧れるIT企業をつくる
・IT業界の人たちを幸せにする開発方法論、ツールを開発する
・みんな幸せになる
→これらの目標のために、モデル駆動開発が有効ではないかと考えている
今年の目標:100エントリーまであと35。