ボクらがETロボコンに参加した理由:3つの設計アプローチで見るETロボコン参戦記録(1)(2/2 ページ)
富士ゼロックスのETロボコン参戦記録を基に、チーム運営や技術的チャレンジ、参加メリット・課題などを考察していく
社内でメンバーを募集するに当たって
さて、ここからは筆者らのETロボコン活動における「メンバーの募集方法」などについて説明していきたいと思います。
私たちは普段、複合機のソフトウェアを作成していますが、こうしたソフトウェアもやはり大規模化・複雑化が進んでおり、ほとんどが派生開発となっています。そのため、先ほど紹介したように、私たちの現場でも若手が一からソフトウェアを作り上げるといった機会は少なくなってきています。
そこで、今回若手メンバーにETロボコンに参加してもらい一からソフトウェアを開発する経験や、モデルを使った開発をしてもらおうと考えました。
筆者らはメンバー募集の際に、以下のようなアナウンスをしました。
(1)参加は入社2年目から30代前半まで
(2)モデルを中心とした活動を行う
(3)通常業務の開発と異なる手法を取り入れる
(1)の年代に関してはやはり若手向け教育ということで制限を入れました。新人(入社1年目)に関しては当社の新人研修のスケジュールとの兼ね合いで参加できなかったというのもあるのですが、業務のことが分からない状態で参加するより、ある程度業務が見えてきた状態で参加した方が、現業に生かせることが多いのではないかと考え、入社2年目から30代前半までと決めました。
(2)に関してですが、ETロボコンでは前述のとおりモデルの評価がありますので、“モデルをきちんと作っていく”という方針を活動の中心として打ち出しました。その尺度としては、モデルの段階できちんと必要な情報が抽出されているレベルであり、かつコーディング段階になってもモデルとコードが乖離(かいり)しないようにするというものです。
(3)の通常業務の開発と異なる手法を取り入れるというのは、ツールや開発手法、プロセスなどで通常業務では使用していないものを取り入れようということです。なかなか通常業務で新たな手法を適用するのは難しいことですが、ETロボコンを実験場とすればやりやすくなります。それらの手法が現業へ適用できるかどうかということを実践を通じて検討できます。
このように、ただコンテストに参加して賞を取ろうという形ではなく、参加することによって何を得ようとするのかということを明確にしました。そうすることで、社内の上層部への説明もしやすくなりますし、何よりその後の活動のよりどころとなります。
新たな開発手法の適用へ ―MDDによる開発を体験させる―
新たな取り組みの候補として用意したのが「BridgePoint(注1)」による開発と、「DSL(Domain-Specific Language:ドメイン特化言語)」を使用した開発の2つです。
筆者は、長らく業務でBridgePointを使用した開発を行ってきました。また、2008年のETロボコンではDSLを使ったモデルを提出し、当時の関東大会でエクセレントモデルを受賞することができました。どちらもツールを使った「MDD(Model Driven Development:モデル駆動開発)」による開発手法です。MDDは作成したモデルを変換(自動で行うことが多い)することによって実装のコードを得るという手法です。変換によってコードを得ることができますので、生産性や品質が向上します。何よりモデルに注力できますし、モデルとコードの乖離がなくなります。しかし、現状ではツールやモデリングのハードルの高さが原因してか、まだ一般的な技術にはなっていないように思います。社内でも認知度は低く、多くの開発では従来の開発手法が使われています。
MDDを業務で使えるようにするためには、“MDDの開発を多くの人に体験してもらい、使える技術であるという確信を持ってもらうこと”が必要です。そこで、今回のETロボコンではこれらの技術を使ってもらいたいと考え、採用する開発手法の候補として募集時の資料に載せておきました。
3つの開発手法でチームを編成
メンバーの募集をかけたのは3月の中旬でした。大会参加エントリーが4月初旬だったので期間も短かったのですが、最終的に17名のメンバーが集まりました。そして、メンバーが集まった最初のキックオフ時にチーム分けを行いました。
チーム分けの方針としては、新たに取り組んでみたい技術ベースで希望を募り、3チームに分けることにしました。各チームが異なるアプローチで取り組むことで、それぞれのやり方のよさや課題が見えやすくなるといったメリットも考えられたからです。
そして、最終的に、技術候補として挙げていたBridgePointおよびDSLでそれぞれ1チーム、ツールを使わずにモデルを実装するチームの計3チームが誕生したのです(表1)。なお、各チームの取り組みのポイントや、実際の活動については今後の連載で紹介していく予定です。
チーム名 | 使用する開発手法 | 人数 | |
---|---|---|---|
みんなとみらい1 | DSLによるMDD | 7 | |
みんなとみらい2 | BridgePointによるMDD | 5 | |
Fusion&Futures | モデルを手書きで実装 | 5 | |
表1 チーム構成 |
メンバーをバックアップする社内事務局の設立
今回の活動では、参加メンバーとは別に「事務局」を作りました。事務局は筆者を含めた4人で構成され、参加メンバーが使用する環境の手配や会社の手続き、資材購入、大会の事務連絡などを行いました。
2008年に筆者が参加した際には、こうしたものを含めてすべて自分たちでやっていたのですが、参加メンバーがよりモデルなどの作業に注力できるよう事務局を設立することにしました。また、チーム共通で使用する作業リポジトリ(外部のものを使用)やコース作成なども行いました。
ある程度の人数を束ねてETロボコンに参加する場合には、こうした組織を作っておいた方が効率的に作業できると思います。なお、事務局メンバーは、ETロボコンに興味はあるが業務などでどうしても時間が取れないという開発者や、直接自分ではソフトウェア開発をしていない社員などです。事務局の活動では、一からソフトウェアを作るという経験はできませんが、勉強会に参加したり、参加メンバーとの交流を持つことができるため、視野を広げるという点では効果があると考えています。
ほかにも管理層からの視点を入れてもらうために「活動アドバイザー」としてマネージャ1名に協力をお願いしました。直接的な活動はしないのですが、一歩引いたところから全体を眺めて、必要に応じてコメントするという役割を担ってもらいました。ETロボコンの活動が佳境になると活動メンバーは周りが見えなくなることもあるため、経験豊かな方のフォローがあるといいと思います(筆者自身も進め方についてアドバイスをもらったこともありました)。
今回の活動体制を図4に示します。参考にしてください。
今回は、ETロボコンとモデルを作成することの意義、そして私たちの参加意図と狙い、チーム編成方法について説明しました。企業として参加することのメリットを今回の内容で少しでも感じていただけると幸いです。また、本連載の最後では、実際に得られた参加メンバーの教育効果を紹介したいと思います。
さて、次回はモデリング勉強会などを含めた全体的な進め方、そして3チームが行った取り組みの概要を説明しようと思います。ご期待ください! (次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.