55
管理画面 前田 雅央 @brtriver 気づける 営業・運用を支える PHPカンファレンス 2015 株式会社 Zucks https://joind.in/15322

営業・運用を支える "気付ける" 管理画面

Embed Size (px)

Citation preview

Page 1: 営業・運用を支える "気付ける" 管理画面

管理画面!

前田 雅央 @brtriver

気づける営業・運用を支えるPHPカンファレンス 2015

株式会社 Zucks

https://joind.in/15322

Page 2: 営業・運用を支える "気付ける" 管理画面

@brtriver

Page 3: 営業・運用を支える "気付ける" 管理画面
Page 4: 営業・運用を支える "気付ける" 管理画面

アドネットワークとは?

アドネットワーク

広告主

広告主

広告主

① 広告入稿

④ 収益レポート

③ 配信調整

営業・運用

② 広告配信

Page 5: 営業・運用を支える "気付ける" 管理画面

アドネットワーク

広告主

広告主

広告主

① 広告入稿② 広告配信

③ 配信調整

営業・運用

管理画面

④ 収益レポート

アドネットワークとは?

Page 6: 営業・運用を支える "気付ける" 管理画面

管理画面開発したことありますか?

Page 7: 営業・運用を支える "気付ける" 管理画面

• コミュニケーションの工夫

• 運 用を楽にする ための工夫

• 機能開発のデプロイの工夫

• データの変化に気づくための工夫

“気づける” 管理画面のためにやっている工夫

Page 8: 営業・運用を支える "気付ける" 管理画面

管理画面とは

Page 9: 営業・運用を支える "気付ける" 管理画面

管理画面の主な機能

• ユーザー、権限管理

• データのCRUD処理

• レポーティング機能、データ出力 (CSV)

Page 10: 営業・運用を支える "気付ける" 管理画面

管理画面あるある

• 使いづらい画面でも利用者が使いこなしてしまう

• 何度か作り直したくなる病が発病する。が諦める

• 使われているか分からない機能、画面がある長期運用されてくると…

• 裏機能がいつのまにかできてる

Page 11: 営業・運用を支える "気付ける" 管理画面

管理画面の種類

利用ユーザーが限定的な管理画面

誰でもアカウントを作成可能な開放された管理画面

社内システムの管理画面

PHPMyAdmin会社ブログの管理画面

Google Analytics の管理画面<何かしらのサービス> の管理画面

Page 12: 営業・運用を支える "気付ける" 管理画面

利用ユーザーが限定的な管理画面

誰でもアカウントを作成可能な開放された管理画面Zucks AdNetwork アプリ開発者用 管理画面

Zucks AdNetwork 運用チーム用 管理画面

管理画面の種類

Page 13: 営業・運用を支える "気付ける" 管理画面

“限定” と ”開放” の違い

限定 開放

同時アクセス数 少ない 多い

利 用 者 の 声 聞きやすい 聞こえづらい

メンテナンスのための停止

気楽に 丁寧に

大胆な改修、機能停止

Page 14: 営業・運用を支える "気付ける" 管理画面

今日のメインの話はココ

利用ユーザーが限定的な管理画面

誰でもアカウントを作成可能なZucks AdNetwork

Zucks AdNetwork 運用チーム用 管理画面

管理画面の種類

Page 15: 営業・運用を支える "気付ける" 管理画面

コミュニケーションの工夫“何故必要なのですか? ” を 聞 く

Page 16: 営業・運用を支える "気付ける" 管理画面

一緒にサービスを作る必要

コミュニケーション力りょく

現場の声を聞きながら

観 察 力りょく

Page 17: 営業・運用を支える "気付ける" 管理画面

期間、案件名、配信状態、アプリ名 で絞り込んで単価調整したいんだよね

なるほど。じゃあ、検索フォーム作りましょう

現場

エンジニア

コミュニケーション力、観察力が足らないと…

Page 18: 営業・運用を支える "気付ける" 管理画面

期間

案件名

配信状態

メディア名

2015-09-01 ~ 2015-09-01

配信中 停止中

検 索

and or

メディア名 条件追加

OS種別 iOS Android

広告種別 インライン インタースティシャル

リッチな検索フォームつくったど!

Page 19: 営業・運用を支える "気付ける" 管理画面

ああ。うん。(毎回条件指定するの大変なんだよね)

ところで検索フォームって大活躍してますか?

後日…

心の声はあまりエンジニアには聞こえてこない

コミュニケーション力、観察力が足らないと…

Page 20: 営業・運用を支える "気付ける" 管理画面

期間、案件名、配信状態、アプリ名で絞り込みしたい

それらの項目の中でいつも最初に絞り込むのは何ですか?

あー。期間を最初に絞り込んでから他の軸を見てるね

じゃあ、期間を最初に指定できるようにしましょう

“なぜ必要なのか” を質問する

Page 21: 営業・運用を支える "気付ける" 管理画面

期間を指定 ( 固 定 )

一覧から案件名、OS種別 etc… でフィルタリング

単価画面に遷移し調整作業

実際の業務フローが見えてきた

繰り返し

“なぜ必要なのか” を質問する

Page 22: 営業・運用を支える "気付ける" 管理画面

管理画面全体で共通の期間設定

Google Analytics も…

Page 23: 営業・運用を支える "気付ける" 管理画面

シンプルなフィルタがあれば十分だった

文字列で全体検索候補からフィルタ

Page 24: 営業・運用を支える "気付ける" 管理画面

ページャは大体シンプルでOK

前へ 次へ1 2 3 4 5 6 7

○ページ目を直接指定することはほぼない必要なのは、最初、前へ、次へ、最後

最初 最後

Page 25: 営業・運用を支える "気付ける" 管理画面

フォームは最低限実装に。何も困ってない

それぞれの項目を何故必要なのかを確認

結 果

Page 26: 営業・運用を支える "気付ける" 管理画面

運用を楽にする工夫

嫌 な 兆 候 を 事 前 に 把 握更新履歴をシンプルに表示共 有 で き る U R L

Page 27: 営業・運用を支える "気付ける" 管理画面

共有できるURLその1

URLを伝えれば同じ画面を確認できる仕組み

Page 28: 営業・運用を支える "気付ける" 管理画面

共有できるURLがないと…

営業 エンジニア

どのページですか?

../user/articles/list

どのお客さんですか…?

お客さんから表示されるはずのデータが見えないという問い合わせがあるんだけど…

Page 29: 営業・運用を支える "気付ける" 管理画面

URLに必要な情報が不足BAD

ログイン後のURLがずっと同じ

無駄にPOSTで画面遷移

何故URLを共有できないのか

ajaxで裏で画面遷移せずがんばりすぎ

確認しようにもパラメータが不明

Page 30: 営業・運用を支える "気付ける" 管理画面

共有できるURLがあると

営業 エンジニア

URLください

../user/brtriver/articles/list

確認します

お客さんから表示されるはずのデータが見えないという問い合わせがあるんだけど…

Page 31: 営業・運用を支える "気付ける" 管理画面

URLを貰えば同じ画面がみれるBetter

アクセスログからも調査しやすい

共有できるURLがあると

Page 32: 営業・運用を支える "気付ける" 管理画面

更新履歴をシンプルに表示その2

Page 33: 営業・運用を支える "気付ける" 管理画面

更新履歴を見せていないと…

営業 エンジニア

え?いつのまにか?

変更していないはず

調べてみますね…

案件の単価がいつのまにか30円になってるんだけど

※ 営業さん悪くないです。人間どういった操作したかなんて覚えてません。ごく自然です。

Page 34: 営業・運用を支える "気付ける" 管理画面

人間は何をしたか忘れるもの

BAD

調査していてもログから探すの面倒

更新履歴を見せていないと…

Page 35: 営業・運用を支える "気付ける" 管理画面

Entity を配列に変換したものをひたすら保存

9/27

name: test price: 10

9/28

name: test2 price: 10

9/29

name: test2 price: 30

9/27,28 のdiffname: test => test2

9/28,29 のdiffprice: 10 => 30

Page 36: 営業・運用を支える "気付ける" 管理画面

更新履歴 2015-09-29 13:40:12 - 案件の更新 ユーザID: 1 ! price 更新前: 10 更新後: 30 !2015-09-28 15:29:44 - 案件の更新 ユーザID: 2 2015-09-27 15:00:55 - 案件の新規登録 ユーザID: 1

シンプルにdiffを更新履歴として見せるだけ

1つ前とのdiff から表示

ユーザー名じゃなくてもなんとなく分かるよね

“単価” って言わなくてもなんとなく分かるよね

Page 37: 営業・運用を支える "気付ける" 管理画面

更新履歴を見せる

変化を記録するのではなく状態を記録Better

複数個前の状態とも比較が楽array_diff 便利

Page 38: 営業・運用を支える "気付ける" 管理画面

嫌な兆候を事前に把握その3

Page 39: 営業・運用を支える "気付ける" 管理画面

タイムアウトで500エラーメモリ不足で500エラー

問題が起きてから気づくのは当たり前

Page 40: 営業・運用を支える "気付ける" 管理画面

問題が起きてから気づくのは当たり前

Symfonyだと ルーティング定義名毎の Transactionが見えます

Page 41: 営業・運用を支える "気付ける" 管理画面

問題が起きる前に気づくための工夫

レスポンスに40秒以上掛かったらwarningメモリ上限の90%超えたらwarning

閾値を超えたらwarningのログを残す

http://d.hatena.ne.jp/brtRiver/20131206/1386345547

Page 42: 営業・運用を支える "気付ける" 管理画面

warning の通知は Slackに

Slack は通知に気づきやすい

Page 43: 営業・運用を支える "気付ける" 管理画面

monolog 便利

fingers_crossed で詳細なログを残す

Page 44: 営業・運用を支える "気付ける" 管理画面

エンジニアからアクション(コミュニケーション)を

Aさんエンジニア

Aさん! レポートの取得期間が長すぎて時間が掛かり過ぎてるようなので、期間を短くして試してもらえますか?

お。そうなんだ。ありがとう

warning 発生

Page 45: 営業・運用を支える "気付ける" 管理画面

嫌な兆候を把握することで

事前に気づくことで大きな障害を起こさないBetter

エンジニアから営業にコミュニケーション

Page 46: 営業・運用を支える "気付ける" 管理画面

デプロイ時の工夫こっそりリリース

Page 47: 営業・運用を支える "気付ける" 管理画面

導線を用意せずページを増やして確認

一覧

現レポート画面

リンク

/report新レポート画面

deploy

/report2

本番環境のデータで 新レポート画面 と 現レポート画面を比較

Page 48: 営業・運用を支える "気付ける" 管理画面

別URLでリリースすることで

本番データで動作確認比較ができるBetter

既存の画面のコードに修正が不要 (安全)

Page 49: 営業・運用を支える "気付ける" 管理画面

データの変化に気づく工夫slack の活用

Page 50: 営業・運用を支える "気付ける" 管理画面

Slack だとアクションを起こしやすい

管理画面

案件停止

通知 「何か聞いてる?」

「確認します」

Page 51: 営業・運用を支える "気付ける" 管理画面

monolog に slack 用の Handler あります

Page 52: 営業・運用を支える "気付ける" 管理画面

メール と Slack を併用する

Slack の スマホのpush通知は気づきやすいBetter

Slack はメールに返信するよりコストが低い

Slack の通知はAPIが失敗することあるので注意

Page 53: 営業・運用を支える "気付ける" 管理画面

• コミュニケーションの工夫

• 運 用を楽にする ための工夫

• 機能開発のデプロイの工夫

• データの変化に気づくための工夫

“気づける” 管理画面のためにやっている工夫

Page 54: 営業・運用を支える "気付ける" 管理画面

気づける管理画面はサービスの質を向上させます

Page 55: 営業・運用を支える "気付ける" 管理画面

気づける管理画面を開発しましょう!

https://joind.in/15322

もっと濃い話は声掛けてください