ソフトウェアテクノロジー部の一員として学生チームでのソフトウェア開発プロジェクトを進めてきた。高専本科時代から趣味やバイトでの開発はやってきたが、いずれもメンターとなる上司の元での開発や、ひとり社内SE的な立場でのぼっち開発を経験したのみだった。記事には一切関係ない一方、今回は開発もリーダーシップも同時にこなしていくようなチーム開発のプロジェクトであり、いろいろと学べる事があった。来年度以降の自分や仲間たち、インターネットのどこかの誰かさんのための引き継ぎ資料として、そしてなによりも自分の活動のまとめとして、ここに記録を残しておこうと思う。この記事は「僕らはこうしたよ」ということを記録するために書いたものである。それぞれのチームや環境に合うもっと良いやり方があるはずなので、ひとつの参考程度にしておいてほしい。ソフトウェアテクノロジー部は、高専プロコンやETロボコンに向けた活動を行う部活だ。ETロボコン班と大きく3つの部門に分かれている。僕はこのうち高専プロコン自由・課題班の責任者をさせてもらっていた。内容は、雑に言うと「ものづくりプレゼンコンテスト」だ。自由部門は完全自由なテーマで作品を作って良いし、課題部門は隔年で変わるテーマに沿った作品を作る。2018〜19年度のテーマは、「ICTを活用した地域活性化」だ。SANPO」というモバイルアプリケーションだ。コンセプトは、「直感で絵文字を選ぶとお出かけ先を提案してくれるアプリケーション」だった。SANPOアイコンこのアプリは、高専プロコンに向けて企画し、予選落ちしたのでU-22プロコンに向けて開発し、それも予選落ちしたので北海道学生アプリコンテストに向けて運用とプレゼンを行った結果受賞、という流れを辿った。一つのアプリを3つのコンテストに向けて企画したり開発したりプレゼンしたりしている*1ため話が複雑になっている気もする。1年間の流れこのアプリが辿った1年間の流れはこんな感じだ。専攻科生2名・本科生7名の9名が在籍していた。A、Bの2チームに分けた。チーム分けの際は、技術力・アイデア力(?)が均等になるようにとか、夜や放課後に作業しやすいように寮生と通生で分けるとか、いろいろ考慮した気がするけど忘れてしまった。AとB、どちらが自由でどちらが課題というのは先に決めてしまわずに、その時出たアイデア次第でそれに合った部門で応募することにした。アイデア出しアイデア出しは合同で行った。アイデア出しの方法としてブレインストーミングとKJ法を採用した。ふせんにアイデアを書いていき、議論を膨らませていく。意見を出し切ったと思ったら、これまでに出た意見をグループ分けし、グループに名前をつけていく。あぐり王国北海道に10年以上住んでおきながら食に関する感想が「やき弁うまい」って......。Docsに思ったことをひたすらみんなで書いていくという方法も試してみた。ふせんでやるよりこっちの方が盛り上がったかもしれない。アイデア出しの際は、ゴミみたいなアイデアを楽しみながら列挙していって、話をどんどん膨らませていって光るものを見つけるということに気をつけた。実際はアイデアが出ないと場の雰囲気が悪くなり、みんなの口数が少なくなる。あの雰囲気はなかなかつらいものだ。−普通の家電にIoTを足し算するシステム−」を提出することにした。作るものが決まったあとは、各チームに分かれての活動となった。Aでの記録を書いていく。作るものが決まったので、その詳細を決める企画の作業へと進んだ。どんなものを作るかはアイデア出しの段階に決めていたが、それがいったいどんなものなのか、メンバー間で異なるイメージををすり合わせる意味も含んでいる。企画作業を行う際は、YAPC界隈で有名なゆーすけべーさんという方が書いた『Webサービスのつくり方――「新しい」を生み出すための33のエッセイ』という本を参考にした。見るこの本の"実装までに作る「企画」のすべて"という項目や、著者のブログ記事「実装までにする7つの企画作業」にも書いてあるとおり、哲学→アイデア→テーマ→コンセプト→名前→デザイン→内部設計という順番で企画を行った。デザインとか)」という記事を参考にした。アイデアの詳細を詰めていったあとは、高専プロコンの予選資料作りへと進んでいった。予選資料は、まぁよくあるパワポ企画書といえばわかりやすいだろうか。壇上に立ってプレゼンするタイプのスライドではなく、会議室で配布して読ませる感じのやつ。Docsを使ってアウトラインとざっくりの内容を書いていった。スライドの作成には、Keynoteの共同制作機能を利用した。Docsにある下書きをとりあえずスライドに配置し、その後デザインの調整を行った。このスライドをPDFとして出力し、予選資料の応募フォームから提出した。話していたので、このまま開発を開始した。メンバーは5人いたのだが、高専プロコン予選落ちの段階で他の3人が夏休みの海外研修や他の部活に力を入れたいとの理由で抜けてしまったため、僕と後輩のことみんとの2人での開発となった。サーバサイドはRails、クライアントサイドはSwiftで書いた。インフラ周りはHerokuに頼ることにした。Requestを出すという作業を分担してこなしていく感じであった。毎日リモートで作業しつつ、週2で状況のすり合わせ会をオフラインで行った。Request開発期間は、7月頭から9月頭までの2ヶ月位だろうか。途中で夏休みを挟んで進捗をブーストすることが出来た一方で、間に挟んだテスト期間での進捗停止がつらかった部分もあった。その他、週次のKPT振り返り会とか日報(今日の作業、困ったこと、次回の予定を書く)とかやってたけどあんまりうまくまわらなかった気がする。アプリが完成したので応募資料を書いて応募した。U-22プロコンでは完成品とソースコードの他に動作の動画を求められたので、iMovieで適当に動画を作って提出した。参考までに、提出動画を貼っておく。見た感じゲーム系が多かったので、おもしろアプリ系はお呼びじゃなかったのかなぁという感じがある。その一方で、ユーティリティ系のアプリが経済産業大臣賞を受賞しているので、単純にコンセプトやデザインが優れていなかったのかもなぁという気もしている。SANPOの供養先として選ばれたのが、昨年も出場した北海道学生アプリコンテストだ。SANPOだけだった。当日の様子などはだいたい以下のブログに書いたので、そちらを読んでほしい。blog.m6a.jpスライドの作り方は、高専プロコンの予選資料を作ったときと大体同じ。Docsにまとめ、文章を真っ白Keynoteに貼っていき、デザインを当てつつ文章を整えていく。Deckに置いてある。SANPOの開発は終了した。すべきだったとかはいろいろあるけれど、とりあえず僕らはこんな感じでやりました、という記録だ。来年度以降僕や一緒に活動した仲間たち、インターネットのどこかの誰かがこういう活動をする時の参考になれば良いなと思っている。成果を学会発表したら受賞しちゃった話で、2枚目は先日出たアプリコンテストで賞取った話です。2019改めて、一緒に活動してくれた皆さんありがとうございました。*1:各コンテストの応募要件(未発表であること、他のコンテストで受賞していないこと等)は満たしている。げつまつ本当に濃厚な月末だった。今年の1月に、こんな記事を書いていた。週間)北海道出身のプログラマ。(4)スポンサードリンクはてなブログをはじめよう!mktakuyaxさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。