勉強会

課題解決能力を身に着けよう

須原康敦

須原康敦

2020/08/31

こんにちは 最近エンジニアよりPLとしての業務が増えてきた須原です

ここ最近、あるスキルの重要性を改めて感じました。
それは、「課題解決能力」です。
エンジニア・PLどちらにも重要であり、汎用性の高いスキルです。そこで今回は、下記のような題材をもとに、課題に対するロジカルシンキングのトレーニングをしていこうと思います。

セールなどの影響でアクセスが増えてしまい、お客様がサイトへアクセスできない状態が発生する。

ゴール:お客様がセール時にストレスなくサイトへアクセスができること

目的:アクセスできる人数を増やす

これは、実際の案件で課題に直面したわけではないので、ある程度ストーリーをつくりながら行っていきたいと思います。

皆さんも一緒に考えてみてくださいね!

課題の細分化

まずは課題の細分化を行い、より的確に課題解決へのアプローチを行っていこうと思います。

課題:セール時にサイトが重たい

What(何が重いの):Webサーバ

When(いつ):セール時

Why(なぜ重いのか):ボタンを連打してる

Where(どこで):カート画面

How(どうしてボタンを連打するの):早く商品を買いたいから

課題だけを提示されても、何をどうしたら良いのか、なかなか解決の糸口が見つからないですよね。ここで、『5W1H』を活用し、課題の切り分け・細分化を行うことで、どこがボトルネックとなっているのかはっきりとしてきます。

上長に報告する際にも5W1Hは積極的に活用していきましょう。コミュニケーションコストを減らすことができると思います。

改善案

それでは、細分化した課題から改善案をいくつか出していこうと思います。

単純にパフォーマンス改善をするだけであれば、下記のようなインフラ部分の解決策が見つかります。

  • サーバーの増設
  • 大量のリクエストをさばけるサーバー構造

ただ、インフラに頼るのは本当にアプリケーションで対応することが厳しい時だと私は考えます。インフラ依頼は最後の砦。そのため今回は上記に関しては考えないとします。

アプリケーションで対応する場合

  • サイトのパフォーマンス改善
  • 新入場制限機能
  • セール用の静的ページの作成

サイトのパフォーマンス改善は、主に実行施策としてクエリチューニングなどがあります。やればやるだけ負荷が減るので、メインの課題解決策とはいかなくても同時並行で対応していきたいです。

入場制限機能については、「どこにどのように」制限をかけ管理するかが非常に難しいと思います。目的をしっかりと明確にしていかないと意味のない開発になってしまうので、注意が必要です。目的意識を高く持ちましょう!

セール用の静的ページの作成は、セール商品一覧を静的ページにすることです。

どこまで静的なページにするかは開発期間と相談することになると思いますが、商品詳細までが現実的だと思います。その場合、今回の課題へのダイレクトな解決方法とは言えませんね。

今回の題材の改善案として新入場制限機能を採用しようと思います。

新入場制限機能の実行案を考えていきます

実行案

今回ボトルネックとなるのがカート画面の購入ボタンなので、カート画面までは入場制限はかけずに、カート画面以降で制限をかける方向で実行案を考えていこうと思います。

  1. 購入ボタンをクリック時にチケットを発行して閾値以上の場合は静的な待機画面に遷移させる
  2. 購入ボタンをクリック時にポップアップを表示し連打を防ぐ

この案1もしくは案2を実行・実装することで、ゴールと目的を達成することができると思います。

ゴール:セール時にお客様がサイトにストレスなくアクセスができる

目的:セール時にサイトへアクセスできる人が多くなることです

まとめ

いかがでしたか?

今回の題材に対して自分で考えた実行案はゴール・目的を達成していますか?

達成していないのであれば、改善案の提示から行ってみてください。

今回私がこのトレーニングを行っていて、気づいたこと感じたことは「課題の細分化」がとても難しいということです。

今回はストーリーを自分で作っているのでスムーズではありますが、実際はしっかりと調査したり、ユーザーのトレースをするなど、ボトルネックとなっている箇所を洗いだす必要があると思います。

なぜなら、真にボトルネックとなっている箇所を理解せずに課題の細分化を行っても、ゴール・目的の達成はできないからです。

会議を行う際の話し合う題材についても細分化して、会議のゴール・目的を明確にした状態で臨みましょう。

きっと課題解決能力の向上につながると思います。