こんにちは、おのぽんです。
先に謝っておきます、すみません!!
今回、どのように思考を張り巡らせたかというあたりがメインの内容となるので、書き上げてみたら挿絵が0でした笑
少々読みづらい点もあるかもしれませんが、お付き合いいただけると幸いです。
それでは、前回に引き続きPONNOシステムの裏話を書いていきたいと思います!
僕がなぜPONNOシステムを開発しようと決心したのかは下記のブログを読んでみてください。
さて、一言に開発するといっても、開発前にどんなものを作るのかの方向性を見定める必要があります。
システムの理想像
実現できるできないは一旦置いておき、「こんな機能あったら良さげ」みたいなゆるい感じで、まるでドラえもんの歌詞のように「あんなこといいな、できたらいいな」とシステムの理想系をぼんやり思い浮かべるのでした。
思い浮かべた結果がこちら。
- SPOTTOの人たちだけが情報を確認できる
- まぐちゃんが手早くリーグ戦の情報を登録できる
- 登録されたリーグ戦の情報は自動で周知される
- 参加締め切りの近いリーグ戦もいい感じに周知される
- チーム内の人が今までと同じ(LINEグループのノートにコメントを残し参加表明を行う)ように、手軽に利用できる
- 参加確定メンバーで自動的にリーグ表が生成される
- 試合開催中・結果は誰でも編集や閲覧をすることができる
- 自動でリーグ戦順位を更新してくれる(途中経過も見れる)
- リーグ戦終了後、自動でチームポイントを付与してくれる
- リーグ戦の情報は適宜みんなに通知される
ざっとこんな感じです。
次に、どのように実現すれば良いかを考えました。
目的の見直し
システムの理想像がなんとなく見えてきたところで、一度目的を見直します。
今回の目的は、SPOTTOを近未来化したいわけでもなく、みんなに自分のスキルをひけらかしたいわけでもありません。
まぐちゃんの睡眠時間を確保する
これが今回の開発の目的でした。
余談なのですが、こういったシステムの開発をするときによくありがちなのが、開発中にだんだんと当初の目的を見失ってしまい、システム開発を行うこと自体が目的となってしまうことです。
この状態になってしまうと、
- いつまでもダラダラと開発を続けてしまいなかなかリリースできなくなる
- 自分の満足のいくまで開発をし続けてしまう
- 開発中に閃いたアイディアが先行してしまい、当初の予定とは全く関係のない機能開発を優先してしまう
- 「この機能一体誰が使うの?」みたいな独りよがりなシステムができあがってしまう
みたいな状態となりかねず、せっかく作ったシステムが誰からも使われないという悲しい状況になりかねません。
そんな状況を回避するためにも、一度目的に立ち返り、今回はまぐちゃんの睡眠時間を確保するための施策を優先して遂行することを考えました。
優先する仕組み
今までまぐちゃんが1人でやってきてくれたことを列挙すると、
- 体育館を貸し切る手続きを行う
- 貸し切った時間で練習会を行うことをLINEグループを使ってみんなに周知
- 参加表明コメントを見て、参加者の人数をコントロール
- 練習会募集の締め切りが近くなれば再度周知
- 当日までにリーグ表を印刷
- リーグ表を利用し、練習会を行う。その結果をもとに、順位を出す
- 練習会終わりに、「本日のリーグ戦の結果」を読み上げる
- 練習会終了後、本日のリーグ戦の結果をもとに決定した順位に基づき、チームメンバーのみんなにチームポイントを付与していく
- 本日のリーグ戦によって変動したチーム内ポイントやチーム内順位の変動をPDFファイルにまとめ、「本日リーグ戦の結果」と共にみんなに周知
・・・シンプルにすごくないですか?
これだけのことをSPOTTOが立ち上がってから、いや立ち上がる前から1人でやってきてました。睡眠時間を削りながら。
この行動は本当に尊敬に値しますし、まぁまぐちゃん以外でここまで丁寧にこなせる人はなかなかいないだろうなぁと思ってます。
ここで列挙したものの中で、僕がせめてもの・・・というあたりで力になれそうなところは、
・リーグ戦表が勝手に出来上がり、印刷する手間を省く
・勝敗を見て順位を確定する時間を省く
・チームポイントをいい感じに付与する
でした。
まぐちゃんのやってきたことの列挙に当てはめると、
- ×体育館を貸し切る手続きを行う
- △貸し切った時間で練習会を行うことをLINEグループを使ってみんなに周知
- △参加表明コメントを見て、参加者の人数をコントロール
- ○練習会募集の締め切りが近くなれば再度周知
- ○当日までにリーグ表を印刷
- ○リーグ表を利用し、練習会を行う。その結果をもとに、順位を出す
- ○練習会終わりに、「本日のリーグ戦の結果」を読み上げる
- ○練習会終了後、本日のリーグ戦の結果をもとに決定した順位に基づき、チームメンバーのみんなにチームポイントを付与していく
- ○本日のリーグ戦によって変動したチーム内ポイントやチーム内順位の変動をPDFファイルにまとめ、「本日リーグ戦の結果」と共にみんなに周知
1の体育館の手続きに関しては、おそらく人の手が加わるところな気がするので、現時点でシステム化は厳しそうです。
2,3 のオレンジの項目については、全ての自動化は厳しいにせよ、今までの負担を7,8割程度減らすことは可能な部分なので、やや改善できるという意味を込めて△としています。
残りの項目に関しては、システム開発により全て「気づいたらやってくれている」状況を作れると考え、○としています。
全ての負担を取り除くことはできないにせよ、少なくとも練習会の負担はだいぶ減って、継続しやすい状況となるのではないでしょうか??
以上より、僕が決めた優先順位は、下記です。
1. リーグ戦
- 参加確定メンバーで自動的にリーグ表が生成される
- 試合開催中・結果は誰でも編集や閲覧をすることができる
- SPOTTOの人たちだけが情報を確認できる
- チーム内の人が今までと同じ(LINEグループのノートにコメントを残し参加表明を行う)ように、手軽に利用できる
- まぐちゃんが手早くリーグ戦の情報を登録できる
2. 順位計算やポイント付与
- 自動でリーグ戦順位を更新してくれる(途中経過も見れる)
- リーグ戦終了後、自動でチームポイントを付与してくれる
3. メンバーへの通知
- リーグ戦の情報は適宜みんなに通知される
- 登録されたリーグ戦の情報は自動で周知される
- 参加締め切りの近いリーグ戦もいい感じに周知される
開発順序も明確化できました!!
実現方法は?
作らないといけないものは決まったので、次はどのように実現していくかを考えます。
と言いつつも、
WEBシステム(PONNO)を作ってLINEbot(ぽのちゃん)で通知しよう
みたいな構想はすでにありました笑
今回は、
- まぐちゃんの睡眠時間を確保することなので、急を要した
- もし作ったとしてもみんなに受け入れてもらえないと、目的を達成できない & 僕の努力も水の泡になってしまうので、できるだけストレスを少なくしたい
みたいな考えが先行していたため、誰もが比較的馴染みのありそうな仕組みにしていく必要があります。
また、LINEbotによるメンバーへの通知は後回しでいいやとも考えていました。
Webシステムさえ作れてしまえば、URL貼ればチームへの周知は以前よりだいぶ楽になる + まぐちゃん以外の誰でも気づいた人が周知できるようになると考えたからです。
それに加え、LINEbotはあくまで補助的な立ち位置なので、Webシステムだけ完成すればみんなが使える状況になることがわかっていたため、リリースの速さを優先することとしました。
ということで、「目的、実現すべきこと、実現方法」の方向性が明確になったので、僕の「まぐちゃんの睡眠時間を確保する会」が本格始動していきます。
これでもう道に迷うことはないでしょう!!
次回のブログでは、どのように開発を進めていったのかを中心に書いていこうと思います。
最後までお読みくださりありがとうございました!