オープンソースシステム科ブログ

日本電子専門学校「オープンソースシステム科」の最新情報を発信しています

2010年07月23日

カテゴリー: 学習

オープンソースプロジェクトを立ち上げて見よう!
 -急いては事を仕損じる?-


SetucoCMSプロジェクト」で活躍する先輩たちから、
オープンソースプロジェクトに取り組む熱い情熱と、
それに取り掛かるにあたっての様々な工夫について
今までにたくさんうかがうことができました。


さて、「SetucoCMS」自体はCMS、つまり
コンテンツマネジメントシステムです。
Webサイト運営者の心強い味方となってくれる
コンテンツ管理のシステムです。
つまりソフトウェアです。たくさんのプログラムから
成り立っています。

だったら四の五の言わずに、プロジェクトなら
とっととプログラムを作り始めればよさそうなものを、
なんだか今までの説明によるとプログラミングを始める前に
ずいぶんといろんな作業をしてきているようです。

なぜなんでしょう? 一見遠回りをしているよう見えますが、
実はそうでもないのです。ひとつひとつの用語を見ながら
考察していきましょう。


■「オープンソースライセンス」

電設部スーパーOB、塚田先輩が詳しく説明してくれましたが、
まだ作り始めの段階にあるシステムのライセンス(権利)について、
なぜメンバーたちは議論を重ねてきたのでしょう?

それはオープンソースライセンスを決めるということは、
それをどういう形で世に広めたいか、ということを
決めているのと同じだからです。

つまりこの部分でプロジェクトメンバー間の気持ちに
食い違いがあると、チームワークにも
よくない影響がでる可能性もあるのです。


塚田先輩の説明にもあったとおり、
オープンソースライセンスは大きく分けて2つ、
制限のきついライセンスと制限のゆるいライセンスがあります。

少しでも世の中の多くの人に使ってもらいたいのなら、
制限の「ゆるい」ライセンスにしたほうが良さそうですが、
実は逆なのです。
わかりにくいですが、自由に使えることを後々まで強制する、
いわゆる制限のきついライセンスの方が、いつまでも改良版を
自由に使ってもらえる確率が高くなるのです。

でもやっぱり制限がきつくない方がいいと思うこともあります。
オープンソースとなってソースプログラムがいろいろな人の手に渡り、
それを改良しようとした人が、再頒布する時の制限事項が多いと
やっぱり改良するのをためらうかも、と思ったりもします。

メンバーたちはそれぞれ、自分たちの作ったものが
後々どのように広まっていって欲しいのか、
いろいろと思うところもあるわけです。
オープンソースライセンスをきっちり決めることは、
その部分の意思統一をすることにもつながるので、
やっぱりとても大切なことなのです。


■「SourceForge.jp」「GitHub」

これらの2つはともに、複数人でプロジェクトを進める際の
様々な問題をクリアしてくれるお助けツール群を
インターネット上で無料で提供してくれるシステムです。
作業場そのものが無料で公開されているので、
気軽にみんなが集まれるネット上のちょっとしたオフィスです。

有志の人間が集まって行うオープンソースプロジェクトでは、
そのために交通の便が良い一等地にオフィスを持つなんて
夢のまた夢です。
でもネット上に素晴らしい共同作業場が用意されていたのです。
うまく使えば遠隔地からでも上手にコミュニケーションが取れます。
塚田先輩はこれらのツールをメンバーがうまく使いこなせるよう、
実に上手に設定作業を行っています。

キーワードはやはり「コミュニケーション」です。
もちろんメンバーたちは定期的にリアル会議室に集まって、
ワイワイ意見交換を行なっています。これはとても大切です。

でもふだんはみんな当然本業があるわけで、プロジェクトといっても
大部分は離ればなれで一人での作業になります。
作業する時間もみんなバラバラです。自分の空いている時間に
できる分だけ作業します。
ネット上でいつもチャットというわけにも行きません。

そんな時にインターネット上のツールたちが大活躍します。
これらのツールをうまく使うと、メンバー間の距離の問題、
作業時間の問題を見事に解決してくれます。
毎日会っていなくても、歩調を合わせて作業を進めることができるのです。

メンバー各自が焦ってプログラミングに走る前に、
じっくり開発環境整備をすることによって、
よりうまく共同作業ができるようになりました。
環境整備はさらに続くようです。
どんどんオフィスが快適になって行きます。


■「フレームワーク」

プログラミング言語というのはたいてい自由度が非常に高いものです。
同じ処理をするのに、ほぼ無限のやり方が考えられます。
ちょっとしたソースプログラムの書き方でも
プログラマの個性というものがかなり出るものです。

他人の書いたプログラムは大抵読みにくい。
個性全開だとほとんど解読不可能になります。
でも先回りしてソースプログラムの書き方に一定の枠組みを設ければ、
かなり読みやすくなるかもしれません。

フレームワークをうまく導入すると、
処理の記述方法をかなり限定することができます。
誰が書いても同じようなソースプログラムになる可能性が高くなります。
チームで開発するなら、多少個性の発揮を我慢しても、
フレームワークを導入した方が効率が上がるはずです。

でもフレームワークには当然ルールがあるので、
新たに学ぶべき事柄も増えるわけです。
そのあたり、みずき先輩は「学習コスト」という言葉を使っていますね。
ある意味コストをかけてでも、つまり一見遠回りであっても、
じっくりルールを身に着けてからプログラミングした方が
結果的に早くシステムが完成する可能性が高まります。

でもなかなかそういう我慢はできないですよね。
「SetucoCMSプロジェクト」のメンバーはよく我慢して、
準備作業をコツコツと積み重ねていっています。

フレームワークの導入だけでなく、
PHP言語のコーディング規約についても、
実に細かいルールを設定しています。
プログラマの個性によってソースプログラムの可読性が低くなることを
徹底して排除しようとしています。実に用意周到です。


■「Redmine」「チケット」

チケットというと入場券のようなイメージがありますが、
Redmineというシステムを導入し、チケットが飛び交うことによって、
メンバー個々の作業進捗をはっきりと目で確認できるようになりました。
これは何よりプロジェクトマネージャー、
つまり今回のリーダー三上さんにとって実に心強いサポートとなります。

メンバーが増えればできる作業も増える。これはうれしい。
でも比例してリーダー三上さんのチェック項目は急増します。
みんなが盛り上がれば盛り上がるほど、進捗管理は難しくなってきます。

チケットを導入し、メンバー各自が自分のやるべきことをはっきりと自覚し、
さらに進捗について情報交換が漏れなく行なえれば、
リーダーの負担はだいぶ減るはずですね。
メンバーからの提案で導入されたチケット制度は、
リーダーを強力にサポートしているのです。




総じて見れば、リーダーメンバーともにみんな、良くぞ我慢した!
いきなりコーディングに飛びつくのではなく、
実に粘り強く周到な準備を積み重ねてきています。

プロジェクトを円滑に進めるためのノウハウを
思いもよらず身近なところで目にすることができました。
今後のプロジェクトの進行が楽しみです。


そして学校はついに夏休みです!
この欄の更新もしばらくお休みですが、
もちろん「SetucoCMSプロジェクト」は
この時期に待ってましたとばかりに
オフラインミーティングの回数を増やすはずです。
抜け目なく取材をしておきましょう。


つづく

2010年07月16日

カテゴリー: 学習

オープンソースプロジェクトを立ち上げて見よう!
 -続・卒業生たちは元気です!-


オープンソースプロジェクトを効率よく進めるためには、
熱い情熱だけでなく、いくつかの便利なシステムや
ツールを使う必要があるようです。

前回は「SetucoCMSプロジェクト」の重要メンバー、
塚田さんより、「SourceForge.jp」「GitHub」といった
用語についての説明がありました。
それから権利関係で大事な「オープンソースライセンス」に
ついてもわかりやすく説明していただきました。

結局一定以上の規模のプログラムを作るためには、
メンバーで共通のルールを作って計画的に作業を
進める必要がある、そしてそれを助けてくれるシステムが
既にインターネット上にいくつか用意されているのですね。
「SetucoCMSプロジェクト」もそれらをうまく利用しているようです。


では今回も用語について、続きを今度は「Setucoプロジェクトの母」、
みずき先輩にうかがって見ましょう。


みずき先輩は3期前の卒業生ですが、
この欄でおなじみの山中君と結婚し、今では1児の母です。
育児のかたわら、山中家のサーバ群を管理したり、
メーリングリストなどを通じて後輩たちにアドバイスを
送ってくれたりしています。

そんな関係で、開発プロジェクトで使われる用語について、
いくつか質問して見ました。


問.フレームワークってなんですか?

答.アプリケーション開発において、
  頻繁に必要とされるロジックや機能をまとめて提供したり、
  ものによっては自動生成したりしてくれる、
  アプリケーションの土台となるものです。

  フレームワーク自体はどのアプリケーションでも使えるような
  汎用的な機能しか提供していないので、
  アプリケーション独自の処理は
  プログラマーが実装することになります。
  逆に言えば、プログラマーはアプリケーション独自の処理だけ
  作ればよい、ということです。
  ですので、フレームワークを使うと
  一からすべてプログラマーが実装するより、
  はるかに効率が上がります。

  例えば、Webシステムではデータベースを使うことが
  ほとんどですけれども、
  データベースに接続して情報を取得するためには、
  本来ならばかなりめんどくさいプログラムが必要です。
  しかも、非常にバグが生まれやすいです。
  そこで、フレームワークを使うとデータベースに簡単に接続できたり、
  取得した情報を使いやすくまとめてくれるので、とても助かります。
  バグが生まれる原因もある程度フレームワークが潰してくれるので、
  プログラムの安全性が高まります。

  フレームワークを使えるようになるには、
  いろいろと勉強しなければいけないことがあります。
  Webアプリケーションの場合、
  PHPやJavaの基本文法の習得はもちろん必要ですし、
  フレームワークを使わないでWebアプリケーションを構築できることも
  重要な基礎知識となるので必要です。
  そこまできてやっとフレームワークの勉強が始められます。

  フレームワークの種類はたくさんあります。
  その多くはオープンソースです。
  有名なものを挙げてみます。

  PHP言語:CakePHP、symfony、Zend Framework
  Java言語:Struts、Spring、Seasar2、Hibernate、iBATIS
 
  PHPはもともとWebアプリケーション用の言語なので、
  フレームワークもWebアプリケーション全体
  (ページ表示やデータベース処理など)をカバーしています。
  ですので1つのWebアプリケーションで使えるフレームワークは、
  挙げたものの中では1種類です。

  Javaの方はそういうことはなく、フレームワークによって
  守備範囲が決まっているので組み合わせて使うことがよくあります。
  Struts+Spring+Hibernateが王道のようです。
  Strutsはユーザーインターフェース周りのプレゼンテーション層、
  HibernateとiBATISはデータベース周りのデータアクセス層、
  SpringとSeasar2はDIコンテナと呼ばれる、どこが守備範囲と言い難い
  ちょっと特別な部類です。

  プログラマーならば何か一つは熟練したフレームワークを持つと、
  強みになって良いと思います。


問.SetucoCMSプロジェクトが選択したフレームワークはなんですか?
  それにはどういう特徴があるのですか?

答.まず、SetucoCMSプロジェクトではPHPを使用することが
  あらかじめ決まっていました。そこで候補となるのは
  前述したCakePHP、symfony、Zend FrameworkのPHPの
  3大フレームワークたちです。

  結果的にSetucoCMSプロジェクトでは Zend Framework
  (ゼンドフレームワーク)を採用しました。

  特徴としては、以下の点が挙げられます。
  ・PHPの本家Zend社が開発
  ・他のフレームワークと比べて柔軟な設計ができる
  ・他のフレームワークからも関数群として使われるほど、
   ライブラリが充実している

  これらはそのまま採用理由にもなっているのですが、
  他の理由としてはこんなものがありました。
  ・3つの中でZend Frameworkを知っている人
   (使ったことある人)が一番多かった
  ・学習しなければいけないところを絞れるので、
   学習コストが他よりも低そう
  ・使いやすいコーディング規約がある

  そして、総合的にSetucoCMSプロジェクトには
  Zend Frameworkが合っていると判断しました。

  選択するに当たっては、3つのフレームワークの特徴を調べたり、
  メンバーが持っている知識を出し合ったり、
  今回は採用しないフレームワークのダメな理由をまとめたり、
  候補のフレームワークのデモ開発をしたりしました。


問.Redmineってなんですか?

答.ひとことで言うと、プロジェクト管理のための
  Webアプリケーションです。
  Ruby on Rails(これもフレームワークの一種)で作られている
  オープンソースシステムです。

  主にこんな機能があります。
  ・チケットトラッキング(チケットの追跡・管理)
  ・メンバー管理
  ・文書管理
  ・Wiki
  ・バージョン管理(Subversion、Gitなど)との連携
  ・メール連動(チケットが更新された時に関連のある人にメールが行く)

  SetucoCMSプロジェクトではプロジェクト管理・運用に
  SourceForge.JPを使っていますが、所々調子が悪かったので、
  山中家のサーバーにRedmineをインストールして
  チケットトラッキングの機能だけ使っています。

  同じようなWebアプリケーションでtracというのもあります。
  私はRedmineの方がデザインがかっこいいので好きです。


問.そこで用いられるチケットってなんですか?

答.チケットとは、タスク、要するに仕事を管理するためのもので、
  仕事の指示書や報告書のような役割をします。

  チケットではこんな情報を管理できます。
  ・誰にどんな仕事を与えるか
  ・仕事についての指示
  ・期限はいつまでか
  ・その仕事に何時間かかったか
  ・現在の進捗は何%か
  ・チェックするのは誰か
  ・現在進行中か、チェック待ちか、終わったか

  主なものでこんなものがあり、自分で項目を追加することもできます。
  また、次々とコメントを加えていって、一つのタスクについて
  質問や報告をしたり、いろいろな情報が集約されます。

  開発メンバーでは仕事の管理に使うのがほとんどですが、
  オープンソースプロジェクトでは、
  一般の人もチケットを発行できるようにして、
  バグの報告をしてもらったり、機能リクエストをしてもらったり、
  使い方次第ではいろいろな用途があります。


問.Redmineを取り入れると、今回のプロジェクト進行に対して
  どういうメリットがあるんですか?

答.メリットはたくさんあると思います。

  まずはリーダーの三上さんやチケット管理者の塚田さんが
  プロジェクト全体を把握するためにとても有効です。
  Webからチケットを登録すれば、自動的に担当者にメールがいくので
  メールを書く手間が省けます。

  さらに、チケットを一覧すれば自分に割り当てられているタスクは何か、
  他には現在どんなタスクが進行中か、どのタスクが遅れぎみか、
  誰にタスクが集中しているかなどが一目瞭然です。

  もしRedmineなどのチケットトラッキング機能を取り入れていないならば、
  リーダーはメールチェックの量が膨大になり、
  タスク表の編集でてんてこ舞いになるでしょうね。

  また、メンバーも十数人いて、これからも増えていくと思うので、
  メンバーの把握にも役立つと思います。


問.SetucoCMSプロジェクトのメンバーってどんな人たちですか?

答.みんなやる気や向上心、学習意欲に満ち溢れていて、
  電設部が大好きですね。
  学科も年齢もバラバラで能力も様々ですが、お互い尊重し合って、
  力を合わせてきっとすごいことができるんだろうなと思っています。

  私は会議で初めて顔を合わせた人が多かったのですが、なんかもう
  "みんななかまー”みたいな感じで、非常に居心地がいいです。
  みんなを見ていて特にすごいなと思うのは、
  技術や知識が十分でないのに、臆することなく体当たりで
  プロジェクトを進めてるところですね。

  普通は知らないことで大きなことって
  ものすごく手を出し辛いと思うのですが、
  SetucoCMSプロジェクトにはメンバーが
  次から次へと集まってくるんですよ。
  やっぱり熱いリーダーがいるからでしょうね。

  開発も、フレームワークを使ってまともにプログラミングできる人が
  メンバー全体の半数以下しかいないにも関わらず、
  それぞれができることをやって、
  できないことでもやりたいと名乗りを挙げて、
  サポートできる人は率先して手を貸し、
  みんな本当に素晴らしいと思います。

  私はメンバーの中でも業務の開発経験がある方なので、
  リーダーのサポートをすべく開発のことや
  プロジェクト管理のことをいろいろ考えているんですけれども、
  ぶっちゃけ実際に開発をする人は卒業生の4人くらいだけかな、
  現役生には荷が思くてやりたがらないかなと思っていたら、
  現役生で3人もがっつりやりたいという人が出てきて、
  非常に感心しました。
  おかげで彼らにはいろいろと教えながらやる算段を整えなければならず、
  苦労も増えますが、私にとってこんなに嬉しい苦労は無いです。
  自分の手で後輩が成長してくれる、後輩の成長を見て取れるのは、
  非常に嬉しいことです。

  他にもドキュメントをいろいろ書いてくれる人がいたりとか、
  そのドキュメントの事細かいことにツッコミ入れてくれる人がいたりとか、
  ライセンス調べてくれる人がいたりとか、絵描いてくれる人がいたりとか、
  レクチャー会やってくれる人がいたりとか、
  ユーザーテストの段取りしてくれる人がいたりとか、
  他もろもろ頼もしい限りです。

  そんな感じで、一人一人のできることは少なくても、
  うまいこと補い合って、みんな合わせると
  ものすごく素晴らしいことができるようになる、
  それが真に証明できる人たちだと思います。


問.では自己PR、もくしは山中家PRをどうぞ。

答.ママは一応Java技術者ですが今はすっかり子育てに追われる主婦してます。
  自宅サーバーのメンテナンスも、前は嫌いでやりたがらなかったのですが
  最近楽しくやってます。

  パパもJavaで開発の仕事をしてます。会社では期待の星みたいです。
  自宅サーバーは冗長化とかバックアップとかいろいろやってます。
  麻婆豆腐とインドカレーが大好きです。

  息子は0歳8ヶ月で、つかまり立ちや伝い歩きができるようになりました。
  すぐにバランス崩して倒れて泣きます。成長が楽しみです。


さすがSetucoCMSプロジェクトの母! そして電設部の母!
丁寧な説明と後輩やご家族への母性愛あふれるメッセージを
ありがとうございました!


用語の説明ついでにプロジェクトメンバーについても
うかがってみたのですが、なんだかここのメンバーは
様々なバックグラウンドを持っていて、それがうまく相互作用して
かなり良い雰囲気で活動しているみたいですね。
ますますプロジェクトの今後が楽しみになってきました。


では次回はもう一度これらの用語について、
プロジェクト全体の進行との関連をみながら
復習していきましょう。


つづく

2010年07月09日

カテゴリー: 学習

オープンソースプロジェクトを立ち上げて見よう!
 -卒業生たちは元気です!-


前回「SetucoCMSプロジェクト」の首謀者、三上リーダーの
熱い想いが披露されましたが、その中でプロジェクトの
スケジュールについて触れられた部分がありました。
ちょっと振り返ってみましょう。


 ・開発準備(ライセンス、SorceForge.JP、Githubなど)
 ・開発計画(スケジュール策定、機能要件まとめ、ドキュメント整理)
 ・プロトタイプ制作←今ここ
 ・ユーザテスト
 ・設計
 ・開発
 ・開発テスト
 ・受け入れテスト
 ・ユーザトレーニング


実際のプロジェクトではなんだか難しそうな言葉が
いっぱい出てくるのですね。
でもプロジェクトの内容を知るためにも、
言葉の意味を少しずつ理解していく必要があります。


そこで今回は開発準備のところに出てくる用語について
プロジェクトメンバーに質問してみることにしましょう。

答えてくれるのは「あの」チューター塚田OBです!
相変わらずパワフルなのでしょうか。
質問ついでに近況報告もお願いしちゃいましょう。
どんな新入社員なんでしょうね。


問.最初に、オープンソースライセンスってなんですか?

答.ライセンスとは、「使用許諾条件」です。
  オープンソースライセンスなら、「そのオープンソースソフトウェアを
  使っても良い条件」ということになります。条件というのは、例えば、
  「このソフトウェアを使ってうまくいかなくっても泣かない(=無保証)」とかです。

  「オープンソースソフトウェア」と言うと、「ソースコードが公開されている」
  「無料で使うことができる」と思い浮かべる方も多いのではないかと思います。
  が、決してどんな風にでも使い放題というわけではなく、オープンソースソフトウェアを
  利用するときにはちゃんとそのソフトウェアに適用されたライセンスを守らなければなりません。

  Open Source Initiative(オープンソース・イニシアティブ)という団体が個々のライセンスを
  「このライセンスはオープンソースライセンスとして認める」と認定する権限をもっています。
  世の中には数多く(多すぎて覚えられないくらい)のオープンソースライセンスがありますが、
  それらはその団体の認定を受けているということになります。


問.SetucoCMSプロジェクトが選択した
  オープンソースライセンスはなんですか?
  それにはどういう特徴があるのですか?

答.GPLv2というライセンスです。

  このライセンスが適用されたオープンソースソフトウェアは、利用する人に対して
   1. ソフトウェアの使用(実行)
  2. ソフトウェアの改変(公開されたソースコードを編集して機能を追加するなど)
  3. 再頒布
  4. 改変/改良したソフトウェアをリリースする権利
  を許しつつ、同時に「再頒布する際には、元と同じGPLv2を適用せねばならない」という
  利用条件がつけられます。

  再頒布時に適用するライセンスを変えてもよい「BSD系」と呼ばれるライセンスに比べ、
  制限が強めのライセンスと呼ばれています。


問.そのライセンスを選んだ経緯を教えてください。

答.正直言って、SetucoCMSのプロジェクト開始時にはオープンソースライセンスに詳しい人は
  ほとんどいませんでした。最初は「オープンソースライセンス勉強会」を開いて、メンバー内で
  勉強するところから始めました。今でも引き続き勉強中です。

  そんな風に代表的なライセンスについて勉強した後、ミーティングを行って
  「SetucoCMSは、まずは電設部のためのもの。電設部で導入した後も、世の中の
  学生団体などで広く、多くの人に使われたらいいね」という話をしたんですね。
  そのとき、BSD系の(再頒布時にライセンスが変更できる)ライセンスで緩くやっていっても
  いいんじゃないかという考えもあったのですが、そうすると、SetucoCMSを利用した
  商用ソフトウェアを作ることが可能になってしまうんです。そこで、「うーん、あんまり
  SetucoCMSで儲ける方向には動いてほしくないね」ってことで、GPLv2を選びました。

  ただ、現時点で絶対GPLじゃなきゃダメということではないとも思っていて、
  引き続きライセンスについて勉強しつつ、リリースする前までに確定できればと
  考えているところもちょっとあります。


問.次に、SourceForge.jpってなんですか?

答.SourceForge.JPは、オープンソースソフトウェアの開発プロジェクトを
  進めていくための環境や機能を無料で提供してくれる、すごいサイトです。
  SetucoCMSでも、今回のプロジェクト管理にはSourceForge.JPを
  使わせてもらっています(http://sourceforge.jp/projects/setucocms/)。

  だいたい、以下のようなことができます。

  ・プロジェクト用のメーリングリスト
  ・プロジェクトの進捗管理
  (チケット、マイルストーンといったお仕事管理機能がついています)
  ・プロジェクトで好き勝手にいじれるWiki
  ・プロジェクト用のフォーラム(掲示板のようなもの)
  ・ソースコードのバージョン管理
  ・一般向けの情報発信サイトの運営
  ・開発したソフトウェアの一般公開とダウンロード

  などなど、書ききれません。
  以前、電設部のサイトで記事を書いたことがある「TOMOYO Linux」も、
  SourceForge.JPを拠点に、プロジェクトを公開しながら進めています。

  また、プロジェクトの管理だけでなく一人の開発者としてもSourceForge.JPは
  面白いサイトで、技術者としてのプロフィールを登録しておくことができます。
  例えば、私のプロフィールページです。
  http://sourceforge.jp/users/akitsukada/
  (自分で自分のことを「Javaは有能」とか設定するのがちょっと恥ずかしい><)

  日本電子専門学校に入る前から、たびたびSourceForge.JPで無料のソフトウェアを
  ダウンロードしていたのを覚えているのですが、まさか自分がそのサイトで
  ソフトウェアを提供する側になるとは想像していなかったですね。


問.GitHubってなんですか?

答.まず、「Git」というバージョン管理システムがあります。
  バージョン管理とは、ソフトウェアのソースコードなどを管理し、
  効率よくソースコードの変更をコントロールするためのシステムです。

  そして、GitHubは、Git用のリポジトリ(管理するソースコードを保存しておく
  データベースのようなもの)を無料で公開、提供しているサイトです。
  誰でも無料でユーザ登録してGit用のリポジトリを作ることができ、
  ソースコードのバージョン管理や公開を行うことができます。
  SourceForge.JPでも各プロジェクトにGitリポジトリは提供されているのですが、
  今回SetucoCMSでは、ある開発環境的な理由から、GitHubを利用して
  開発を進めていくことになりました。
  GitHubにあるSetucoCMSのページはこちらです。

  ちなみに、(GitHubではなく)本来のGit自体は現在なんと日本人の
  濱野 純さんが管理しているのですが、彼がGitHubについて語っている
  インタビュー記事がありますので、ぜひ読んでみて下さい。
  http://gihyo.jp/dev/serial/01/alpha-geek/0040?page=2
  「結構長いことあんまり仲良くなかった」んだって。へぇ。


問.そういったものの導入は、今回のプロジェクトの
  進行にどんなメリットがあるのですか?

答.メリットを個々に挙げられないほど、プロジェクトの進行そのものが
  SourceForge.JPやGitHubを利用した上で成り立っていますね。
  今の段階では、主に利用しているのはSourceForge.JPのメーリングリスト機能や
  Wiki、文書管理機能で、これらが無ければプロジェクトが運営できません。

  このあと8月あたりから本格的にプログラミングが始まっていくとGitHubが
  大活躍するようになります。一週間に何度も、GitHubにあるSetucoCMSの
  ソースコードが更新されるようになり、誰でもそれを閲覧でき、ダウンロードできる
  環境をGitHubが提供してくれます。

  これらの機能は、誰かの自宅サーバとか、外部のレンタルサーバー上に
  自分たちで用意することもできるのですが、それには大変な時間と労力が
  かかってしまいます。お金もかかるかも知れません。そこを無料で、しかも
  安全に提供してくれるのですから、使わない手はありませんよね。


問.ところで、SetucoCMSプロジェクトのメンバーって
  どんな人たちですか?

答.電設部の中から、卒業生/在校生問わず"濃い"人が集まっています。
  みんなさまざまなバックグラウンドを持っていて、
  「よくこれだけ色んな人が集まったな」といつも思います。
  三上さんも述べていますが、
  みんな真剣でアツい感じでSetucoCMSに取り組んでいますね。

  ミーティングやメーリングリストなどでメンバーの様子を見ていると、
  「自分もしっかりやらなきゃ、しっかりやりたい」という気が湧いてきます。
  メンバーの動きをみていると勉強になることばかりですし、
  みんな変な遠慮はなく意見を言い合えるなど、とってもいいプロジェクトの
  立ち上げに関わることができて幸せです。
  声をかけてくれた三上さん、メンバーのみんなに改めて感謝です。


問.では、自己PRも兼ねて近況報告をどうぞ。

答.もちろん、もっぱらSetucoCMSのことに力を注ぐ毎日ですねー。楽しいです。

  仕事の面では、6月から開発プロジェクトの現場に配属され、新人SE見習いとして
  日々どうにかやっております。けっこう大規模な金融システムの開発のお仕事で、
  今は設計段階なのですが、私はUNIXサーバ上で稼働する予定のC言語のアプリケーションを
  担当しています。SetucoCMSとは180度くらい方向性の違う開発スタイルなので、
  色んな経験ができてラッキーだと思っています。

  あと、最近では「コマンドなんでも読書会」という勉強会
  (http://groups.google.ca/group/anycommand)を、
  学外/社外の仲間と立ち上げたり、やはり色んな勉強会に参加したり、手伝ったりしています。
  学内外での勉強会も、自分の卒業後どうなるんだろーと思っていましたが、
  その後も在校生が精力的に取り組んでくれているようで、嬉しくなって見ています。
  (7/17はオラクル青山センターで僕と握手! http://atnd.org/events/6067

  以上ですね。何はともあれSetucoCMSですね。
  昨年勉強会に取り組んだのと同じように、がっつりやったりますよ!


問.さらにうかがいたいのですが、
  日本電子時代に学んだことは卒業後の仕事やその他の活動に
  どのように役立っていますか?
  高度情報処理科、チューター、電設部それぞれにお願いします。

答.高度情報処理科で学んだことは、かなり現在の実務に
  直結していますね。びっくりしました。ああ、ほんとに
  そのまんまな世界なんですね。という感じ。

  高度情報処理科は、先生方も色んな方がいらっしゃって
  それぞれの「現場論」みたいなものを教えてくれたり、
  現役SEやPMの方が非常勤講師で教えにきてくれていたり、
  産学連携で企業とコラボレーションしてみたりと色々と
  頑張ってるわけですが、あの科で*ちゃんと*(ここ重要)勉強すれば、
  現場で十分即戦力になりうるんだと今、実感してます。

  そこはしかし、私はSIerに就職したので高度情報処理科の
  内容がマッチしてますが、オープンソースやWeb系開発に
  強い会社だったらもちろんオープンソースシステム科や
  Web総合技術科の方が内容的にあっていると思いますし、
  適材適所ですよね。同時に、どの科にいようが自分が
  やりたい技術を勉強しちゃえばいいとも思います。


  次に、チューターの活動では、オープンソースシステム科の
  学生、特に当時の一年生と色々関われたのが大きかったですね。
  彼らはどう思っていたか分かりませんが(笑)。

  それに、実習室管理の権限が与えられて、実際にサーバを
  触りながら勉強できるというのはとってもいい経験になりました。
  今、仕事で使っているUNIXサーバを操作してその上に
  システムが構築できるのも、チューターの経験が生きていると
  思う瞬間が多々あります。

  普通は他の学科にあそこまで関わるチャンスなんて他にないので、
  貴重な機会でした。今でもメールでJavaやPHPの質問をしてくれる
  学生がいたり、私が電設部に入るきっかけになったのもチューターとして
  オープンソースシステム科の教室にいるときの何気ない会話からだったり、
  色んな活動のきっかけになったのが「チューター」でした。
  チューターの仕事を斡旋してくれた糠盛先生には本当に感謝するほかありません。


  最後に、電設部の活動では、自分の一つ大きな役目として
  勉強会プロジェクトをやっていたわけですが、これは卒業後と言わず
  在学中からとにかく役立つことばかりです。もちろん今後も。

  単純に技術の勉強になるだけでなく、視野とつながりが広がるのが
  一番大きなポイントですね。たぶん、ただスキルを身につけたいだけなら、
  家や学校で専門書や好きな技術の本を読んで、色んなプログラムを
  作りながらずっと遊んでいるだけでもいいかも知れません。

  でも、それだけじゃダメで、自分が行こうとしているのがどういう
  世界なのか、どんな人たちがいて、その人たちは何を気にしているのか、
  何より自分は何者なのかといった大事な情報を、勉強会を通じて知ることが
  できました。もしそういった活動をしていなかったら、この先きっと
  全然違う道を歩んでいただろう、いやもっと早くからそういうことを
  やっていればよかったとよく思います。だから、在校生のみんなには、
  早いうちから外に出て、とにかく自分の目で色んな人を見て、
  話してみてほしいですね。今すぐ実践すべき。


塚田先輩、ありがとうございました。
新入社員なのに日本電子で学んだことを最大限に生かして
一年目からバリバリですね。すごい。
しかも相変わらず熱いですねー。
熱さで言えば三上リーダーに負けていないかも。

この「SetucoCMSプロジェクト」、
なかなかすごいメンバーが集まっているんですね。
ほんと楽しみです。


次回は他のメンバーにも質問してみましょう。
さらに熱いお話が聞けるかもしれません。
お楽しみに。


づつく

2010年07月02日

カテゴリー: 学習

オープンソースプロジェクトを立ち上げて見よう!
 -首謀者に突撃取材!-


前回ついに一部顔出ししてしまった
プロジェクトメンバーですが、
相変わらずパワフルに活動しているようで目が離せません。

そして今日はいよいよ首謀者三上リーダーに突撃インタビューです!



問.三上さんは日本電子専門学校Webデザイン科で
  どんな勉強をしてきたのですか?


答.最初はHTMLとかCSSとかって何?どうやって書くの?
  っていう基礎的なことや、
  AdobeのPhotoshop、Illustrator、Flash、Dreameweaver
  など各種ソフトの使い方、
  企画書の書き方、情報の整理の仕方、ユーザビリティ・アクセシビリティ
  などWebデザインに必要なノウハウ、
  ライティング、撮影技法、色彩、マーケティング、関連法規
  などWeb制作に紐づくもの、
  等々、Webの制作に必要なこと全般をじっくり学ばせてもらいました。

  授業以外の活動もプロジェクトチームとか、技能五輪とか、
  多く参加させてもらい人間力を学びました。

  でも、何より学んだのは「何故を考える」ということです。
  サイトを制作するとき、
  「何のためのサイトを作るのか?誰のために作るのか?」
  といったことはとても重要です。

  「何故なんだろう」という意識を普段から持つようになり、
  日常の些細なことにも理由を考えることで、
  より価値を感じられるようになりました。


問.SetucoCMSプロジェクト立ち上げの経緯は、
  おおよそブログに書いてあるとおりだと思いますが、
  今、もし付け足すこと(熱い想い等)があるなら是非。


答.それはもう、書いても書ききれないほどの想いがありますが(笑)
  一番大きかったのは、学科コラボプロジェクトに携われたことですね。
  違う考え方を持っている人と話すことで、
  自分の視野が広がるのを感じました。

  「ものづくりにおいて、不要な知識などない」
  そう確信できたので、
  Webデザイン科の自分がシステム開発をすることで、
  その証明をしようと思ったのです。

  まあ、まさかプロジェクトになるとは思わなかったですが、
  それはオープンソースシステム科のN先生が楽しそうに
  「やっちゃえばw?」って言ったからです、はい。

  卒業制作において、N先生のアドバイスは
  いつもいい方向に制作を進めてくれました。
  その先生が言うんだから、
  きっととんでもないもんができると思ったというのがあります。


問.Webデザイナーの卵がオープンソースプロジェクトを
   立ち上げることに不安はありませんでしたか?


答.そりゃあ、不安100%でしたよw!
  「やってみれば?」「あ、はい。」ってなノリで始まったものですからね。
  オープンソースのことももやもやとしか知らなかったし、
  オープンソースプロジェクトって何?って感じで。

  実は、最初の一人に断られたらやめようと思ってたんです。
  最初の一人ってのは、
  卒業制作にも力を貸してくれたPHPの師匠つかだ氏なのですが、
  彼に話を持ちかけたら快諾してくれまして。

  その後、オープンソースシテム科の鈴木さん、
  Web総合技術科の高橋さんと次々に
  一緒にやろうって言ってくれる人がいて、
  その頃には絶対に上手くいくと思いました。


問.卒業間際にプロジェクトがスタートしましたが、
  卒業後に泡のように消えてしまう不安はありませんでしたか?


答.むしろ、私が最初は卒業とともに後は任せたって感じで、
  現役生にほっぽろうとしてましたからね。

  でも、これも始めた時と同じで、
  メンバーの皆がとってもやる気に溢れていて、
  一緒にやっているうちに不安はなくなりました。

  社会人でも、会社以外に活躍されてる世の先輩はたくさんいますからね。
  この人達なら、きっとそうなるな、とメンバーを見てて思いました。


問.現在三上さんは新入社員としてどんな毎日を
  送られていますか? どんな業務をされていますか?


答.その質問がでるとは思いませんでした(笑)
  N先生の興味ですかw

  私はデザイナーではなく、HTMLコーダとして就職したので、
  毎日ひたすらHTMLを作っています。
  とはいえ、勤務先はWeb制作では大手に属し、分業化が進んでいるので、
  先輩方が作ったベースのHTMLパーツをコピーして組み替えつつ、
  ひたすら量産する仕事が主です。

  納期が近いとバタバタしたりで忙しいですが、
  毎日学ぶことばかりで充実した社会人生活です。


問.現在プロジェクトは、どのような活動のし方を
  しているのですか? みんなバラバラの会社で
  苦労はありませんか? うまく集まれますか?


答.主にメーリングリストでやり取り(意見交換、タスクの発生)をしていて、
  発生したタスクは、タスク管理システムを使って各自に振り分けています。
  あとは、月に一回の定例ミーティングで、
  直接顔を合わせて話しあっています。

  他には、意外とSkypeでのチャットが
  重要なコミュニケーションツールとなっています。

  やはり、なかなか集まれないですし、
  各自違う生活環境を送っているので
  時間が十分に取れないこともありますが、
  そこはリーダーの腕の見せ所ですね。


問.今プロジェクトは全体のフェーズの中でどの辺を
  進行中なのでしょうか? どういったことに
  力を入れているのでしょうか?


答.開発準備(ライセンス、SorceForge.JP、Githubなど)
  開発計画(スケジュール策定、機能要件まとめ、ドキュメント整理)
  プロトタイプ制作←今ここ
  ユーザテスト
  設計
  開発
  開発テスト
  受け入れテスト
  ユーザトレーニング

  といったところですね。
  プロジェクトが立ち上げたてなので、開発作業に入る前に
  プロジェクトとしての体制を整えるのに時間がかかっています。
  ようやくプロトタイプが完成して、
  いよいよ開発に入りそうなところです。

  力をいれてるというか、大事にしているのは、
  ここでも「何のためにやってるのか」ってことですね。
  いつも、電設部だったらどう使うシステムになるんだろう、
  という視点を持ちながら、
  自分たちが電設部らしく自由に学びながら楽しもう、
  という想いでやっています。


問.プロジェクトの最終目標は?


答.WordPressにもMovableTypeにも負けないメジャーなCMSにして、
  電設部の名前をメジャーにすることです。
  電設部を有名にして、電設部の活動を伝え、電設部の想いを伝えることが、
  電設部へ恩返しだと思ってます。


問.このプロジェクトに集まったメンバーを見て
  どう思いましたか? 個人名を挙げてもよいので、
  思いのたけをどうぞ。


答.前述の通り、このプロジェクトは「人」の力で始まり、
  「人」の力で支えられています。
  集まったメンバーは非常に個性的です。
  年齢も、学年も、学科も、学んできたことも、
  過ごしてきた人生も、興味も得意分野もバラバラです。
  見事に、様々です。

  そんなメンバーと電設部という場所で出会い、
  一緒に活動できることにいつも感謝の気持ちでいっぱいです。

  しかし様々な背景を持ったメンバーにも、
  ひとつだけ共通点があります。
  みんな熱いってことです。
  集まってきた当初から、それは強く感じました。
  だから、とても心強いメンバーです。
  皆、本当に尊敬出来る人達です。


インタビュー、いかがでしたか?
三上リーダー、ほんとに熱いでしょ?
こんなリーダーをトップに抱き、
さらに熱いメンバーがリーダーを下から支えています。
このプロジェクト、うまく行きそうな予感がしませんか?


では次回から、具体的なプロジェクト内容について、
少し専門的な用語も交えてお伝えしましょう。
やはり技術的なプロジェクトですから、
その全容を知るためには、多少の前提知識が必要となります。
熱いメンバーにしっかりと解説していただく予定です。


つづく

2010年06月25日

カテゴリー: イベント

オープンソースプロジェクトを立ち上げてみよう!
 -番外編-


今日はいきなりこんな写真をどうぞ。

DSCN2491_U.jpg


えーっと、前回までたしか
新たにオープンソースプロジェクトがスタートした、
というお話だったはずなのに、
この写真はいったい何なんでしょう?

いえいえ、これはちゃんと関係があるのです。


■自宅サーバのその後・・・

実はこの写真は以前この欄でご紹介した山中君のご自宅の、
あの個人用途の域をはるかに超えたサーバ群なのです。

DSCN2488_U.jpg


どう見ても個人宅じゃないですね。

山中君は2009年3月にオープンソースシステム科を卒業後、
やはりここで紹介させていただいた株式会社HDEに就職し、
現在バリバリのエンジニアとして活躍しています。

そして、すぐにネットワーク研究科の卒業生と結婚し、
あっという間に一児の父親となってしまいました。

DSCN2449_U.jpg

奥様もすぐにでも現場復帰できそうな敏腕エンジニアです。


こちらのお宅の設備は、あの頃に比べて、規模拡大の一途です。

DSCN2483_U.jpg

お、ラックサーバだ! と思ったら、
なんだこのケース、よく見たら100円ショップで売っているカゴ?

DSCN2480_U.jpg

すげー! ちゃんとスタッキングできる。
しかもスリットが入っているから熱の問題も起きにくい?
PCケースが1台あたり100円なんてとても思えない。
加工もしてあるし、これ売れるんじゃないの?


DSCN2493_U.jpg

これはレイヤー2スイッチ。ふつう家庭では見られません(笑)。

やはりしばらく見ない間にすごいことになっていたのでした。


■この集まりは・・・

なぜ山中夫妻のお宅にお邪魔しているのかというと、
実はここで「SetucoCMSプロジェクト」の会合が
開かれていたからなのです。

前回ご紹介したオープンソースプロジェクトが
立ち上がってすぐ、5月の連休中に、
キックオフのような位置づけで合宿が行なわれたのです。

DSCN2452_U.jpg

首謀者の「熱血」三上さんは写真右。

そしてお隣にはこの欄でおなじみのあの「勉強会の鬼」チューター塚田君。
手前にはオープンソースシステム科卒業制作発表会最優秀賞の鈴木君。
3人ともこの3月の卒業したばかりの社会人ルーキーです。


DSCN2477_U.jpg

奥にはこのプロジェクトに無関係の現役電設部員S君が
なぜか自分の研究のためにひたすらプログラミングしている
(なにゆえに山中家で!?)のですが、
やはりこの日の集まりに刺激を受けたのかどうかわかりませんが、
後日このプロジェクトに参加することになりました。


山中夫妻とこれらのメンバー+α、言ってみれば日本電子専門学校
オールスター軍団(言い過ぎ)が集結してプロジェクトが
スタートしたのです。これはもう今後に注目です。


今回はプロジェクト本編からちょっと寄り道して、
メンバーの顔出し編をお送りしました。
プロジェクトの内容についてはまた次回以降に。


つづく

2010年06月18日

カテゴリー: 学習

オープンソースプロジェクトを立ち上げてみよう!
 -学生たちの手作りプロジェクト-


学生の立場だと大きな業務プロジェクトに関わることは
むずかしいのですが、それでも自分たちだけで始められる
プロジェクトだってもちろんあります。
その中でもオープンソースプロジェクトというのは、
かなりいい線行っているものと思われます。

今日からその具体例を追いかけていきましょう。


■「SetucoCMSプロジェクト」のはじまり

昨年電設部で日本電子専門学校のいくつかの学科が
共同作業を行なううちに化学反応が起きて、
その時の主力メンバーが卒業していく直前に
ひとつのオープンソースプロジェクトが生まれました。

その名も「SetucoCMSプロジェクト」。


プロジェクト名の由来は後回しにして、ここでは
まずなぜこのプロジェクトが立ち上がったのか、
その経緯を見てみることにしましょう。


まず言い出しっぺは、この春にWebデザイン科
卒業したばかりの三上さん。
技能五輪全国大会の銅メダリストでもあります。
いつも前向きなやる気全開の超有望Webデザイナー候補生です。

三上さんはどうして「SetucoCMS」プロジェクトを立ち上げようと
思ったのでしょうか?


まず三上さんはその前から卒業制作として、
オリジナルCMSの構築に取り組んでいました。

CMSというのはコンテンツマネジメントシステムといって、
Webサイトを更新していくために役立つツールをたくさん備えた、
Webサイト管理者の強力な味方になってくれるソフトウェアです。


なぜCMSがありがたいかというと、
例えば企業などが宣伝のためにWebサイトを運営する場合、
その責任者が必ずしもコンピュータ操作に詳しいとは
限らないからなのです。
企業にとっては、その内容と鮮度が大事ですから、
コンピュータの専門家よりも、
広報や宣伝に通じたフットワークの良い担当者に
任せたいところです。

CMSはそんなWebサイト運営担当者にとって、
コンピュータと折り合いをつける手間を省いてくれる、
とても心強いサポーターになってくれるものなのです。


Webデザイン科の三上さんは、そんなデザイナーのお客様である
クライアントの担当者の味方になってくれるシステムの構築に
2年次後半の半年を費やすことにしたのです。


■三上さんの熱い想い

実はWebデザイン科の三上さんがCMS構築に取り組むというのは、
とても大変なことだったのです。


Webデザイン科では、Webサイトの構築技法として
いくつかのプログラミング言語を習得するのですが、
CMSの制作には、それがコンテンツを管理するシステムである
と言う性格上、授業で習うよりもっと高度な
サーバアプリケーション作成スキルが要求されるのです。

多くの優秀な卒業生を送り出してきたWebデザイン科でも
卒業制作でそこまで高いスキルを要求されるプログラミングに
チャレンジした学生は今までほとんどいませんでした。


しかし三上さんはそれにチャレンジしたのです。
それもただ単に一般的なCMSを作るだけでなく、
ユニークな特徴を持ったCMSを制作することに成功したのです。
その特徴については、いずれここで紹介されるプロジェクトの中で
明らかになっていくでしょう。


そして校内で開かれた卒業制作展においては、
最優秀作品に与えられる校長賞を受賞したのです。
単に頑張って作った、だけでなく、その完成度が
高く評価されたのです。これは素晴らしいことなのです。


そして三上さんは、卒業制作作品の受賞だけでは飽き足らず、
さらにそのシステムを発展させようとしたのです。
オープンソースシステムとしてさらに進化させようというのです。
なんと貪欲で前向きなのでしょう。

それまでの制作作業で得たものを、その気になれば
卒業時の最高に美しい思い出として永遠に留めておくことも
可能だったのに、そこからさらに前に進もうとしたのです。


そこには彼女の熱い熱い想いがあったのです。それはどうやら、
そのシステムのユーザである電設部との出会いに
端を発しているようです。

その辺のいきさつは、彼女のブログに書かれています。
そこからのリンクをたどっていくとわかりますが、とっても熱いです。
その熱い気持ちで、もう卒業間際という時に、
学校の中からひとつのオープンソースプロジェクトを誕生させたのです。
そして、それはもちろんまだ絶好調現在進行中です。


■プロジェクトは続くのか?

この「SetucoCMSプロジェクト」は、その成り立ちから
主要メンバーがルーキー社会人中心というユニークさを
持って生まれました。


Webデザイン科卒業したて、高度情報処理科卒業したて、
Web総合技術科卒業したて、オープンソースシステム科卒業したて、
の卒業生メンバーを中心として、そこにオープンソースシステム科OBと
ネットワーク研究科OGのバリバリエンジニア夫妻(と0歳の息子さん)、
それから現役の電設部員などが加わり、
ひとつの専門学校から発したプロジェクトでありながら、
非常に多彩なメンバーで構成されることとなりました。

ひとつの学校の中から選りすぐりの優秀なメンバーが
集まってきた感があります。三上さんはとても人に恵まれていたのです。
やっぱりプロジェクトは「人」なのですね。


ふつう卒業の頃にはみんな盛り上がって、
「卒業してもみんなでしょっちゅう集まろうね!」
なんて声を掛け合いますが、いざ4月から出社するようになると
あっという間に忙しくなって、みんな会社の人になってしまい、
会うのはせいぜい年に一度のクラス会、ということになりがちです。

でもさすが選りすぐりのメンバー、そのてつを踏まなかったのです。
みんな新入社員としていきなり激務の嵐に遭いながらも、
着実にプロジェクトの歩みを進めているのです。


そんな「SetucoCMSプロジェクト」が、どんな作業をしているのか、
これからじっくりと見ていくことにしましょう。


つづく

2010年06月11日

カテゴリー: 学習

まずは小さいプロジェクトから -もうひとつのプロジェクト-


■専門学校に求められていること

前回まで伊本さんのプロジェクト奮闘記を
お送りしてまいりましたが、振り返ってみると、

・開発現場にはプロジェクトマネージャー適任者が足りない
・プロジェクトマネージャーは出世して就任するものではない。
・プロジェクトマネージャーには経験は必要だが、
 若いうちから活躍することもできる。

ということが明らかになってきました。


つまり今求められているのは、プロマネ候補生の育成です。
どんどん人材を生み出して、新たなプロジェクトに
立ち向かって行ってもらわねばなりません。
そうしないと、あちこちのプロジェクトで火が吹いてしまい、
開発現場で働く人たちが幸せになれません。


それでは日本電子専門学校在学中に出来ることは何か。

それはおそらく少人数グループでプロジェクトを組織して
システム開発をする経験を、少しでも多く積むことでは
ないでしょうか。


高度情報処理科では以前から最上級生が産学連携によって
丸々1年間かけてプロジェクト運営を体験しています。
他の情報系学科でも卒業制作はグループで行なわれることが多く、
学生にとってはとても良い経験になっています。

なぜ良い経験になるのかというと、
エンジニア志向の学生はともすれば、
ひとりで開発作業に没頭しがちだからです。
だってそっちの方が楽だもの!


■エンジニアは孤独がお好き?

グループで開発をすると自分のペースが乱されます。
「何日までにこの部分を完成させて」とリーダーに言われたって、
動かないものは動かない。難しい処理のプログラミングに
時間がかかるのは当然の事なのです。


いざ画面を作ってみても、他の人の作った部分と微妙に合わない。
ちゃんと打ち合わせたつもりでも、作っていくうちに
自分の工夫を盛り込んで見たくなるというのが人情というもの。
良かれと思ってやったのに、他のメンバーから「余計なことするな」。


他のメンバーのプログラムが動かなくて困っている、
ちょっと見せてみ、う!なんだこのプログラムの書き方は!
俺なら絶対こんなふうには書かないぞ!
他人のソースプログラムはなんて見にくいんだ。
これじゃバグを見つけることなんて出来ないよ。


リーダーはいいやつなんだけど最近イライラしているみたい。
リーダーもだいぶ我慢しているらしいんだけど、
言いたいことがあるならはっきり言ってくれればいいのに。
あれ、リーダーついに切れちゃった。
だから言わんこっちゃない。我慢しすぎるから反動が大きいんだね。


納期に間に合わないよ。どうしてうまく動かないんだろう。
ちょっとみんな落ち着こうよ。みんな徹夜で疲れてるから、
頭がちっとも働いてないね。これじゃバグも見落とすってば。


ああ、やっぱりひとりで作る方が楽だなあ。
全部自分で把握できている方が、絶対良いものが出来るはずだ!


エンジニアが孤独な作業を好むのは、こんな体験をしてきているからです。
でももちろん、一人で作れるシステムの規模なんて、たかが知れています。
業務システムともなれば、多くのメンバーの協力なくしては
決して完成させることはできません。
ならばはじめからグループでのプロジェクト運用に慣れておくべきですね。
卒業制作はその貴重な体験の場なのです。


■グループ作業に慣れるためのもうひとつの方法

さて卒業制作はプロジェクトマネージャーへの道を歩むための
小さな小さな、しかしある意味とても重要な第一歩と言えますが、
他にも学生にとって良い経験を積めるチャンスがあります。

それが「オープンソースプロジェクト」です。

オープンソースプロジェクトとは、オープンソースソフトウェアを
作り上げるための、自発的な開発プロジェクトです。
ソースプログラムがオープンであるだけでなく、
メンバーの募集や開発のプロセス、フィードバック、
役割分担にいたるまで全てがオープンです。
当然メンバーには報酬を期待している人は少なく、
みな自発的に自然に集まってきます。やめるのもいつでも自由です。


そんな何もかもオープンな、自由なやり方で大きなプロジェクトが
ちゃんと運営できるのでしょうか?
出来上がったシステムもちゃんと動くのでしょうか?
そんな制限の少ない開発方法で、
ミスなくプログラミングすることなんてできるのでしょうか?


その答えは、現在インターネット上で動いているほとんどのサーバが
このオープンソースプロジェクトから生まれたシステムを利用して
動作している、という事実に現れています。

そう、ある意味良い物を作るんならオープンにした方がうまく行く、
という分野もあるのです。サーバプログラムはそういった分野のようです。


■オープンソースプロジェクトに参加する

さて、学生がオープンソースプロジェクトに加わる場合には、
プログラマ以外にも、マニュアル作成や、
プロジェクト進行のサポート、メーリングリストの運用、
オフラインミーティングの企画運営、その後の打ち上げの幹事(!)
などさまざまな役割分担が考えられます。

実際に高度なシステムのプロジェクトだと、
学生レベルでプログラマとして参加するには
ちょっと敷居が高いかもしれません。
なのでそれ以外の役割から始めて、雰囲気をつかんで
自分自身がプログラマとして成長してきた時に、
それからソースプログラムに手を伸ばせばいいでしょう。


■オープンソースプロジェクトを立ち上げてみる!

さて今既に動いているオープンソースソフトウェアは、
確かに高度な技術を用いて作成されているかも知れませんが、
学生ならもっとシンプルな、決まった機能を持つソフトウェアを
オープンソースプロジェクトで一から作り上げることも出来るはずです。

学生レベルで単機能のユニークなシステムを作るのって、
それはそれで結構楽しそうな感じです。


実はこの欄でおなじみの電設部から、最近ひとつの
オープンソースプロジェクトが立ち上がりました。
その名も「SetucoCMSプロジェクト」。

このプロジェクトは実はWebデザイン科の昨年度の2年生が
電設部のプロジェクトとして立ち上げたものです。
Webデザイナーの卵がオープンソースプロジェクトを立ち上げる!
かなりエキサイティングなことなのですよ。

実際にその心意気に打たれたオープンソースシステム科や
高度情報処理科やWeb総合技術科の電設部メンバーが
次々とプロジェクトメンバーとして名乗りを上げてきたのです。

今日本電子でいちばん熱いオープンソースプロジェクト
(と言っても唯一のプロジェクトですが・・・)、
「SetucoCMSプロジェクト」から当分目が離せません。

このプロジェクトではどんなことが行われているのでしょうか。
次回をお楽しみに。


つづく

2010年06月04日

カテゴリー: 就職

プロマネの今 -伝説の火消し人登場・5-


コンサル会社を経て、いくつかの会社で働いたのち、
伊本さんは30代早々に独立を果たして現在に至ります。

さてそんな若き起業家に、いったいどんなかたちで
仕事が舞い込んでくるのでしょうか。
それはちょっとびっくりするようなかたちなのです。


■今時のプロジェクト

最近の事例として、
まず官公庁などから数年に渡る大きなプロジェクトが公示され、
大手のソフトウェア会社は入札に応じます。
大型プロジェクトなので、落札する会社も超大手です。
優秀なエンジニアを百名単位で抱えている会社です。

さてその大型プロジェクトを取りまとめるのは誰か。
誰がプロジェクトを引っ張っていくのか。
誰がプロジェクトマネージャーになるのか。

その大手ソフトウェア会社にはなんと・・・人材がいないのです。


優秀なエンジニアが何百人もいて、大きいプロジェクトを
任せられるマネージャー適任者がひとりも見当たらないのです。
もちろん大手ですから歴史があります。
過去に大きなプロジェクトを経験してきた
百戦錬磨のエンジニアも多数在籍しているのです。

でも、マネージャーを任せられる人がいないのです。


そこでプロジェクトマネージャーをスカウトすることになります。
あちこちに打診します。その中に伊本さんの名前が挙がります。
繰り返しますが、伊本さんは30代になって間もない若手の起業家です。
そんな伊本さんにマネージャーの仕事を依頼してくるのです。


このお話のきっかけは「プロマネが足りない!」でした。
そこにお話が戻ってきたわけです。


結局プロマネが足りない理由は、
この仕事がいろんな側面を持っていて、
全てをこなすのが非常に難しいから、と言えそうです。

でもそんなことは言ってられません。
大小問わず日々新しいプロジェクトが立ち上がっているのです。
どんどんプロマネが育っていかなければなりません。

ということで、もう一度「良いプロマネ」について考えて見ましょう。


■もう一度、プロマネに必要な資質について

システム開発に必要なプロジェクトマネージャーの資質といえば、
ソフトウェアに関する知識の深さ、がまず思い浮かぶでしょう。
優秀なエンジニアであれば、この点はまずクリアされるはずです。

それからプロマネには、以前に述べたように、
経営やマーケティング、法律や業界知識などのビジネススキル、
スケジュール、人的管理、リスク管理といった管理能力も
要求されます。とても大変そうですが、ここまでなら
経験によってじっくりと身に着けていくことはできそうです。

しかしどうやら経験だけでは乗り越えられないことがあるようです。
そこを乗り越えるのが「人的スキル」だと思われます。


この「人的スキル」と言うものは、真面目にコツコツ勉強すれば
身に着けられる類の能力ではないのかも知れません。

例えば、プロマネの役割を見てみると、
「開発作業の上流工程を担当するのはもちろん、
 プロジェクトの進行に関する全責任を負い、
 ビジネス面での成果を上げることが義務付けられている」
わけです。
このプレッシャーに打ち克つには以前に述べた「鈍感力」も
必要かも知れません。


なんと言っても伊本さんの同僚が以前炎上プロジェクトの中で
怒り心頭のお客様から「死ね」と言われてショックを受けたことが
あるくらい、この業界の最前線では修羅場が繰り広げられています。
仕事の現場で心無い一言のように思えますが、
お客様の側も何億もかけたプロジェクトが迷走すれば、
自分にとっての死活問題にもなるわけです。要するに戦場です。
言葉の実弾が飛んでくることもあるわけです。


さてもちろん人的スキルが鈍感力だけ、というのではダメです。
「聞く力」の方がもっと大切です。
この聞く力の元になっているのがコミュニケーション能力なのです。

プロジェクトをうまく進めるには、
おおぜいのプロジェクトメンバーを束ねつつ
さらにお客様とも円滑に情報交換していくための
コミュニケーション能力が絶対に欠かせません。


優秀なエンジニアの中には、独特の雰囲気を持っている人がいて、
仲間内ではそのキャラクターが愛されている場合も多いのですが、
いざお客様のところに行く時に、ただ独特なだけではダメなのです。
きちんとしたコミュニケーションが欠かせないのです。
ユニークさはそれをベースにして初めて認められるのです。

コンサル会社ともなればお客様側の責任者、
つまりプロジェクトオーナーが社長か役員です。
まず第一印象で信頼を勝ち取れないと、
プロジェクトをスタートさせることすらできません。
一定レベル以上のマナーも要求されます。


そしてなんと言っても「聞く力」。

プロジェクトは生ものです。うまく行く時もあるでしょうが、
たいていはトラブル続き。プロジェクトが停滞することもしばしば。
お客様の不満を信頼に変えていくには、
相手の本当の思いを見抜く「聞く力」が絶対不可欠です。


こうして見ると、プロマネに必要な資質は、経験だけでなく
その人の個性にも依存するのかも知れません。

そしてうまくはまれば、若いうちから大活躍することも可能です。
伊本さんがプロジェクトで大活躍した事例は大半が20代のものです。
若手が活躍できる分野であることは、伊本さんが証明してくれています。


逆に言うと、プロマネは年功序列でなるものではないのですね。
古くからの日本企業の体質にはなじまない職種なのかも知れません。
ある意味プロスポーツ選手と似ているかも。
伊本さんはさしずめ中堅大リーガーと言ったところでしょうか。


■これからの課題

良いプロマネに必要な資質は伊本さんが身をもって教えてくれました。
でもまだ良いプロマネは圧倒的に足りないようです。
つまり、これからどんどん良いプロマネを育てていかなければなりません。
いったいどうしたらよいのでしょうか。
なにせ大リーガーを育てていかなければならない・・・

これから少しずつ伊本さんのようなエース級マネージャーとともに、
その答えを探し出していく必要がありそうです。


さて、これから就職していくオープンソースシステム科の学生からは、
プロジェクトマネージャーは育っていくのでしょうか。
伊本さんのように伝説の火消し人になれるようなエンジニアは
果たして生まれるのか。
みんな修羅場を経てたくましくなって行って欲しいなあ。
でもプレッシャーに負けて「消えて」しまったりしないでね。


さてさてプロマネシリーズ、いかがだったでしょうか。
伊本さんの驚くべきお話がきっかけとなって、
プロマネのあり方をじっくりと考えてみることになりました。
伊本さんにはすっかりお世話になってしまいました。

これからも理想のプロマネのあり方については、
業界みんなで考えていく必要がありそうです。


この業界に入っていくためには、
それなりの覚悟が必要なんですね。
でもコミュニケーションを大切にすれば、
若いうちから大活躍できるのだということもわかりました。
やっぱり前向きであることが大切なんですね!

おわり

2010年05月28日

カテゴリー: 就職

プロマネの掟 -伝説の火消し人登場・4-


最大の炎上プロジェクトの火消しを終えた伊本さんは、
プロジェクトを炎上させずきちんと進行させるために
プロジェクトマネージャーが果たすべき役割を、
はっきりと確信するようになります。

そして伊本さんは転進を図ります。


■プロマネに必要な資質

伊本さんによると、大きなプロジェクトでは
エンジニアのスキル不足でプロジェクトが火を噴くことは
ほとんどないそうです。これは意外ですね。

大規模案件でプロジェクトが火を噴くのは、
プロジェクトマネージャーの「人的スキル」不足が
原因なのだそうです。


前回プロマネが「消えてしまう」事件をご紹介しましたが、
プロマネが真面目過ぎる人だと大変なようです。
プロジェクトの進行がつまずくことはよくありますし、
そんな時お客様にいろいろなことを言われてしまうこともあります。
しかしそれを全部受け止めてしまうとつぶれてしまいます。
もちろん一番重要なのはお客様の要望を「聞く力」なのですが、
それをまともに受け止めるのではなく、
相手の本心を見抜けることの方が大切なのです。


プロマネがつぶれてしまうのは、ストレスに負けてしまうからです。
ストレス回避の秘訣は「鈍感力」にあります。
なぜならストレスに強い人間はいないからです。
耐ストレス力は、アキレス腱と同じで鍛えることはできません。
鈍感力でストレスそのものを和らげることにより、
相手の本当に言いたいことを感知する柔軟な思考力をキープするのです。


人的スキルはお客様との人間関係となって表れます。
この人的スキルはどうやって身に着ければいいのでしょうか。


■コンサルティング会社で学んだこと

伊本さんは大手ソフト会社からコンサルティング会社に転進を図ります。
伊本さんは入社当時から社長になるつもりだったそうです。
でも長く大手のソフト会社にいることによって、
自分はこの会社でしか通用しない人間になってしまう、
という危機感を持ったのです。


特に大きい会社で昇進していくと、
自分の会社の人間を守ることに専念してしまうようになります。
予算面でもいかに自分の部署に多くの予算を振り向けさせるかなど、
自分の周辺のことに気を取られてしまうのです。

会社自体に特に不満があったわけではないのですが、
思い切ってコンサルティングの会社に転職することにしました。


そして、新しい会社で学んだことは「人的スキル」のみだったのです。
コンサルに必要なのは技術力ではなかったのです。
これにははっきりとした理由がありました。後述します。


とにかくここではまずプレゼンテーション、次にあいさつの研修です。
そして半日かけて名刺交換の方法、そしてシャツの色とネクタイの色の講習!

IT分野のコンサルティング会社で、コンピュータのコの字も出てきません。
なぜそんな新人研修で学ぶようなマナーばかり要求されるのでしょう。
それはITコンサルティング会社の仕事のし方に特徴があるからです。


■ITコンサルの仕事

システムを根本的なところから大きく刷新しようとする時、
システムを発注する側は、まずコンサルティング会社に相談します。
社運をかけるような大事業であることも多いので、
慎重になるのは当然でしょう。


一般的なSIerと呼ばれるシステムインテグレーターに相談する時は、
プロジェクトオーナーと呼ばれる発注側の責任者は部長レベルです。
しかし、ITコンサルへの相談案件は、
発注側がはじめから役員以上、もちろん社長の場合もあります。
ここに一般の案件と大きな違いがあります。


一般のシステム開発では、発注側の部長レベルの決済で
予算や納期が決定しますが、
社運をかけるような大事業ではもちろん部長レベルの決済では
話が収まりません。
一般に一億円以上の案件は、部長のところでO.K.でも
あとで社長・役員からひっくり返されることがよく起こります。


最近実はSIerがコンサル案件に手を出して
プロジェクトが火を噴くことがよく起きるのだそうです。
原因はいつもどおり部長レベルを相手に要件を固めていくからです。
そしてスケジュール、予算、全ての線引きが終わり、
ある程度プロジェクトが進行したのちに
社長からストップがかかるのです。全てが一からやり直しです。
でも納期が延長されるわけではありません。
今までやったこと全てと同じくらいの仕事量をもう一度、
今度は超短縮納期でこなさなければならない。
これがいわゆる火を噴いた状態です。


コンサル会社のお客様は基本的に社長です。
最近CIOと呼ばれる役員が増えてきましたが、
最低でもこの役員レベルがお客様です。

一般に社長と呼ばれる人たちは、まず相手を見ます。
先ほど一般のマナーが大事、という話がありましたが、
まず人間を見てダメだと思われたら、
コンサルの仕事はそこでおしまいです。
社長からどう見られるか、信用されるか、任されるか、
そこに全てがかかってくるのです。

逆に社長から信用されれば、
プロジェクトが火を噴く可能性はほとんどなくなるのです。
いろいろな困難に出会っても、
発注側と受注側で協力して困難を乗り越えていけるのです。


つまり受注側の一番初めの仕事は、プロジェクトマネージャーが
まず発注側の当事者、つまり社長から信用を得ることなのです。
これこそまさに「人的スキル」なのです。
人を見る目に長けている社長から第一印象で信用を得るために、
プロジェクトマネージャーは日々、
人的スキルを磨き続けなければならないのです。


伊本さんはITコンサル会社でまさに人的スキル「のみ」
習得してその後独立し現在に至ります。
もちろん今も大活躍で、相変わらず
プロジェクトの炎上の知らせが舞い込んできます。

30代早々に独立した伊本さんのところに
舞い込んで来るプロジェクトマネジメントの仕事は
これまた驚くべき形でやってくるのです。

つづく

2010年05月21日

カテゴリー: 就職

プロマネの闘い -伝説の火消し人登場・3-


あの伝説のプロジェクト火消し人、伊本さんが、
ついに大火事の現場に突入します。
ボスキャラとの対決、といったところでしょうか。


■待望の配属、しかしその後に・・・

伊本さんは入社6年目にして待望のLinux部隊の職場に
配置されることになりました。ここには優秀なエンジニアが多く、
伊本さんも充実した毎日を送っていたのです、が・・・


ある日上司から突然、
「来週から隣りのグループのリーダーになってくれ」
と言われます。

隣のグループは確か大きいプロジェクトを担当しているはず。
トラブルシューティングのサポートならともかく、
なぜ「リーダー」なのだろう。
リーダーということは大プロジェクトのプロマネということです。
重要なプロジェクトなのに火を噴いてしまっているのでしょうか。


実は隣のグループでは超大手サービスプロバイダの顧客情報が
数万人規模で失われてしまうという爆発級の大火事が発生し、
なんと現プロマネが「いなくなって」しまったのです。


担当プログラマが突然「消えてしまう」ことは、
実はこの業界ではよく起こることだそうです。
でもプロジェクトマネージャーが消えてしまうのは、
これは本当に「大」事件です。
伊本さんはそんな悲惨な現場に向かうことになってしまったのです。
しかも来週から・・・


■消防活動最前線

こんな大事件が起きると、会社内でも非常事態宣言、臨戦態勢となります。
まず自社内にプロジェクト対策室ができます。
ふだん会議室として使っている部屋が、24時間365日貸し切り状態になります。
365日と言うのは決して大げさではないことが後でわかります。


そしてどこからかベテランのエンジニアが出てきて、
大きな看板に「○○プロジェクト対策室」と筆で大書します。
なぜかとても手馴れていてしかも達筆です。
そう、警察署に殺人事件の捜査本部ができる時の
あのシーンの再現です。


24時間体制ですから、エンジニアたちは二交代制勤務となります。
そしてマネージャーの伊本さんは文字通り24時間勤務となりました。
昼夜関係なく連絡が入ってきます。


徹夜続きで体力的にきつくなることはもちろんですが、
それよりも何よりもいちばん辛いのは、
データを失って激怒しているお客様のところに行く時。
今回も一番初めの仕事は、文字通り火がついているお客様のところに
謝りに行くところから始まりました。
もちろんいろんな事を言われてしまいます。
自分のせいではない現状に対し徹底的に責められます。
でもそこでめげているわけには行かないのです。


実際にシステムの失われた顧客データを回復するのも
大変な仕事です。
前任のプロマネがいなくなってしまっているので、
とにかくあちこちにあるバックアップやログデータをかき集めて、
そこから気の遠くなるような手間をかけながら
少しずつデータを回復していくのです。


そんな辛い作業の中、伊本さんを支えてくれたのは、
愛すべきLinux部隊の仲間達でした。


■火消しに燃える人々

世の中には変わった人もいるもので、
伊本さんの職場には、なぜか火事が大好きな人たちもいたのです。
Linux部隊の優秀なエンジニアのうち数名は、
プロジェクトに火がついたという噂を聞きつけるやいなや、
いつも現場に駆けつけては火消しを手伝っていたのです。


今回も伊本さんがリーダーになることを知った彼らは
なぜか寝袋を持参して来て
「伊本さん、これ使ってください。私もお供します。」
と笑顔で近づいてきました。
(伊本さん「寝袋が必要って決め付けるな!(笑)」)


彼らのアシストは、物心両面で伊本さんの難事業を支えていました。
伊本さんも今までの何度かの火消しの経験から、
「火事はお祭りにしてしまうべき」と心得ていて、
ワッショイワッショイとメンバーをけしかけ、
イベント化してしまうことを心がけていました。
雰囲気は修学旅行か、文化祭前日に遅くまで学校に残っているような、
まさにお祭りのような状態になっていました。
Linux部隊の人たちは、もともとシステムの奥深いところまで
理解していたエンジニアの集団だったので、
技術的にもしっかりと伊本さんをサポートしていたのでした。


そんな状況の中、辛い作業が功を奏して、
しかし本当に1年間たっぷりかかって、
やっと火消しが終わりました。
今回の作業は、今までの伊本さんのプロジェクトの中でも
いちばん大変な火消し作業として記憶に残ることになりました。


そんな経験から、伊本さんはプロマネに必要な資質というものを
徐々に、しかしはっきりと確信するようになったのです。


つづく