Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プロダクト開発のトラブルを予防するために どうして「大丈夫です」と報告されるのに スケジュール...
Search
Takegata
January 30, 2024
Programming
26
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プロダクト開発のトラブルを予防するために どうして「大丈夫です」と報告されるのに スケジュールは遅れるのか
ProductZine Day 2024 Winter
https://event.shoeisha.jp/pzday/20240130/timetable
Takegata
January 30, 2024
More Decks by Takegata
See All by Takegata
PRを小さくする勉強会
ratmie
0
30
安全なログ記録を始めよう
ratmie
0
76
プロジェクト炎上を予防するためにメンバーひとりひとりができること
ratmie
0
2.4k
銀の弾丸?AWS App Runnerとは
ratmie
0
38
勤怠入力のためにブラウザを開きたくない!
ratmie
0
250
AWS re/Invent 2023 所感とサービス
ratmie
0
15
Other Decks in Programming
See All in Programming
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
110
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
350
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
250
Foundation Models frameworkで画像分析
ryodeveloper
1
140
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
250
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
140
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
280
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
170
yield再入門 #phpcon
o0h
PRO
0
800
5分で問診!Composer セキュリティ健康診断
codmoninc
0
670
テーブルをDELETEした
yuzneri
0
110
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
0
330
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
560
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Building AI with AI
inesmontani
PRO
1
1.1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
320
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
260
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
How to Ace a Technical Interview
jacobian
281
24k
Designing for Timeless Needs
cassininazir
1
410
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Transcript
プロダクト開発のトラブルを予防するために どうして「大丈夫です」と報告されるのに スケジュールは遅れるのか ProductZine Day 2024 Winter NCDC株式会社 武方順平 2024/01/30
自己紹介 ⚫ 武方順平 ⚫ NCDC株式会社 ⚫ プロダクトオーナー・シニアエンジニア ⚫ 2019年フルスタックエンジニアとして入社 ⚫
B2B・B2Cのウェブ・スマホアプリ開発 ⚫ 現在は自社プロダクトの立ち上げを担当 2
はじめに こんなことありませんか? 3 (次の例は実際の人物・プロジェクトには関係ありません)
とある日の進捗会議 「進捗どうですか?」 「「「大丈夫です」」」 4
とある日の進捗会議 「進捗どうですか?」 「「「大丈夫です」」」 「スケジュールにも問題なさそうだし、メンバーは問 題ないって言ってるし、大丈夫だな。ヨシ!」 5
6 数週間後…
7 数週間後… 「リリース後に不具合報告が多数出ています」 「このままだとリリース予定日に間に合わなそうです」 「スコープ厳しいのでこの機能入りません」
8 数週間後… 「リリース後に不具合報告が多数出ています」 「このままだとリリース予定日に間に合わなそうです」 「スコープ厳しいのでこの機能入りません」 「プロジェクト状況を把握してないって、あなたの仕事は何ですか?」 「リリース日は厳守してください」 「今更言われても困るよ、なんとかしてね」
9 数週間後… 「リリース後に不具合報告が多数出ています」 「このままだとリリース予定日に間に合わなそうです」 「スコープ厳しいのでこの機能入りません」 「プロジェクト状況を把握してないって、あなたの仕事は何ですか?」 「リリース日は厳守してください」 「今更言われても困るよ、なんとかしてね」 「それぞれのタスク消化に追われてチームの空気悪くないですか?」 「やめさせてください」
「いつまでこれ続くんですか?」
10 数週間後… 「リリース後に不具合報告が多数出ています」 「このままだとリリース予定日に間に合わなそうです」 「スコープ厳しいのでこの機能入りません」 「プロジェクト状況を把握してないって、あなたの仕事は何ですか?」 「リリース日は厳守してください」 「今更言われても困るよ、なんとかしてね」 「それぞれのタスク消化に追われてチームの空気悪くないですか?」 「やめさせてください」
「いつまでこれ続くんですか?」
11 こうはなりたくない なにが悪かった?
はじめに:本日のゴール ⚫ リスクをマネジメントする ⚫ メンバーはリスクを察知している ⚫ 不安を共有できる環境を作る ⚫ 弊社での事例 12
プロダクト開発の難しさ ⚫ 顧客と市場に受け入れられるか → 企画の難しさ 13
プロダクト開発の難しさ ⚫ 顧客と市場に受け入れられるか → 企画の難しさ ⚫ 目的の価値を一定以上の品質で届けられるか ⚫ ビジネス上のデッドラインを守れるか →
開発の難しさ 14
プロダクト開発の難しさ ⚫ 企画の難しさ ⚫ 開発の難しさ + ⚫ 正しい計画を立てることが難しい ⚫ 計画通りに進まない
→ 計画の難しさ 15
不確実性が計画を狂わせる ⚫ プロダクト開発では多種の問題が起きる ⚫ 問題は不確実さから生まれるリスクに起因している → 問題への対応が後手になる ⚫ 必要なのは起きる前の対応 →
リスクマネジメント 16
リスクと問題 ⚫ リスク:計画を阻害する起こりうる事柄 ⚫ 問題:計画を阻害するすでに発生した事柄 17
リスクと問題 ⚫ リスク:計画を阻害する起こりうる事柄 ⚫ 問題:すでに発生した計画を阻害する事柄 18 リスク 問題 顕在化
リスクマネジメントに必要なこと ⚫ 起こり得るリスクを洗い出す ⚫ リスクを評価し、対応を考える 19
システム開発の主なリスク ⚫ スケジュールの欠陥 ⚫ 要求の増大 ⚫ 人員の離脱 ⚫ 仕様の崩壊 ⚫
生産性の低迷 → 全てに備えるのは難しい 20
システム開発の主なリスク ⚫ スケジュールの欠陥 ⚫ 要求の増大 ⚫ 人員の離脱 ⚫ 仕様の崩壊 ⚫
生産性の低迷 →顕在化しそうなリスクを知りたい 21
とある日の進捗会議 「進捗どうですか?」 「「「大丈夫です」」」 「スケジュールにも問題なさそうだし、メンバーは問 題ないって言ってるし、大丈夫だな。ヨシ!」 22
23 数週間後… 「リリース後に不具合報告が多数出ています」 「このままだとリリース予定日に間に合わなそうです」 「スコープ厳しいのでこの機能入りません」 「プロジェクト状況把握してないって。、あなた の仕事は何ですか?」 「リリース日は厳守してください」 「今更言われても困るよ、なんとかしてね」 「それぞれのタスク消化に追われてみんなバラバラじゃないですか?」
「やめさせてください」 「いつまでこれ続くんですか?」
24 なんでこんなことに?
25 数週間後… 「リリース後に不具合報告が多数出ています」 「このままだとリリース予定日に間に合わなそうです」 「スコープ厳しいのでこの機能入りません」 「プロジェクト状況把握してないって。、あなた の仕事は何ですか?」 「リリース日は厳守してください」 「今更言われても困るよ、なんとかしてね」 「それぞれのタスク消化に追われてみんなバラバラじゃないですか?」
「やめさせてください」 「いつまでこれ続くんですか?」
26 「このままだとリリース予定日に間に合わなそうです」 「仕様の確認の手戻りが多いな この感じで進めて大丈夫なんだろうか」
27 数週間後… 「リリース後に不具合報告が多数出ています」 「このままだとリリース予定日に間に合わなそうです」 「スコープ厳しいのでこの機能入りません」 「プロジェクト状況把握してないって。、あなた の仕事は何ですか?」 「リリース日は厳守してください」 「今更言われても困るよ、なんとかしてね」 「それぞれのタスク消化に追われてみんなバラバラじゃないですか?」
「やめさせてください」 「いつまでこれ続くんですか?」
28 「リリース後に不具合報告が多数出ています」 28 「コード品質が下がってる気がする、 今のタスクには影響出てないけど・・」
メンバーが考えていたかもしれないこと ⚫ 「会議ばかりで時間がとれない」 ⚫ 「見積もりが間違っていたかも」 ⚫ 「この機能、優先度が低い気がするなあ」 ⚫ 「仕様の理解が曖昧になっている」 ⚫
「他の人は大変そうだし自分がやらなきゃ」 ⚫ 「ステークホルダーと話すと手戻りがある」 29
メンバー視点だと…? ⚫ 「会議ばかりで時間がとれない」 ⚫ 「見積もりが間違っていたかも」 ⚫ 「この機能、優先度が低い気がするなあ」 ⚫ 「仕様の理解が曖昧になっている」 ⚫
「他の人は大変そうだし自分がやらなきゃ」 ⚫ 「ステークホルダーと話すと手戻りがある」 → 計画・プロセス・コミュニケーション等の課題 30
メンバーはリスクを見つけていた ⚫ 業務の中での些細な違和感 ⚫ 不安 → 顕在化しそうなプロジェクトリスク 31
「わかってたなら先に言ってよ」 「大丈夫です」と報告したのに? 32
「わかってたなら先に言ってよ」 「大丈夫です」と報告したのに? → 言えなかった理由があるはず 33
なぜ進捗会議で聞けなかったのか ⚫ 影響がまだ出ていないから → 避けられなくなってから共有される ⚫ 正常性バイアスが働く → 不安を伝えるのは心理的に負担 34
不安を伝えるハードル 35
心理的安全性を妨げる4つの要素 無知だと思われる 無能だと思われる 邪魔をしていると思われる ネガティブだと思われる 36 エイミー・C・エドモンドソン「チームが機能するとはどういうことか」英治出版
心理的安全性を妨げる4つの要素 無知だと思われる不安 →「仕様の理解が曖昧になっている」 無能だと思われる不安 →「見積もりが間違っていたかも」 邪魔をしていると思われる不安 →「この機能優先度低いのでは」 ネガティブだと思われる不安 →「他の人は大変そうだし自分がやらなきゃ」 37
エイミー・C・エドモンドソン「チームが機能するとはどういうことか」英治出版
不安を伝えるハードル 38
ハードルを乗り越えてもらう① ⚫ 乗り越えるエネルギーを与える → 動機づけ ⚫ プロジェクトが改善すると不安が減る 39
不安共有による改善サイクル 40 プロジェクト メンバー チーム ①不安を共有 ②リスクに対応 ③不安が減る
ハードルを乗り越えてもらう② ⚫ ハードルを下げる → 習慣化・ルーチンの形成 41
仕組みを作る 案1. 個別に聞く → 各メンバーと細かく1on1を行う 案2. 全体で聞けるようにする → 心理的安全性を高める 42
弊社での事例 前提 ⚫ メンバー:30人程度(当時) ⚫ 5~10プロジェクト ⚫ 週次での全体MTG 43
朝礼の場で週次のアンケートを行った 44 プロジェクトの不安を5段階評価で質問 会議中にリアルタイムで入力 結果を確認 詳細を直接尋ねる その場でアクションを設定する
なぜそうしたのか アンケートを投げるだけだと ⚫ 記入率を高めるのが難しい ⚫ 結果からさらなるヒアリングが必要 → その場で記入してもらい詳細を尋ねる ⚫ 各プロジェクトに閉じている情報
→ 組織全体で取りこぼしがないように確認する 45
結果どうなった? ⚫ リリースへの不安を発見し、調整する場を設けられた ⚫ 不安の可視化ができた ⚫ 不安を共有すると良いことがある 46
アンケートの問題点 ⚫ 全体の前では話しにくい ⚫ 心理的安全性へのハードルが高くなる ⚫ 「どうして不安に感じているの?」と質問をすると圧力に なる ⚫ 漠然とした不安
⚫ 説明の難しさ ⚫ 規模が大きくなると実施に時間がかかる ⚫ 深掘りできない 47
48 反省を活かして改善する
全体の前では話しにくい → 全体の前で話すことをやめた 1. 回答結果を全体で確認せず、マネージャーが1次チェック をする 2. マネージャーは不明点をメンバーに確認しつつ、状況を まとめる 49
記入率の課題は? ⚫ アンケートの習慣がすでに形成されていた 50
問いかけの圧力 → 目的の共有 ⚫ プロジェクトのリスクを知ることが目的 ⚫ 個人の批判や人事評価を目的としているわけではない → 問いかけの仕方 ⚫
なぜ?(理由)ではなく何があったのか(事実)を聞く 51
規模が大きくなると アンケートの実施に時間がかかってしまう → プロジェクトごとにアンケートを実施 52
53 これらを踏まえて作り直した
プロジェクトごとにアンケートをとる メンバーは各項目に5段階で回答 → 開発中の些細な不安を共有 54
回答を元にコミュニケーションを取る マネージャーは回答をもとに メンバーと会話 → リスクを把握 55
レポートを作成する PMは状況を報告する → ステークホルダーへ共有 → 状況を整理するきっかけ 56
複数プロジェクトを一覧 情報をオープンにする → 不安共有の文化醸成 57
まとめ ⚫ プロダクト開発には多種のリスクが潜んでいる ⚫ メンバーはリスクを早期察知している ⚫ 不安を共有したい ⚫ 文化とシステム両輪で対応している 58
見えない不安を可視化するPJ Insight ⚫ https://pj-insight.net/ ⚫ サービス公開中 ⚫ 基本料金無料 ⚫ 30日間の無料トライアルを実施
59
None