enPiT 一段落

12/14(Sat) にenPiTが一段落したのでそのことについて。
来年以降あるかわかんないですけど、参考とかになれば。

ちなみに作ったアプリケーションは以下
SharePla

そもそもenPiTって?

「分野、地域を超えた実践的情報教育恊働ネットワーク ~Education Network for Practical Information Technologies~」
だそうです。
詳細はココ

「複数大学や産業界で連携して情報系の4つの分野について実践的な情報教育をしましょう。」っていう感じでしょうか。

4つの分野ってのは、
・クラウドコンピューティング
・セキュリティ
・組み込み
・ビジネスアプリケーション
の4つです。
僕は、ビジネスアプリケーションに参加しました。

どんなことやったの?

前述した通り、僕が参加したのはビジネスアプリケーション分野です。
ここではアジャイル開発手法の一つであるscrumを利用してwebアプリケーション開発をやりました。
PBLだったので、情報工で言うところのプロジェクトデザインです。

チームメンバーは某暇な人と、某777の人と、某東の人です。

前期

前期に集中講義の形でアジャイルな開発手法について学びました。
毎週土曜日に2限分で7週間くらいあったかな、ってところです。

夏休み

そして夏休みには東京でお勉強です。
ここでは開発に必要な技術について学びます。
gitだったりvagrantだったり。
軽く事前勉強しておいた方が良いかな、と実感しました。
CUIに慣れ親しんでいるとか、gitとかちょっと使ったことあるってレベルでもだいぶ楽できるはずです。
講演とかもありました。

東京での最終日に、どんなwebアプリケーションを作るのか、という企画ミーティングです。
僕らのチームでは、大量の付箋と2~3枚のホワイトボードを目一杯使っていろいろ話し合ってました。
「とりあえず欲しいもの」とか「どんな機能があると嬉しいか」とかだったと思います。多分。
割と短い時間で決める必要があったので、考えて、議論して、と忙しかったような記憶が…。
時間に追われる感じです。

後期(開発開始)

沖縄に戻って、後期開始とともに開発スタート。
その後は、毎週土曜日に「今週どんな機能を実装したのか」というデモをします。
毎週2つ以上の機能を実装して実際に動くというところをデモです。
webアプリケーションなので、デモ自体は楽に行えました。
デモをした後は、次の週に実装する機能を発表して終了。

ただ、毎週2つ以上の機能というのが「ユーザにとって嬉しい機能」なので、「ユーザが入力した内容をDBに入れるようにしました。」はアウト。
「ユーザから見てDBに入ったかどうかなんて分からない」ということで…。
そのため、「○○という機能によってユーザが△△することができる」のように実装する機能には記述していました。
「常にユーザ視点」ということのは始めのうちは結構難しかったです。いや、今でも難しいです。

スゴくざっくりと書きましたが、流れとしては以上な感じです。

前半と後半

前半はダメダメでした。
scrumでは「プロダクトバックログ」というものを作成する必要があるのですが、それと勘違いして「スプリントバックログ」を作ってたり。
あと、バックログアイテムがユーザ視点じゃない、とか。
毎週多くの指摘を受けて、その度に「あーじゃない、こーじゃない」とチームミーティングをしてました。
開発の方も「そもそもrailsとは!?」ってとこからだったので、結構ツラい時期です。
初期の学習コストは結構でかく大変…。

後半は結構イケイケ(死語)でした。
毎週のチームミーティングが良かったのか、徐々に指摘は減っていき、初期の学習コストを結構かけていたので、後半は一つの機能の実装にかかる時間はだいぶ短くなってました。
6~8週目くらいから一気にできることの幅が広がったかと思います。

ちなみに

「ミーティングは毎週1時間、開発は毎週3時間で」っていう感じでした。
前半は残業してました。
あと、10週間で1,000commits超えました。やったー。

得たもの

いろんなことを学べました。
技術的な面はもちろんのことですが、複数人開発のための規約や作るものに対するイメージの共有方法など…。
個人的にはこれまでコードをあまり書かなかったため、777の人から教育的指導を受けれたのが良かったです。
複数人開発では、いろんなところに気を使う必要があるのがちょっと厄介ですが、矯正にはちょうどいいのかなと思います。

ちなみに開発の様子は下記githubのwiki、issuesからなんとなく伝わると思います。
SharePlaのgithub

まとめ

すごく簡単にまとめましたが、enPiTはこんな感じでした。
もっと詳しく聞きたい人は511来るとかTwitterとかメールとかで聞いて下さい。

あと、助言頂いた先輩や沖縄rbの方たち、他多くの方にお世話になりました。
ありがとうございました。

pull reqは常に受け付け中。
SharePlaのgithub

欲しい機能とかバグを見つけた人は報告お願いします。
下記アプリケーションの右上、「ご意見やコメントはこちら」からお願いします。
SharePla