はじめに
本記事はポートフォリオアプリ「DevJourney」開発の過程をまとめた連載の第1回です。
企画からデプロイまでを複数回に分けて発信し、論理的な思考を基に開発を進める姿勢を示すことを目的としています。
今回は「企画編」として、課題の定義と解決の方向性を整理しました。
解決したい課題
常日頃私が感じている問題として、
「この技術を身に着ける意義が見出せない」
「自分のスキルレベルが分からない」
「何から始めていけばいいのかわからない」
といった悩みがあり、学習に身が入らないこともありました。
これらは私だけでなく、駆け出し~中級エンジニアが抱えがちな問題であると考えています。
具体的には以下の3点です。
- 自分の現在地(スキルレベル)がわからない
- 何を学べばいいかが漠然としている
- 学習成果を可視化できずモチベーションが続かない
これらの課題を解決するためのアプリケーションとして「DevJourney」を企画しました。
アプリのコンセプト
「学習ロードマップ × RPG的成長可視化」 を軸としています。
- ロードマップに沿って学ぶべき知識を提示
- 現在の習熟度を自己診断&可視化
- 学習進捗に応じてスキルポイントを獲得
- スキルポイントを活用してキャリアの未来像や市場価値をシミュレーション
学習が「単なる勉強」ではなく「キャリアを育てる冒険」として体験できることを目指します。
要求定義のフレームワーク
要求定義の整理には以下を用いました。
- 5W1H : 要求定義を進める際の基本的な枠組み
- ユーザーストーリー ユーザー視点から機能に直結させる仕組み
5W1Hで整理
- Who : 駆け出し~中級エンジニア
- What : 学習ロードマップに基づきスキルの可視化・モチベーション維持をサポートするアプリ
- Why : 学習する目的が不明確であると、モチベーションが続かず、挫折するため
- When : 学習前の方向性確認時に利用
- Where : PC・スマホといったWeb環境
- How : 学習ロードマップの可視化、将来像の提示、現状の立ち位置をゲーム感覚で示す
ユーザーストーリーとは?
ユーザーの視点で「どんな人が、どんな目的で、どんな価値を得るか」を表現するための手法です。
典型的な記載例は以下の通り。
As a (誰),I want(何をしたい), so that(価値・目的)
As a junior engineer, I want to visualize my skill level so that I can plan my next learning step with confidence.
要求定義を進めてみた
As a 駆け出しエンジニア
I want 学習の方針を決定したい
so that 膨大な技術領域から自身のキャリアプランに沿った技術を最短で身に着けられる。
⇒必要な機能
- 学習方針提示機能
1.学習ロードマップの提供
2.ロードマップの構成要素を細分化
As a 中級エンジニア
I want 学習の成果を可視化したい。立ち位置を確認したい。
so that 成長を実感し、学習のモチベーションを維持できる。
⇒必要な機能
- ロードマップ進捗管理
1.各学習領域のタスクの達成状況を登録
2.ロードマップ全体の進捗状況を図示
As a 学習者全般
I want 自身のキャリアプランや市場価値を可視化したい。
so that 今後のキャリアの修正やキャリアアップの計画を立てられる。
⇒必要な機能
- 市場価値の可視化
1.身に着けたスキルから市場価値や年収モデルを提示
2.今後の学習でどれくらい価値が上がるのかを提示
まとめ
詳細はNotionにまとめました。
作成したいアプリが誰の何をどうやって解決するか?という観点でブレイクダウンしていくことで要求が明確になっていくことが理解できました。
以降の要件定義フェーズで、機能検討の際に「ユーザーは何のためにこの機能を必要とするのか」を常に意識します。そうすることで、MVPに含めるべき機能がより明確になると感じました。
次回は第2回として 「要件定義」 を進めていきます。