今回の未踏プロジェクトでは,私はWebjigと言うWebサイトを閲覧中のユーザ行動を可視化するためのソフトウェアの開発を行いました.
いくつかの課題が残ってしまったものの,未踏プロジェクトとしては,そこそこの成果を残せたんじゃないかと思っています.今後,未踏の成果をどのような形で利用できるかどうかはわからないが,何らかの形で世の中に出していければ良いと考えています.
以下では,プロジェクトを通して学んだことを書いていきます.
ひとりで開発するということは大変.チームの強さ.
メンバーが私一人しか居ないので当然と言えば当然なのですが今回の未踏プロジェクトでは,ソフトウェアの企画,設計,実装,全部私,と言った感じでソフトウェア開発に関わる全工程を担当しました.
これまでにも,一人でソフトウェア開発を行うことはありましたが,「こういうものを作ってください」とか言われることがほとんどで,「何を作るか」から一人で考えたことってのは初めてでした.
一人で出来ないこともないですが,正直,すごく大変,というのが感想です.「ここ,どうしようかな?」と考えているときにだれにも相談することが出来ない.方針が固まらないから設計が出来ない.設計が出来ないから実装が出来ない.どうしようもありません.
しかも,チームであれば,サーバが得意な人はサーバ,ネットワークが得意な人はネットワーク,プログラミングが得意な人はプログラミングって,分担できるんですけど,自分が苦手な部分も自分で勉強するなりして自分でやるしかありません.
未踏の場合はPMが居るので,相談できないこともないのですが,あまりPMを頼りすぎても駄目なのかなとか考えてしまったり,私が奈良に住んでいて,PMが東京に住んでいたりと,なかなか気軽に相談できる環境ではありませんでした.やっぱり,顔を突き合わせて議論できるチームメイトって,すごく大事だなぁとか思った次第.
周りがすごい人ばっかりすぎる
同じPMの採択者だったりすることもあれば,他のPMの採択者だった李することもあるんですが, 未踏に採択されると,横のつながりってのが出来てきます.私も,イベントなどの際に過去の畑PMの採択者を紹介して頂いたり,他PMとの合同イベントの際などで他の採択者に挨拶させて頂いたりしました.
そういった方と,オンラインだったりオフラインだったりでコミュニケーションさせて頂いているのですが,話をしていても「すごいなぁ」とか感心させられてしまうことが多いです.ソフトウェア開発に関することでは無いですが,未踏に採択されたからこそ,こういう方と知り合いになれたわけで,良かったと思っています.
私も彼ら,彼女らに負けないように頑張らねば.
計画を立てることは大事
開発開始前に事前にしっかりと計画を立てたのはよかったと思う.計画を立てずに開発を開始してしまうと,手当たり次第に開発を進めてしまって,予定より開発が進んでいるのか遅れているのかすら判断することが出来なかったと思います.
また,今回は開発管理にtracを導入して使って居ました.一人でtracってどうなん?って思われるかも知れませんが,ソースコードエクスプローラがついて居たり,チケット管理がついて居たりと,なかなか便利です.
統合開発環境ってすごい
また,今回のソフトウェア開発にあたってはEclipseにAptanaプラグインを突っ込んで利用した.これまで,真面目に統合開発環境(IDE)を利用したことがあんまりなかったので,IDEなんて,とか思っていたんだけど,これが思ったよりうまくできていて,ソースコードの表示や,クラスエクスプローラ等,vi等のエディタに比べて非常に使いやすかった.ただ不満を言えば,検索機能が若干使いにくかったような気もする.
さらに,ソースコード管理にはSubVersionを利用したのだけれど,プラグインを入れることでEclipse上から簡単にコミットが出来る.普段はトータスSVNを使っていたんだけど,エディタとSVNクライアントが統合されることで,すごく便利になることを実感.
自分の実力不足を実感
今回,未踏に採択が決まってから真面目に勉強しだしたって言うのもあるんだけれども,PHP,JavaScript,MySQLともに,まだまだ勉強が足らないなぁって実感させられました.
PHPに関しては,昔,PHP4について勉強したっきりなので,PHP5の最新動向を全く把握できていなかった.PHPのフレームワーク等についても同様.JavaScriptに関しても,自分で書くのは今回が初めてで,かなり四苦八苦しました.MySQLについては,SQLの書き方,テーブル設計,何もが初心者でした.ていうか,単純にリレーショナルにすれば良いものと思っていた.
未踏の期間は終わってしまったけど,私がこれから勉強しなければいけないことは,いくらでもあるんだなと実感させられました.
感想
一人での開発ってつらいとか,色々書いたけど,未踏に採択されていなかったら絶対になかっただろうな,っていう経験もいくつもありましたし,自分の作りたいものを好きなように作れる機会って実際にはなかなかないので,すごく楽しかったし,様々なことを勉強できました.
なので,もし未踏に応募しようか迷っている人がいたら,私は全力で背中を押すと思います.実際に未踏プロジェクトでソフトウェアを開発するかどうかは,採択されてから考えることもできますし.
おわりに
ソフトウェアの開発を支援して下さったIPAの皆様,そしてPMとして私を指導して下さった畑PM,貴重なアドバイスを下さった勝屋PM,加藤PM,松原PM,また,オンオフ問わず,私を支えて下さった皆様,本当にありがとうございました.