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
0
6
プロダクト開発のトラブルを予防するために どうして「大丈夫です」と報告されるのに スケジュールは遅れるのか
ProductZine Day 2024 Winter
https://event.shoeisha.jp/pzday/20240130/timetable
Takegata
January 30, 2024
Tweet
Share
More Decks by Takegata
See All by Takegata
プロジェクト炎上を予防するためにメンバーひとりひとりができること
ratmie
0
1.6k
銀の弾丸?AWS App Runnerとは
ratmie
0
3
勤怠入力のためにブラウザを開きたくない!
ratmie
0
200
AWS re/Invent 2023 所感とサービス
ratmie
0
2
Other Decks in Programming
See All in Programming
ErdMap: Thinking about a map for Rails applications
makicamel
1
840
Amazon Nova Reelの可能性
hideg
0
240
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
1
450
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
250
2025.01.17_Sansan × DMM.swift
riofujimon
2
630
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.5k
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
450
ASP.NET Core の OpenAPIサポート
h455h1
0
150
[Fin-JAWS 第38回 ~re:Invent 2024 金融re:Cap~]FaultInjectionServiceアップデート@pre:Invent2024
shintaro_fukatsu
0
310
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
970
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
170
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Building Applications with DynamoDB
mza
93
6.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.3k
Optimising Largest Contentful Paint
csswizardry
33
3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Designing for Performance
lara
604
68k
The Cost Of JavaScript in 2023
addyosmani
47
7.2k
Mobile First: as difficult as doing things right
swwweet
222
9k
Building Adaptive Systems
keathley
39
2.4k
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