ワークショップ レポート(2008年6月10日)
主テーマ
~FileMaker Pro におけるリレーションシップを考える ~
概要
FileMaker TechNetユーザ向けのワークショップを「FileMaker Pro におけるリレーションシップを考える」と題して、FileMaker Proにおけるシステム開発には必要不可欠なスキルであるリレーションシップについて、参加者と共にディスカッションを、2008年6月10日に行いました。
ひとくちに「リレーションシップ」と言っても、設計手法や、実際の作り方などは様々。 今回のワークショップでは、リレーションシップを使用するソリューション開発時に必要となるスキルとして、次の3つのテーマに重点をおいたワークショップを開催しました。
テーマ 1「外部データソースを使用するメリットとは?」
FileMaker Pro のデータベースを外部データソースにする場合とは、どのようなシチュエーションなのか? 例えば、「マスタは別ファイルで管理する」といったことを言いますが、なぜなのでしょうか?あえて外部データソースを使用するメリットとデメリットなどについても考えました。
テーマ 2「どのようにして、リレーションシップを設計するのか?」
FileMaker Pro でソリューションを開発するときに、リレーションシップの設計が重要になります。
しかし、実際に開発をしているうちに、いつの間にかリレーションシップグラフがスパゲティの様になってしまう。
「なぜ、こうなってしまうのか?」「どうしたらシンプル&スッキリしたリレーションシップになるのか?」そんな共通の悩みは尽きません。
そこで、皆さんが実際に行っている手法をもとに、適切なリレーションシップを定義するための設計方法などを考えてみました。
テーマ 3「テーブルオカレンスの命名規則」
テーブルオカレンスを作成するときにいつも悩んでしまう、テーブルオカレンスの「名称」。
必要に応じて手を加えていけることが醍醐味の FileMaker Pro ですので、そのときに設定する名称もきっとご自分が理解しやすい名称にされることでしょう。ただ、この「テーブルオカレンス名」、開発して行く上で色々な場面に登場します。計算式のダイアログやスクリプト作成の際の設定ダイアログ等・・・。
それだけに名称の付け方次第で、開発効率に大きく影響します。では、どのようにテーブルオカレンス名を付ければ良いのでしょうか?
リレーションシップグラフ上での見やすさ、各設定画面での選びやすさ、引継いだ人への伝達のしやすさ等、様々な視点に立って、どんな名前のつけ方が良いかを考えてみました。
今回のワークショップでは、参加者の皆さんを無作為に 10数人ずつ 3つグループに分け、前記の 1~3 のテーマについて、1グループ1テーマにてディスカッションを行い、意見をまとめて発表していただきました。
ディスカッションの方法
ディスカションは、それぞれのテーマに関してグループ内でディスカッションを行い、各グループに配られた模造紙とポストイットを用いて意見をまとめるというもので、一般的に行われているグループディスカッションの手法を踏襲して行われました。この手法では、ディスカッションの中で出てきた意見やアイデアをポストイットに書込み模造紙に貼り付けることで、内容の重要性、非重要性や、似ている内容のグループ化などを目で見える形で行うことが可能です。また、ポストイットに書き込まれた内容から、共通の因子を見つけることも容易で、特に今回のワークショップの参加者のように、技術レベルが様々な場合に、一見違うように見える意見でも、書き出して整理を行うことで、意見の標準化を行えるなどのメリットがあります。
単に「ディスカッションしましょう」と言っても、参加者の皆さんが戸惑ってしまうので、各グループ共通の課題として、販売管理のソリューションを開発する事を前提として、それぞれのグループのテーマに沿ってディスカッションを行っていただくことにしました。
ワークショップの冒頭で、本日のワークショップの内容説明とグループ分けのことについて説明
止まらない議論
参加者には独学で FileMaker Pro を勉強された方が多く、今回のように大勢で FileMaker Pro に関する技術的なディスカッションを行った経験が少なく、また開発に関する意見を交換できる場があまり存在しなかったという背景もあり、 1 時間半というディスカッション時間の間、とぎれることなくディスカッションが行われました。
3つのグループに分けたことによるメリット
今回のワークショップでは「FileMaker Pro におけるリレーションシップを考える」という、リレーションシップに関するテーマをメインテーマに採用したことで、参加希望者が多く集まることが予想されました。
1 つのテーマについ大勢の参加者でディスカッションを行った場合、多くの意見が出ることは見込まれますが、逆に意見が広がりすぎて限られた時間の中では意見をまとめきれないことは事前に明白だったので、今回は、テーマを複数に分割して 1 つのグループで 1 つのテーマについてディスカッションを行うことにしました。
「外部データソースを使用するメリットとは?」の担当グループ
「どのようにして、リレーションシップを設計するのか?」の担当グループ
「テーブルオカレンスの命名規則」の担当グループ
自己紹介でリラックス
それぞれのグループの人数は 10 数名ということもあり、グループに属する参加者同士の顔が見える位置でディスカッションが行えたことで、参加者それぞれが積極的にディスカッションに加わることができたようです。また、グループ分けの直後に協力して机で島を作ったり、1 人ひとり自己紹介をしたことで、グループ内にチームワークの意識ができたようです。
その後、ディスカッションを進めていく中で、書記を担当する方、ポストイットに書き込まれた意見を適切なグループに分類する方、またディスカッションそのものの交通整理を行う方が、各グループの中で自然発生的に現れ、ディスカションが活発に行われる環境ができあがりました。
ポストイットに書く人、ポストイットを適切な場所に移動する人
まとめてみれば悩み事や興味のある部分は共通だった
ディスカッションの途中から、ディスカッションの内容をまとめる段階で、参加者の皆さんも気が付いて来たようですが、開発時に使用する言葉や手順は違うものの、ディスカッションをしているテーマについて、悩んでいる、あるいは過去に悩んでいた部分や、興味のある事柄の多くは、実は参加者の皆さんで共通することだったようで、模造紙への書込や貼り付けられたポストイットの記述内容を整理していくと、そう言った部分が視覚的に明らかになってきました。
このように疑問点や興味のある部分が明らかになれば、その部分を経験している先駆者が自分の経験をその場で話すことによって、その場で多くのことがクリアになっていたようです。
ディスカッション結果の共有
ワークショップの最後に各グループの代表者によって、ディスカッション結果が発表されました。
各グループにおけるディスカッション内容のまとまり具合に、若干ばらつきが見えたものの、発表していただいたそれぞれの内容は、他のグループの参加者にとっても興味深い内容になっており、ディスカッションに参加していなくても、他のグループの発表を聞くことで自分の知識を高めることができたようです。
各グループの発表風景
別のグループの発表を聞くことで、知識を確認、吸収ができた
ディスカッションから『気づき』のメカニズム
ディスカッションを行うにつれ、参加者の皆さんが日頃から行っているシステム開発の手法とは違った手法を目にしたり、あるいは自分の開発手法を確認できたりといったことがあったようです。ワークショップの終了後、お話をさせていただいた参加者の何人かから次のようなお話が聞けました。
- 自分の手法の間違いがわかった
ディスカッションに加わり、他の参加者が行っているリレーションシップに関する開発手法を聞いてい
るうちに、現在自分が行っている手法の間違いに気付くことができた。 - 他人に説明することによって、自分のスキルを上げることができた
グループディスカッションの中で、レベルの違うスキルを持つ参加者に対して自分が行ってる開発手法
を説明しているうちに、ディスカッションで出た意見がヒントになり、さらに効率的な方法に気が付
き、その気づきを含めた形で説明を行うことができた。 - プロ方の開発手法を知ることができた
プロの方の開発手法や、開発時に気を遣う部分など、日頃知ることはできない多くの事柄について知る
ことができた。 - どこでつまづくのかが分かった
プロの目から見ると当たり前のことでも、周りに情報の少ない開発者の方には当たり前ではないことが
多い。今回ワークショップでディスカッションを行ったことで、情報や経験の少ない開発者がどのよう
なことにつまずいてしまうのかを知ることができた。
このように、ワークショップに参加された皆さんが、自らディスカッションに加わることで、多くの情報を発信し、また多くの情報をその場で得ることできたようです。ワークショップは参加者全員が主役だと思います。書籍やインターネットから得られる情報とは違い、自分がディスカッションの場で実際に意見したり、質問したりして得た情報はとてもピンポイントもので、その経験は一層記憶に残ると思います。
終わりに
今回のワークショップのまとめは、Tech Talk 内で発表する予定です。また、その発表後もTech Talk内で継続してディスカッションを行い、意見交換の輪が広がればいいと思います。その中から、顔を合わせて話し合ったらいいテーマが生まれれば、新たなワークショップでディスカッションしたいです。
そして、今後も回数を重ねて実施してゆくことで、主催者自身を含めた参加者がスキルアップしていけるといいと思います。
最後に、参加された方がこのように仰っていました。
「『勉強になった』だけでなく『楽しかった』。また参加します。」
楽しく過ごした時間のなかで、スキルを身につけることができれば、こんな良いことはないですね。
以上
「FileMaker Pro におけるリレーションシップについて考える」レポート
◆ぜひ FileMaker TechNet に参加して、ワークショップで一緒に学びましょう。
FileMaker TechNet の詳細や参加については、こちらをご覧ください。