Pocket

こんにちは、エンジニアのみーや(@miiya387)です。

今回は先日開催された「WP HACK DAY」の第4回でチームで取り組んだ内容のレポートをしようと思います。

チームメンバー全員で終始楽しく取り組んだので、当日の様子からエンジニアの雰囲気などが伝わったら嬉しいです。

また、解決する手段としてSlackワークフローやGoogle Apps Script(以下: GAS), Redmine APIなどを活用したので、Slackワークフローを用いて資料の作成や通知周りを一本化したいと思っている方の参考にもなればと思います。

目次

  1. WP HACK DAYについて
  2. 当日の様子
  3. 成果物
  4. まとめ

WP HACK DAYについて

WP HACK DAYは、ウエディングパークエンジニアチームの技術力向上と一体感醸成のための1dayハッカソンです。

今回実施した第4回目では業務課題を解決するプロダクト開発をテーマに3人1チームのチーム開発形式で実施しました!

取り上げた課題

私たちのチームが取り上げた課題は「障害対応時にやることが多く複雑」ということです。

システム障害が発生した際に、対応者が行うことがたくさんあること、さらに行う順番や方法が複雑化してきていることが課題でした。もう少し掘り下げると、障害対応の中でも対応に入る前に行う「一次報告」に時間と手間がかかってしまうことが課題でした。

障害対応は、復旧までの時間をいかに短くできるかが重要で、時間との勝負な作業である一方で復旧対応以外のタスクに手間がかかってしまうことに着目し、一次報告をする作業を簡潔にすることで本質的な復旧作業に割ける時間を増やそうと考えました。

設定したゴール

3人で話し合う中で、対応に慣れているメンバーもいれば、初めてのメンバーもいることや、エンジニアメンバー以外が一次報告を担当することもあることに気づきました。

課題や実際に使っていただく状況も考慮した上で、「誰でも簡単に障害対応の一次報告までを行える機能」を作ることに決めました。

取り組む内容が決まったところで、話し合った課題や要件、実装方法などをシートにまとめ、当日の役割分担やスケジュールを事前に決めておきました。

 

当日の様子

今回実装する機能のフロー図と当日のタイムスケジュールは以下のようになっています。

 

 

当日は事前に設計しておいた実装方法で実際に機能を作成するところから始まります。

3人のチームなので作業を分担して効率よく進めても良かったのですが、チームになったメンバーが普段一緒に開発をする機会の少ない組み合わせだったので、あえてすべての作業を3人一緒に行うことにしました。一緒に実装することで、ワイワイ話し合いながら楽しく実装すること、実装がうまく行った時の達成感などを共有したかったからです。

実際に一つの画面を3人で囲みながらの開発は、WP HACK DAYならではの贅沢なモブプロ時間になりました。

 

 

 

成果物

今回作成したものは以下の5つです。

  • Slackのワークフロー/Webhook URL(手動作成)
  • 障害対応した内容が一覧表示されるスプレッドシート(手動作成/GASを書くのはここです)
  • Googleドキュメント(GASで作成)
  • RedmineのISSUE(GAS上でRedmine APIを使って作成)
  • メール(GASでGmail送信)

Slackワークフローの作成

作成手順は公式に載っている通りです。

今回は一覧管理するスプレッドシートと連携してワークフロー申請時にスプレッドシートに入力した内容が出力されるようにしました。

スプレッドシート側にGASの設定をし、Slackのワークフローで入力された内容をもとに、以下の作成をします。

  • Googleドキュメント
  • RedmineのISSUE

作成された2つをもとにスプレッドシートの行を再度更新して情報を補足します。

最後に作成した2つのURLと一緒に、調査・対応開始の報告としてメールとSlackに通知が来るようにしました。Slackへの通知はincoming Webhookを利用して行いました。

 

 

これで、一次報告者はSlackの指定のチャネルからワークフローを出すだけで必要な資料や通知が済まされる状態になりました。今までは手作業ですべて行なっていたので時間にすると15分ほどかかっていた作業が2分ほどで完了する改善となりました。

今回作成したGASの中身は以下になります。対象のスプレッドシートに行が追加されたタイミング(変更)をトリガーに動作するように設定して使っています。

まとめ

今回は、先日開催された「WP HACK DAY」の第4回にチームで行った取り組みを紹介させていただきました。普段一緒に開発をする機会の少ないメンバーとの開発はとても楽しく、1日という短い時間であっても互いに学び合える時間となりました。

今回作成した機能は現段階ではプロトタイプレベルなので、これから本運用で日々の障害対応時に使えるように調整していこうと思います。

 

Pocket

Join Us !

ウエディングパークでは、一緒に働く仲間を募集しています!
ご興味ある方は、お気軽にお問合せください(カジュアル面談から可)

採用情報を見る