TORANA TECH BLOG

株式会社トラーナのエンジニアチームの開発ブログ

開発要望をユーザーストーリー形式にした話

はじめまして、トラーナで業務委託エンジニアとして働いている @madai0517 です。

代表のしだのりさん(@sdx_)とは約20年前のバイト仲間で今回ご縁があって一緒に仕事をすることになりました。

※因みに当時はしだのりさんにハンバーガーの作り方を教えてもらったり昇給試験の監督をしてもらってました。(マ◯ドナルドではバイトがバイトの昇給試験を行いますw)

今日は社内からの開発要望をユーザーストーリー形式に統一した話を紹介させて頂きます。

ユーザーストーリーとは何か

まず最初にユーザーストーリー形式とは何なのか、簡単にご紹介します。

ユーザーストーリーとは、利用者(ユーザー)の視点から開発する機能を自然言語(ストーリー)によって説明したものです。

それによって、「誰のために・何のために・どのような価値があるのか」を明確にして共通認識を持つことを期待しています。

トラーナで使っている形式の紹介

それでは早速トラーナで利用しているユーザーストーリーのテンプレートをご紹介します。

## What: 何をしたいか
- WhoがActionできるようにする

## Why: 何故行うのか
- Problemという課題が解決でき、Valueが見込めるため

## How: どのように実現するのか(具体的な方法がわかった段階で記述)
- 

## その他補足事項
-
  • Whoに書く内容
    • 誰のための改修なのか、恩恵を受ける人を書く
      • 利用者の場合はペルソナや状態などを
      • 社内の場合は担当業務や役割などを
  • Actionに書く内容
    • Whoに書いた人が取る操作や行動
  • Problemに書く内容
    • 今起きている困っていること
    • その機能が無いことで生じている問題
  • Valueに書く内容
    • 新たにできるようになること、事業価値
    • 回避できるようになるリスク
    • 追加する/無くすことで得られるメリット
  • Howに書く内容
    • WhatとWhyに書いた内容を踏まえ、解決するための手段を書く
    • 記述時点では明確に決まっていない場合は、エンジニアが調査・検討の上で記述する

記入例

## What: 何をしたいか
- 新規申し込みを行う利用者が間違ったメールアドレスを入力できないようにする。

## Why: 何故行うのか
- 間違ったメールアドレスによりToysubからのメールが届かないという問題が解決でき、利用者に必要なメールが届くことが見込めるため。

## How: どのように実現するのか(具体的な方法がわかった段階で記述)
- 入力されたメールアドレスの書式をチェックし警告を促すJavascriptを実装する

何故ユーザーストーリー形式を使っているのか

HowよりもWhyに注力したい

通常何かを開発する際は、企画者した人と開発者とで具体的に何の機能をどのように実装するのかを検討して共通認識を作っていきますが、その際に「仕様をどうするか・どう実現するか」が議論になりやすいのではないでしょうか。

そして「どうやるか」を議論していると、「そもそも何をやるのか・何のためにやるのか」というちゃぶ台返しのようなことが起こってしまった経験をした方も多いと思います。

ユーザーストーリー形式では最初に述べたように誰のために・何のために・どのような価値があるのかを先に明確にすり合わせるため、こういったことは起こりにくいと考えています。

また、How(どのように実現するのか)については明らかに明確な場合を除いては起票時点では未記入で良いとしています。 これは、要望を出す人は何が大変で何が簡単か、内部実装がどうなっているかなど分からないことが多いですし、エンジニアは、どんな問い合わせがあったのかなど業務上具体的に何が起こっているのか把握していないことが多いためです。

最適なHow・実現方法は、お互いの業務知識を持ち寄ってアイディアを出すことが理想だと考えています。

新機能と運用改善を同じ基準で優先順位をつけたい

私が参加した当時、エンジニアはしだのりさんしかいませんでした。

その後すぐにめもりーさんが入社され、現在フロントエンド担当の業務委託の方も加わりましたが、それでもスタートアップの作業量に対してはまだまだ人手不足です。

そんな状況下で、利用者の利便性を向上させるための新機能開発、業務効率を上げるための運用改善、(そして残念ながら時々発覚する不具合の修正)を効率よくこなしていく必要があります。

トラーナでは機能開発と運用改善どちらが大事か?ではなく、どちらも大事であるという考えが前提にあります。

その上で、少ないリソースで事業価値を最大限効率的に上げていくためには、効果の高いものから順に実施していく必要があります。

Whyの中で価値を明確にすることで、何故この順番に実施するのか?がわかりやすくなることも期待できます。

※余談ですが個人的に優先という考え方は良くないと思っています。これはまた別の機会に。。。

最後に

今回は一介の業務委託である私からユーザーストーリー形式にした理由と目的について紹介させて頂きました。

DeNA創業者の南場智子さんの言葉にある「コトに向かう」ために、ユーザーストーリーを用いることは効果的ですので、ぜひ参考にしてみてください。

フリーランスとして様々な現場で働いてきましたが、開発サイドもビジネスサイドも正社員も業務委託もアルバイトも分け隔てなく、真剣に仕事(コト)に向き合って働いている良い現場だなと感じています。

そんなトラーナでは最初のプロダクトデザイナーを募集しています。 www.wantedly.com

一緒にトラーナで「コトに向かって」いきましょう!