実行委員コラム

このコーナーでは、宮本久仁男 委員のコラムを掲載していきます。(全5回)
実行委員の考え方に触れることで、みなさんが応募への一歩を踏み出すきっかけになればと思います。


■ 第5回  10月2日(日)は、アキバで最終審査会(どなたも来場いただけます)
(2011年9月26日)


コラム最終回は、最終審査会についてのお話をさせていただきます。

最終審査会は、10/2(日)に、秋葉原UDXで実施されます。事前登録の必要はありますが、どなたもご来場いただけます。
この会は、(名の通り)今回のプログラミング・コンテストに応募された作品の「最終審査」を行います。そのため、1次審査を通過した10作品の開発者にご来訪いただき、発表をしていただきます。それに加えて、グリー株式会社の藤本真樹氏に よる特別講演も行われます。

第32回 U-20プログラミング・コンテスト最終審査会のお知らせ(参加申込みもコ チラから)

1次審査通過作品は、すでに本サイト上に掲載されています。
実際に作品を動作させている様子を動画で見ることも可能になっています。

1次審査通過作品紹介

「1次審査を通過した作品について、もっとよく見てみたい」「藤本氏のお話を聞いてみたい」「来年応募することを考えてる」という向きの方は、是非ご来場をご検討くださいませ。また、週末の午後のひとときに、アキバで行われる最終審査会、「ちょっと興味がある」というような、ふとしたきっかけを感じたならば、立ち寄ってみてはいかがでしょうか?



■ 第4回  第1次審査を終えて〜評価の高い作品の特徴&作る時のプラスアルファ
(2011年9月12日)


このコラムも4回目ということで、第一次審査も完了した時期だったりします。
ということで、作品を評価する際に抱く所感について書いてみます。

私自身、今回は予備審査と一次審査にかかわってますが、毎回感じるのは「評価が高い作品」は、見る観点は違えど審査に関わった委員の印象が良いということです。それと同時に「委員の意見が割れる作品」もありますが、これは場合によります。

よい作品、評価の高い作品は、例外なく作品自体の完成度が高いといえますが、選に漏れたからといって、作品自体の完成度が必ずしも低いということはありません。また、このコンテストは「プログラミングコンテスト」ですから、実行結果だけを見て評価を決めるということもありません。全委員、当然のようにソースコードやドキュメント類なども読みます。短い時間で多くの作品を見る必要はあるにしても、可能な限り提出いただいたものは見ようとはしてますし、実際見てます。

地味めに見えるソフトウェアも、ソースコードやドキュメント、そして作者が主張するアピールポイントをきちんと確認してますし、実際過去にはそういう作品が良い評価をいただいたということもあります。

毎回毎回、結構苦労しながら評価を行っているのですが、委員の多くから好評を得た作品に共通する特長は

・動かせば何をするのかが明快にわかる
・使う側のことを考えた構成になっている
・作者の主張する目的を達成するのに加え、さらなる応用を想起させる

というところでしょう。ただ、これらの全てを満たすソフトウェアは、プロでも開発が難しいものです。プロコンに応募された作品のうち、評価が高いものは、プロでも難しいことを行えているといっても過言ではありません。

開発者が自身で考えたことを実装するだけでは、なかなかそのようなソフトウェアにはなりません。第3回コラムでも述べた内容ではありますが、「自身が欲しいから作った」というのに加え「使ってもらえそうな誰か」に意見を聞いてみるというのは、作品の完成度を高めるのにきわめて有効です。
ある程度ソフトウェアを作れるようになっているのであれば、「誰の何を解決したいのか」も考えると、よりよいものを作れるようになるでしょう。

自分たちが作るソフトウェアを最初に動かすのは、たいていの場合は自分たちですが、プロコンへの応募を見据えるのであれば、「その次にそれを動かすのは審査委員」というのではなく、自分たちでも審査委員でもない誰か(例:友人や先生、家族)に使ってもらうというようにしていくと、より多様な意見をいただけて、さらによい作品に出来るのではないかな?とか考えてます。

前回は「作った後のプラスアルファ」を述べましたが、よりよい作品を作るためのプラスアルファも考えてみてはいかがでしょうか?



■ 第3回  作った後のもう一歩〜「多くの方々に実際に使ってもらおう」 (2011年8月29日)

第2回コラムで「3日でも作品できることあるよ」という話をしましたが、今回は「作った後はどうするか?」ということを。

毎回面白い作品が目白押しのプロコン審査はとっても楽しいのですが、審査を行った後に少し残念だと思うことがいくつかあります。
その1つは「せっかくのソフトウェア」を、多くの方に実際に使っていただく機会に乏しいことです。全てではありませんし、積極的に公開していろんな改善を加えている作品もあるのですが、そうでないものもあります。

私自身は、作品がオープンソースであることにはあまりこだわりませんが、審査という機会に見ることができた「これは!」という作品は、自身の生活でも活用してみたいとは思っています。
今回のプロコンに応募した方もそうでない方も、「作ったものを『何らかの形で多くの方に使っていただく』」ことを考えてみてはいかがでしょうか。

「こんなのまだまだ」と思うのは簡単ですが、「作ったものをより多くの方に使っていただく」のは、作品の完成度をより向上させるためにとっても有用です。それに、せっかく作ったものなのですから、多くの方に使っていただいて育てていくのは、より多くの人がシアワセになれるでしょうし、あなた自身もその取組の中でいろんなことを学ぶかと思います。公開することによる影響をあなた自身が考え、いろんな人に相談し、「自分にとっても有益」と判断したら、公開を考えてみてください。

もちろん権利は作った方々にありますから、「公開しない」という選択肢もありますし、「公開する」からといって、それを必ずオープンソースソフトウェアにしなければいけないということもありません(このあたり、「使ったもののライセンス」も関係してくるのですが、それはまた稿を改めて)。限定的に、学校内などで使ってもらうというのもあるかと思いますし、そういう用途で開発されたソフトウェアが過去に表彰されたこともあります。本当によいものであれば、可能であればそれを販売するという形で公開するのでもかまわないと思っています。

何か作った後の「あと」もう一歩、がんばってみませんか?



■ 第2回  あと3日?まだ3日? (2011年8月16日)

第1回目は、「どんな作品ならばいいんだろうか」をお話ししましたが、第2回目は「どのくらいの期間かかるんだろう?」という話をさせていただきます。締切が「平成23年8月19日(金) 17:00必着」ということで、もうまったなし状態ですが、「まだ間に合うかも!?」という例をかいつまんで。

・団体部門
 まず、「団体部門」については「これから作品を開発するプロジェクト」を立ち上げて、2日とか3日とかで作り上げる必要があると思います。ほぼ48時間とか72時間とかのマラソンプログラミングというか超短期開発ということになるかと思います。
ゼロからやると相当しんどいですが(できないとは言いませんが(笑))、「クラブ活動でこれまでに開発したもの」とかで陽の目を見てないようなものに着目して「これならいけるんじゃ?」というものがあればしめたものです。
 ドキュメント類の整備とかが必要かもしれないのですが、そこはもう「グループみんなのパワー」でガツッと作り上げて、多少(かなり?)荒削りでも、勢いのある作品に仕上げられる可能性があります。それこそ新入部員の習作であっても「これは!」というものがあれば、そういうものを応募できるような形に仕上げてという「技」も使えるでしょう。
 学校などのグループで応募する場合には、こういう形のやり方もありますよ、ということで(選考に残るかどうかは分かりませんが)。

・個人部門
 おつぎは「個人部門」ですが、これも「過去に作ったプログラムを見直す」という手は使えるでしょう。
 ただ、それだけではなく(前回も触れましたが)「3日で作った」「合宿で個人課題として作った」というものがベースになったりしているケースもちらほら見られたりします。また、みんなが(良い意味で)あっと驚くようなモノをぱぱっと「ウケ狙い」で作る人もいます。そういうパワーを発揮できれば、「今から応募するぞ!」と思い立っても全然間に合うかもしれません。

私自身、「セキュリティ&プログラミングキャンプ2011」の実行委員だったり講師だったりして、8/10〜14はそちらのほうにべったりだったのですが、その中でもバリバリ開発を行う人たちが多かったです。あの短期間で、しかも講義や演習がバリバリある中で、さらに何か(きちんと)動くモノを作り出すという、大人顔負けのパワーを持った人たちがぞろぞろいるというのは、良い意味での驚きの連続でした。もちろん、講師の指導があってのことだとは思いますが、それでもそれだけのことをやりきるベースは、当人のパワーです。

気付いたけど「あと3日しかない…(泣)」と思うか、「まだ3日ある!」と思うかは当人次第です。できれば「まだ3日ある!」と思っていただいて、あっと驚く素晴らしい作品を送っていただければ幸いです。



■ 第1回 (2011年8月8日)

プログラミングが大好きな生徒さんたちの、毎年の風物詩になりつつあるU-20プログラミングコンテストですが、今年も絶賛作品募集中です。

…プロコンの締切が近くなるとこのコラムも始まり、私も締切に追われます(笑)。

さて、今年の第1回目は、「どんな作品ならばいいんだろうか」という、みなさん抱かれるであろう素朴な疑問に答えてみましょう。

毎年審査に関わるわけですが、応募いただく作品の傾向や特徴は毎年変わります。
Webアプリケーションが多い年があるかと思えば、新しいゲームライブラリを使ったアプリケーションが多い年もあったりします。このあたりは、プログラマの間での流行に左右されるところもあるかと思います。

ただ、賞を冠する作品〜特に「満場一致でこれだ!」となる作品には、共通した特徴があるように感じます。それは「驚きを与える」という1点に尽きます。

この驚きがどのような形で出てくるのかは、毎年様々ですが、私がこれまでに抱いた所感を挙げるならば、以下のような感じでしょうか

・学生ならではの視点を持った作品である
・プロも驚く緻密さをもって開発されている
・こんなこと普通は考えない
・この年齢でなんでこんなモノを開発出来るのか
・いや、プロでもなかなか出来ないよこんなこと

私も含め、実行委員の方々が揃って(良い意味で)驚くような作品は、おおよそ良い評価をいただくことが多いという経験を紹介させていただきました。
今年も、良い意味での驚きを期待しています。あと1週間くらい?とか思うかもしれませんが、まだ期間はあるとも言えます。がんばって力作を開発して、応募いただければ幸いです。

余談ですが、出来るまでの期間などを聞いてさらに驚きが増すこともあります。すごい作品の背景を聞いてみると、「実は3日でベースを開発した」とかいうこともありましたが、それも「背景を聞かせていただける」状況になってこその話です。



宮本久仁男 委員
株式会社NTTデータ 技術開発本部 セキュリティ技術センタ/情報セキュリティ大学院大学 客員研究員
セキュリティ&プログラミングキャンプ講師(2004〜)/Microsoft MVP - Enterprise Security (〜2011/9)
博士(情報学)
主たる興味は、プラットフォームセキュリティや、そこに関連したソフトウェアだが、楽しむ時は特にこだわらずになんでも楽しむ。物事を調べたり効率化するために自分用のツールを書くことも多い。
使われているものの代表例は、mod_encoding for Apache2。
OSSやセキュリティに関連した著書や寄稿は多数。最近だと「Xen徹底入門 第2版」(翔泳社、共著)や 「欠陥ソフトウェアの経済学 -その高すぎる代償 - 」(オーム社、監訳)など。