【BOT開発秘話】釣りBOT開発しました!

はじめまして、ゆんや〜と申します!

人材ソリューション事業部に所属。現場ではPythonやBIツールを使用してデータ分析等をしています。

今回、「社内用SlackBot開発プロジェクト」の企画に参加させていただきました。

bot開発も無事リリースを迎え、こうして記事を書くことになりました。

(まだたくさんのアップデートが残っていますが・・・)

参加したきっかけ

きっかけは、勉強会のSlackチャンネルにある書き込みを見かけたからです。

「チームを作ってbotを作ろう」のメンバー募集でした。

募集当時、個人的にLINEBOTを作成しようとしていたので、

これは丁度良い!と思い参加ボタンをポチりました。

開発の開始

最初の打ち合わせで企画の説明を聞き、次の打ち合わせでは開発内容とメンバー決めを行いました。

僕が担当したのは「釣り」。理由は釣りが好きだったから。

その後チームの相方misawaさんと打ち合わせを行い、タスクの整理と作業の分担しました。

開発経験があまりない僕を気遣ってリードしていただいたので、すごく助かりました。

(bot完成まで物凄く頼りました。はい。)

開発(仕様書作成)

今回の開発では仕様書作成は特に求められていませんでしたが、まずは仕様書の作成を行いました。

理由は、試しに書いてみたくなったから。

仕様書の内容は

  • タスクの洗い出し
  • 設計図
  • 魚一覧
  • データベースデザイン 等・・・
  •  
  • 途中手直しが何回かありましたが、これもアジャイル開発にはあるあるらしい。

    正直最後の方はあまり使いませんでしたが、初学者の僕にとっては良い経験となりました!

    個人的に魚一覧を作るのが一番楽しかった。

    釣り好きの僕としてはかなり楽しかった。たぶん一番熱が出てた気がします。

    特に一言の大喜利は関西の血が燃えていたと思う。

    開発(BOT作成)

    仕様書作成後、bot開発に着手し始めました。

    とりあえず最低限の機能を実装することに。

    作業分担はこちら!

    • 釣り(misawaさん)
    • 魚一覧(僕)
    • ランキング(僕)
    • DB作成(相方)
    • herokuの設定とトリガー(misawaさん)

      僕は釣果一覧(釣った魚を確認する)とランキング表示を行いました。

      使用言語はPython。

      少しPythonをかじってたのでbot作成はそこまで難しくなかったです。

      ただ、開発経験が浅いのため

      • githubの連携設定や使い方
      • SlackBotの設定
      • herokuを使用したデプロイ
      • その他細々した知識

      など初めて使うものがたくさんあり、戸惑うこともしばしばありました。

      実際、ソース書いてる時間よりも設定にかかった時間の方が多かった気がします・・・

      (この辺はmisawaさんにおんぶに抱っこだった気がしますね・・・笑)

      使用経験のないツールを使用できたので良い勉強になりました!!

      釣りbotVer.1リリース

      リリース時はちゃんと動くか不安でしたが、ちゃんと動きました。

      リリース後何人か使用してくれていたので嬉しかったですね。

      僕も頑なに一位をゆずらない精神で釣りに挑みました。

      リリース早々に改善点や要望がたくさんきたので、今後のアップデート頑張らないといけないな・・・

      ゆっくり気長にやっていきたいと思います。

      リリース後の振り返り

      リリース後に開発した感想などを振り返りました。

      この後も続くアップデートにむけて改善点を探すためだそうです。

      釣りチームの課題は主に「コミュニケーション」だったと二人で結論づけました。

      理由としては、僕が困ったときあまり頼らなかった。(人見知り発動)

      →結果、余裕を持ってデプロイできませんでした!!すいません!!笑

      (あれ、課題あるの僕だけじゃないですか??)

      振り返り後の変化

      上記の振り返りを経て、今後のアップデートに向けて改善点を考えました。

      それは「ペアプロをしてみる」です。

      ペアプロとは、ドライバとナビゲータに別れ二人で開発を進める開発手法です。

      ドライバ → 僕(開発する人)
      ナビゲータ → misawaさん(アドバイスする人)

      これで課題だった「コミュニケーション」解決です!!

      今回の開発を個人的に振り返る

      今回初めて主体的に仕様決定からリリースまでを行いました。

      仕事の時には気づけなかったこと。経験できないこと。

      開発一連の流れを経験できたことはとても貴重な経験だと思います。

      この経験を今後の仕事に生かしていければ良いですね。