« 燃え上がれ!、ガンダム!! | トップページ | ダメUIを探せ! »

「忘年会を支える技術」

2015年の忘年会は、12/11の定例会の後に済ませました。

で、その時の幹事(グループ)が、忘年会の出し物として何を行うか???、を考えた結果、
と、と、とんでもないプロジェクトが秘密裏に動き出していたのです!!

少なくとも、私は全く知りませんでした。

下記は、その幹事会の中心となった速形さんの週報から抜粋したものです。
題名は、名著、「Webを支える技術」に摸して、「忘年会を支える技術」となっています!

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
「忘年会を支える技術」

今年の忘年会イベントは、「早押しクイズ」
 ・IT一発芸、もといイベント用に、幹事一同で「早押しクイズプラットフォーム」の開発にチャレンジ。
 ・結果、初っぱなにバグ発生(私実装箇所)、そしてチャレンジの代償を参加者に支払わせるという非常にアレな事態になりました。
   ご迷惑お掛けし申し訳なかったです。
 ・池田さんのアドリブとフォローのおかげで何とかイベントの体を取り繕うことはできた・・・と思います。

発端
 ・忘年会作戦会議にて、「回答の速さを競わせるクイズとかできたら面白そうだね」からの、
   前田さんの「早押しアプリみたいの作れたら面白そう」で余計なことを思い付く
 ・「ボタンを押したらsubmitで回答が飛ぶだけの超簡単Webアプリ、いけるじゃん」
 ・この時 11/25 、忘年会まで残り16日

要件を満たすサービスがなかった
 ・もちろん「車輪の再発明」はマヌケなので、似たようなサービスやアプリがないかググったが、意外とない
 ・スマホアプリに似たようなものはあるが、マルチプラットフォームで多人数参加可能なものはない
 ・早押しボタンを販売・レンタルしてる業者もあるくらいなので、一般的に需要はあるのでは?
 ・スマホ上のボタン操作であれば、普通の早押し・早答えゲームより、全員参加しやすい(手を挙げる等より参加ハードルが低い)はず

設計?
 ・画面
   モック
 ・インフラ・ミドルウェア
   さくらサーバーVPS 2週間無料コース
   XAMPP + git
 ・サーバーサイド
   Symfony2
 ・ソース管理
   Bitbucket
     あの Atlassian が運営する、gitホスティングサービスの1種
     最も有名?なGitHubとの違いは、無料でプライベートリポジトリが作成できる、ただし参加できるアカウント数に限りがあること
       (振り返ってみれば、プライベートリポジトリにする必要は全くなかったような...)
 ・以前に構築した社内課題(仮想プロジェクト)の丸パクり構成
   FW(ミドルウェア)選定は、前田さん(ちょうどSAStrutsの研修されてたので)と相談して「やっぱサクッと作るならPHP、XAMPPだ」と
   個人的にも、渡辺さんから新人研修の時、環境構築から丁寧に教わったSymfonyの方が安心

実装
 ・サーバー(インフラ)は前田さん
   ・ホスティングサービスの選定、さくらサーバーの2週間無料プランを探してきてくれたり
   ・「(ミドルウェアは)とりあえず全部最新で」の依頼のみで、サーバーOSインストールから各種接続経路の準備、
     Symfonyが動くところまでサクッと作ってくださった
   ・スコア計算の実装方針などで相談に乗ってくれたり、トンチンカンなサーバーへの要求を正しく実現してくれたり・・・
     本当に助かりました
 ・フロントデザイン佐藤さんBounen2015_image1
 Bounen2015_image2  
Bounen2015_image3・これが(一番左)
・こうなって(真ん中)
・「いい感じで!」の一言で依頼したところ
・こうなった(一番右)

   ・デザインは偉大
     ・正直、自分が作った2段階目の時点で「これはウケない、やっぱりやめよう」と言い出しかけてました
     ・後付仕様のデザイン追加や、忘年会の前々日のデザイン変更依頼に対応して頂いたりと、本当にありがとうございました
 ・バックアップと当日準備は池田さん
   ・この規模ならリモートで共同開発は、意思疎通のコストが掛かるだけで逆に危険ではとの助言
   ・「その代わり、バックアップと当日は俺に任せろ!」
   ・失敗した場合の代案についても考慮してくれたり、大変心強くありがたかったです
 ・サーバーアプリケーションは私
   ・町田ラボは「なるべく定時ベース」がラボ是なので、仕事後やれば余裕余裕
   ・しかし「さぁやるぞ」と着手した週に限って残業祭りである
   ・Symfonyを思い通り動かせるようになるまで1日以上掛かかったり、新旧混在の日本語記事に惑わされたり...
   ・提案しておきながら自分のせいで皆の成果物が無に帰るかと思うと、さすがに少しあせった

当日
 ・予定外、予想外は憑き物なのか・・・練習問題後のリセット機能が上手く動作しなかったのか、盛大にエラー
 ・特定条件下でああなるのは既知だったが、優先度を下げた末、修正しなかった
   ・「そもそも起き得ない」と高をくくっていた
   ・ユーザに操作させるコストを甘く見ていた
   ・Cookie削除が嫌がられることを意識していなかった

副産物
 ・デプロイの自動化
   ・デプロイ作業のミスで、以前の某案件の本番サービスを約10分間停止させた実績を持つ身としては、
     ・何がなんでも「更新ファイル一覧作って、サーバにsftpでファイル送りつけて、diff確認して、cpして・・・」
       みたいなことを手動ではしたくなかった
   ・ので、デプロイ作業を全てシェルスクリプトで処理できるようにした
     ・サーバーのsrcを、FW含めて丸ごとgit管理
     ・このスクリプトを実行すると、httpd停止、git reset、git pull(パス入力も自動化、セキュリティ的にはNG)、
       キャッシュ削除、httpd起動、で晴れてデプロイ完了
   ・我ながらネットの海に投棄するにはもったいないくらい手軽で便利だったので残しておく(社員専用サイトに)
   ・でも次にやるなら、きちんとCIツールを覚えて使いたい

個人的振り返り
 ・Keep
   ・楽しかった
   ・きっと来年もネタ切れなので、どなたかアイディアある方、ぜひ忘年会イベント開発を。(0.5人力分(速形)手伝います)
     ・約20名のテスタープレイヤーを強制的に確保するチャンス!
 ・Problem
   ・バグ
   ・店予約に出遅れ、予約に手間取った割りに普通の店しか確保できなかった
   ・忘年会当日、私が安請け合いしたタスクが間に合わず、業務時間0.5hを準備に使った
 ・Try
   ・準備開始時期を早めて、スケジュールにゆとりを持つ
   ・物理的な準備(景品購入、選択画用紙の準備etc)は早めに終える

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

幹事会の皆さん、お疲れ様でした!

今回の素晴らしい功績は、恐らくは永遠に語り継がれていくことに間違いは無いよ!!

いや、本当にご苦労様でした。
「とにかく、思い付いたら、即実行っ!」ってのは素晴らしいです!

実務じゃ各種制約とかステークホルダ達の意見集約・調整とか面倒が多くて、なかなか難しいですからね。


★クリック1つでブログランキングにご協力戴けます! m(_ _)m

|

« 燃え上がれ!、ガンダム!! | トップページ | ダメUIを探せ! »

雑記」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 「忘年会を支える技術」:

« 燃え上がれ!、ガンダム!! | トップページ | ダメUIを探せ! »