UMLスケッチから始めよう
3. 分散開発におけるUMLスケッチ
筆者が所属するチェンジビジョンでは、ペア・プログラミングの最中、ペア・ボードと呼ぶA3サイズのホワイト・ボードに、UMLスケッチを描きます。
しかし、筆者が現在参加しているプロジェクトは、福井と東京にまたがって分散開発を行っているため、物理的にペア・ボードが使えません。そこで、分散開発においてもUMLスケッチを共有できるように、いくつかのツールを導入しました。
分散開発の環境にUMLスケッチを導入したことは、結果として、同一拠点でUMLスケッチを導入すること以上の効果を生みました。
なぜなら、分散開発の環境では、開発者間で受け渡しできる情報量が限られるからです。仕様書を正しく理解できているのか、画面の向こう側で話されている内容を正しく理解できているのか、不安になることもあるからです。
こうした場面では、仕様書を読んで理解した内容からUMLスケッチを描いたり、話を聞きながら解釈したことからUMLスケッチを描いたりすることが有効です。描いたUMLスケッチを相手に見せて説明することで、お互いが間違った解釈をしていないかを確認できます。
筆者が参加する分散開発のプロジェクトでは、具体的に下記のツールを活用しています。
- Skype(音声通話、開発会社はルクセンブルクのSkype Technologies)
- Mikogo(デスクトップ共有ツール、開発会社はドイツのBeamYourScreen)
- astah* professional(モデリング・ツール、開発会社はチェンジビジョン)
特に、Mikogoは有益です。Mikogoを使って画面を共有すると、リモート側から画面の場所を指し示すことができます。この機能を利用すれば、「この部分は、もっとこうした方がいい」とか「この部分がよく分からない」など、指摘することができます。また、画面を公開しているユーザーが、画面を共有しているユーザーに、操作を委譲できます。
astah*は、解釈モデルを描く際に使います。打ち合わせの最中、解釈に相違がありそうであれば、astah*を用いて解釈モデルを描き、どこが異なるのかを議論します。口頭で解釈がうまく伝わらない場合は、画面を公開しているユーザーから、解釈を伝えたいユーザーへ、操作を委譲します。こうすることで、解釈を伝えたいユーザーが、解釈モデルを編集できるようになり、より意図を共有しやすくなります。
図3: 分散開発でのUMLスケッチ(Skypeで話しながら矢印で論点を指している)(クリックで拡大) |
4. 最後に
本連載は、4回にわたって、UMLの導入に敷居の高さを感じている方を対象に、手軽で有効なUMLモデルの利用方法を解説してきました。筆者たちが手軽なUMLモデルについて解説してきたのは、UMLモデルが意外と使えることを、できるだけ多くの方々に知って欲しいからです。
もちろん、厳密な設計情報を表すためのUMLモデルや、ソース・コードを自動生成するためのUMLモデルは、正しいUML表記を用いて厳密なモデリングを行う必要があります。
しかし、人と人とのコミュニケーションなどにUMLモデルを活用する場合は、厳密であることよりも、意図を伝えられることが何よりも求められます。
膨大なUML仕様やモデリング・テクニックの難しさにひるむことなく、まずは使えるところからUMLモデルを使ってみてはいかがでしょうか。本連載で紹介できなかった「最小限の知識で大きな効果を上げるUMLモデルの利用方法」が、まだまだたくさんあります。ぜひ、みなさん自身で、有効な利用方法を見つけてください。
本連載が、読者にとって、UMLモデルを使い始めるきっかけになれば幸いです。