Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
要件定義で得た学び・気づき
Search
kumaGoro95
June 15, 2023
Programming
4
2.6k
要件定義で得た学び・気づき
kumaGoro95
June 15, 2023
Tweet
Share
More Decks by kumaGoro95
See All by kumaGoro95
アジャイルの名を捨ててアジャイルをやる ─アジャイルに忌避感のある現場での“困りごと駆動”の実践─
kumagoro95
0
460
昭和の職場からアジャイルの世界へ
kumagoro95
1
680
DDDやってみたら 実装以前の領域での学びが深かった話
kumagoro95
13
8.6k
メンバーのわかりませんはチームが成長するチャンス.pdf
kumagoro95
1
420
ふりかえりでふりかえることしかできなかったジュニアチームが、次の打ち手を出せるチームになるのにやったこと
kumagoro95
3
1.5k
Githubのアクティビティ履歴からチームの健康状態を知る(Findy Teams使ってみた)
kumagoro95
0
600
プログラミングで小数計算すると なんで誤差が発生するのか?
kumagoro95
0
250
導入事例を通じて理解するドメイン駆動設計
kumagoro95
0
410
The Assembly ~ directly controlling CPU ~
kumagoro95
0
420
Other Decks in Programming
See All in Programming
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
730
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
100
SwiftUIで本格音ゲー実装してみた
hypebeans
0
430
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
530
AIコーディングエージェント(Gemini)
kondai24
0
240
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
430
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
120
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.3k
エディターってAIで操作できるんだぜ
kis9a
0
740
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
850
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Test your architecture with Archunit
thirion
1
2.1k
Agile that works and the tools we love
rasmusluckow
331
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.7k
What's in a price? How to price your products and services
michaelherold
246
13k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
97
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
エンジニアに許された特別な時間の終わり
watany
105
220k
Transcript
初めての要件定義で得た気づきと学び くまごろー
くまごろー @kumaGoro_95 • 北海道出身 • 2021年5月~ リゾート運営会社でWebエンジニア • 前職は公務員(新卒からずっと務めてました) •
メインはバックエンド(Java) • 最近全然コード書けてないのが悩み ひいじいちゃんは熊 太郎
3 登壇の経緯 • ITエンジニア3年目です • 数か月前に要件定義フェーズに挑戦し始めました • PJは現在進行形ですが、この数か月間だけでも色んな学びがありました • 学びをアウトプットしたかったので今回LTに挑戦しました
• ほんの少しでも皆さんの役に立てれば嬉しいです • エピソードの紹介→学び/気づきの紹介 という流れで話します!
4 遡ること約半年前
5 入社以来所属してたチームを離れた エンジニアなりたての頃からお世話になったスクラ ムチーム 既存システムの保守運用がメイン たまに機能追加したり、改修したり
新しいチームはこんな感じ 6 くまごろ (エンジニア) ステークホルダーたち 現場を知り尽くす ベテラン 既存システムを掌 握するエンジニア PJ統括者
PO UIUX担当 プロダクトチーム 顧客向けの宿泊予約システ ムを新規開発します✋
7 新チームでは要件定義に挑戦することに...
8 最初はこんな気持ちだった ついにこの時が来て しまった... そもそも、要件定義って何や ればいいんだろう?
9 とりあえず、要件定義について調べた。 • 要件定義の他に「要求定義」ていうのもあるんだ • 自分たちの現在地はどこなんだろう? ◦ PJの目的/プロダクトを通じて実現したいことは、既にPJの統括者が割り出して いた
◦ 要求定義は終わってて、要件定義からかな? → 「何を作ればいいか」を決めればいいのか!と思った(安直に) 要件定義は、プロジェクトやシステム開発において、必要な機能や性能・制約条件などを明確に 定める作業を指します。
10 とりあえず走り出した。 • 最初はひたすらインプット。関係者の時間をもらって下記の情報収集 ◦ 業務知識 ◦ 既存の宿泊システムの構造 ◦ プロダクトのシステム要求
11 ユーザーストーリーを作ってみた。 • 得られた知見を参考にしながら、ユーザーストーリーを書き出してみた • オポチュニティ/エピック/ユーザーストーリーの3つの階層で書いた → これで形になってる気がするけど自信ないな...
12 レビューしてもらったけど... • 思ったほどFBが出なかった • 枝葉のような指摘がいくつか来る程度 • ユーザーストーリー完成までに2回見てもらったが同様の状況 → レビュアーにOKもらえたからいいけど(良くない)、なんかちょっと不安...
13 ワイヤーフレームを作り始めた • ユーザーストーリーをワイヤーフレームに盛り込んでいった • 「画面ベースで考えると、細部にこだわり過ぎるので良くない」という話を聞いてたの で、とにかくシンプルに作ることを心掛けた(miroの図形を駆使) 本当にこれくらいシンプル なやつ
14 これがターニングポイントだった
15 レビューに持っていったら... • 打って変わって大量のFB ◦ 「現場的には予約時にこういう情報がほしくて~」 ◦ 「これは既存システムにもあるけど今は必要ないんだよね」 • 芋づる式に新しい情報や観点が出てくる
◦ 「うちはこれでOKだけど、あっちの業務に支障出るかも」 ◦ 「この部分の課題はオペレーション変えることで対応できそうだよ」
16 レビュー/修正を何度か繰り返す内に • ワイヤーフレームは関係者皆の納得のいくものになってきた • チームのプロダクトに対する解像度が上がった • 結果、Whyの理解/意識が足りないことに気づいた ◦ 色んな方面からのFBや課題が集まることで、プロダクトの目的を強く意識せざ
るを得なくなった
17 ワイヤーフレーム→ユーザーストーリー • ユーザーストーリーを改めて確認したら、めちゃくちゃひどかった ◦ 機能の羅列でしかなかった。Whyが全く意識されてなかった。 ◦ 理解度が低いまま、想像で書かれていた • ユーザーストーリー作成時に、こういう課題を抱えていたことがわかった
◦ 業務/既存システムの理解が浅い ◦ 関係者がどのような課題を抱えているかもわかってない ◦ 要求を浅いレイヤーでしか理解してなかった。その裏のビジョンが見えてな かった
18 この出来事をふりかえって 気づいたこと/思ったこと
19 ワイヤーフレームを使った活動は、 プロトタイピング/デザインシンキングの進め方だった • ユーザーストーリーは、プロトタイプとしては微妙だった • ユーザーストーリーではアイデアを評価することができなかった 「デザイン思考とサービスデザインと UXデザインとUIデザインの違い」 https://note.com/kawasagi9/n/n606e1ce1992b
20 何故ワイヤーフレームは良かったんだろう? • ワイヤーフレームは皆が一目見て理解できるものだった! ◦ エンジニア、PdM、マーケ、現場出身スタッフ... • 皆が理解できるので、異なる立場のスタッフが、ワイヤーフレームを足掛かりにして 議論ができる。いわば皆の共通言語 •
Miroを使った ◦ 議論しながら付箋で説明を書き加えることで、全員が話についていける ◦ デザイン性を完全に排したことで、皆が細部を気にせずに済んだ → 皆が評価/テストすることができることで、デザインシンキングによる学習が進んだ
21 学習が進むことで世界の解像度が上がる • デザインシンキングの5ステップループを回せるようになって学習が進み、プロダクト を取り巻く世界の解像度が上がった ◦ 業務/既存システムの理解度 ◦ 関係者がどのような課題を抱えているか ◦
「要求」と言われるものが、その実なにを指しているのか。その裏側にどういう 思いがあるのか
22 解像度が上がることで見えてくるもの • 解像度が上がったことで、当初は気づけなかった課題/解決策/思いが見えるように なる ◦ プロダクトを通して見つけた課題が、実は組織横断的な課題だったり ◦ 「オペレーションを変える」という解決方法に至ったり ◦
単なる1機能だと思ってたものが、プロダクトのビジョンを実現する柱の1つだと 気づいたり → 「自分たちが本当に作りたいもの」に少しずつ近づいていけるようになってきた ユーザーストーリー作成時はこれ が足りてなかった
23 さいごに
24 要件定義フェーズのこと勘違いしてたなあ • 要件定義って「クライアントの話をヒントに、プロダクトの正解を探り出す」活動だ と思ってた... ◦ プロダクトのイデア的なものがあると思い込んでた • ワンチームで、作りたいものの解像度を上げる。プロダクトの姿を形づくっていく ◦
最初から100%見えてる人はいない(クライアントも開発者も皆) ◦ 大事なのは、仮説検証を繰り返すことでチームが学習すること ◦ 学習を積み上げるほど、本当に作りたいものに近づくことができる ◦ そういう意味では、事業会社って要件定義やりやすいな ◦ 初期に学習サイクル構築できるかがPJの命運を握りそう
ご清聴ありがとうございました! 25