制御不能な時代のプロジェクトマネジメント
Project Management in Agile Era
概要
2020年10月11日(日)「【オンライン】JBUG広島#6 制御不能な時代に立ち向かえ」にて。
スライドの内容
- プロジェクトで起きた大変な出来事
- 制御不能な時代 Photo by Tarik Haiga on Unsplash
- 制御不能な時代のプロジェクトマネジメント 及部敬雄 (@TAKAKING22) Photo by Steve Johnson on Unsplash
- プロジェクトマネジメント?
- PMBOK第5版 プロジェクトとは プロジェクトとは、独自の製品、サービス、所産を創造する ために実施される有期性の業務である。
- プロジェクトは切り取った一部分 プロジェクト 人生 チーム プロダクト システム
- プロジェクトマネジメントだけ切り取る意味は?
- どういう道順をたどるのかの違い 部分の実行力 全体構想 まだまだ 部分最適 ここに行きたい! 机上の空論
- プロジェクトマネジメント プロジェクトはストーリー全体の一部分である 一部分がなければ全体もとらえられない 一部分をうまくいかせられないのに全体がうまくいくわけがない 部分最適からはじめることが必ずしも悪いとは言えない
- Photo by Joe Hernandez on Unsplash
- プロジェクトマネジメント×プロレス ストーリー全体の一部分である 一定のルールはあるがなんでもあり 受け身の美学 強い(うまい)ことと楽しいことの両立
- 今日の話 自分が実際の現場でどのようにプロジェクトマネジメントを しているのか 大事にしていること 特に気をつけていること なぜそれをやっているのか
- プロジェクトをとりまく状況 どうなるのかわからないビジネス どうすればよいのかわからないプロダクト 何を考えているのかわからない人たち なぜそうなっているのかわからない組織やルール
- Photo by Paul Gilmore on Unsplash 「わからない」という不安
- わかる わからない
- 未知のわからない Photo by Paul Gilmore on Unsplash わかる わからない
- わからないことはふつうだ! わからないことだらけ わからないことが多いと不安なので解消したくなる なにかがわかるとまた新しいわからないことが見つかる 常にわからないはそこにある
- こうやって考えてる わからないことをどうやって解消するか わからないこととどうやって付き合っていくか
- プロジェクト序盤 プロジェクト中盤 プロジェクト終盤
- プロジェクト中盤 プロジェクト序盤 プロジェクト終盤
- プロジェクト序盤 一番情報を持っていない(=わからないことが多い)状態 最初からすべてを計画することをあきらめる 目指す先がないとスタートできないので必要な計画はする 全体の方向性と直近の見通しが立つ適度な計画 どうすれば最速でスタートすることができるか
- インセプションデッキ プロジェクトを始める前に明らかにしておくべき 大切なことを知るための活動 10個の質問に答えていく形式 チーム全員で話し合って合意したものをアウトプットする
- 大事にしているスライド チーム名・ロゴ(オリジナル) 我々はなぜここにいるのか エレベーターピッチ やらないことリスト・あとで決めることリスト 夜も眠れなくなるような問題 トレードオフスライダー OKR(オリジナル) 個人としての目標(オリジナル)
- 好きなインセプションデッキの進め方 1. 個人ワークでそれぞれ書く 2. お互いに共有し合う 3. チームで1つにまとめてアウトプットする https://takaking22.com/2019/how-to-use-inceptiondeck/
- インセプションデッキのポイント 成果物よりもつくる過程を大切にする 無理に完成させようとしないでできる範囲でやる チームやプロダクトのことを自ら考えて自ら話す練習をする ズレていることを見つける チームで合意して1つのアウトプットにまとめる体験をする
- 思っていることは口に出さないと伝わらない
- 共通の言葉がチームのコンパスになる Photo by Jordan Madrid on Unsplash
- タイムボックス 時間の箱をつくって繰り返していく 定期的にフィードバックを得る機会をつくる 比較して計測できるように箱の大きさは基本変えない コンテキストに合わせて階層構造をとってもいい
- チームの構造 プロダクトオーナー 開発チーム スクラムマスター プロジェクトマネージャー 顧客
- チームは階層構造であることが多い 密 疎 理想は目指しつつも現実を受け入れる(ex. 兼務、雇用形態…) 階層ごとに心地が良いリズムや距離感が違う 型にはめようとせずに柔軟に設計をする スムーズ・シンプルであることを目指す
- 誰をプロダクトオーナーにするのか 顧客、発注者、事業部 自社、部署、チーム 開発チーム 自分
- 誰をプロダクトオーナーにするのか 顧客、発注者、事業部 自社、部署、チーム 開発チーム 自分 ほんとは プロダクトオーナーに なってほしい やりづらいので 近くに
- 役割と責任を人に当てはめてもうまくいかないことが多い はやく走れる人たちが走り回ればよい 誰かに依存していること(最終決定)を明確にして、 それ以外は全体として役割を包含できればよい プロダクトオーナーやスクラムに限った話ではない 誰をプロダクトオーナーにするのか
- 自分だったらこうするかなー 顧客、発注者、事業部 自社、部署、チーム 開発チーム 自分 最終決定や そのために必要な準備は お願いする 判断するために必要な情報を集めたり、 優先順位をおすすめしたり、
- 全体像を一枚絵にする
- 余裕をつくる 最初に決めて終わりではなくここから始まる 決めすぎずに余白をつくっておく プロダクトやチームと一緒にみんなで育てていく
- 未完成をつくる Photo by Sung Shin on Unsplash
- プロジェクト序盤 プロジェクト中盤 プロジェクト終盤
- プロジェクト中盤 以前決めたこと=過去に縛られない 目の前で起きていることにフォーカスする 経験を積み重ねて解像度を上げながら変えていく 取り返しのつかない失敗をしないようにする どうやって変わらないようにするかではなく どうやって変えていくか
- 起こった事象(Fact) 動いているプロダクト フィードバック 計画 プロダクトバックログ 開発プロセス 左よりも右をより大事にする
- 動いているプロダクト 実際につくること、動いているプロダクトをさわることで はじめてわかることが多い 最初に計画したものにこだわらずどんどん変える
- 活き活きしたプロダクトバックログ やることのリストアップではなくて仮説のリストアップ 最初は解像度が荒くて質も低いが、 プロジェクトが進むにつれてどんどん育っていく プロダクトバックログへのCRUD処理が多い
- 見積もり 優先順位をつけるときの判断基準としてのボリュームや、 ビジネス判断をする際に見通しを知りたいことはある 上記が満たされていれば、 数字どころか見積もりそのものもいらないかもしれない 数字当てゲームに時間を使い過ぎない
- 障害リスト リスクだと思っていることを貯めておく箱を作る 書き溜めたら忘れる 定期的にチェックするタイミングをつくる(スプリント毎など)
- 決定を遅延する 適切なタイミングで決定ができるようにする 今決めなくていいことは先送りにする 今やるべきことにフォーカスする
- フィードバック 適切なフィードバックをどうやってもらうか 「それユーザーではなくてあなたの意見ですよね?」問題 ユーザーの声をただ鵜呑みにするのではなく、 自分たちの仮説を検証するためにフィードバックを活用する
- 肩越しの視線 実ユーザーがプロダクトを使っているところを見せてもらう こちらの想定通りに問題解決までたどりつけるかどうか 問題解決までの道のりがスムーズかどうか
- 書いたコードを捨てる 捨てることを厭わない 捨てる=ムダになったのではなくより洗練されたのである Be Simple
- モブプログラミング チーム全員で同じ時間に同じ画面を見ながら同じ仕事をする リソース効率ではなくフロー効率を重視する リモートワークにおいても有効 https://speakerdeck.com/takaking22/remote-mobprogramming-stay-home-with-team
- 一緒に作業をする 会議に向けてそれぞれ準備や作業を進めて、 集まった時に報告・議論・判断をすることは効率が良いのか 集まった時に一緒に作業を進めた方が、 スムーズに進む状況は自分たちが考えている以上に多い 作業の結果だけでなく過程もチームの合意となる
- ボトルネックは移動する ボトルネックは移動していく ボトルネックを停滞させない ボトルネックを素早く発見して移動させる
- Photo by Grillot edouard on Unsplash
- 螺旋を登っていくイメージ 似たような問題が再発しているように感じる時がある 前回よりも経験を積んでいる分、解像度が上がっている 解像度が上がると問題の見え方や見える範囲も変わる 経験から学習してうまくなっていく
- プロジェクト序盤 プロジェクト中盤 プロジェクト終盤
- プロジェクト終盤 終盤だからという理由で頑張らない 特別にやることはそんなにない 終わらせるのではなく次につなげる
- 最後に頑張るのをやめる 終盤戦になって一気にやることが増えることが多い ペースを変えないで冷静に判断をする プロジェクト内でやる必要があれば計画を変える プロジェクト内でやる必要がなければ先送りをする 質を下げることだけは絶対にしてはいけない
- 次への準備に時間を割く プロダクトバックログを精査する 障害リストを精査する ドキュメントや環境を整える 勉強をする
- 自分にとってのプロジェクトマネジメント 必要なことを必要なときに必要な分だけ実施する 変わらないようにするのではなく、積極的に変えていく 失敗しても受け身で魅せる 終わらせるではなく、次につなげる
- ちょっと待った! Photo by Nadine Shaabana on Unsplash
- 失敗しないことばかり考えてない? ウォーターフォール アジャイル開発 スクラム プロジェクトマネジメント
- 失敗しないではなく成功させたい 本当に成功させたいのはプロジェクトではない 時にははやくプロジェクトを失敗させた方が良いことある
- よい成果を上げるために必要な要素 プロダクト チーム エンジニアリング × ×
- 身も蓋もない事実から逃げない テクニックは重要だがそれだけではどうにもならない 一朝一夕に身につかないものが結果を左右する 点ではなく線や面で取り組んでいく
- It depends の正体 抽象 具体 フレーム ワーク 事例A 事例B 事例C
- 抽象 具体 フレーム ワーク 事例A 事例B 事例C 自分 It depends
- 抽象 具体 フレーム ワーク 事例A 事例B 事例C 自分 It depends
- フレームワーク よいフレームワークを使ったからといって、 よいプロダクトにはなるとは限らない よいプロダクトと同じフレームワークの使い方をしたとして、 よいプロダクトになるとは限らない フレームワークを使ってどう実装するのかは 実装者の腕の見せどころ
- It depends の正体 実装力が問われている システムを実装するときに、 他人のコードをそのままコピペして動かそうとはしないはず 実装に必要な情報を一番多く持っているのは自分自身 It depends を脱却して実装の世界へ行くのは自分自身
- 自問自答してみよう 行動せずに難しいかどうかを批評してしまっていないか 答えクレクレ君、事例クレクレ君になっていないか
- どうやって実装力を上げるか 知識をインプットする 人に聞きやすい部分 書籍、論文、勉強会、研修 経験を積み重ねる
- どうやって経験を積み重ねるか 現場で実験をする 思考実験をする
- 思考実験 現場の制約に関係なく、実験し放題である 一人ではなくて誰かとやるとよい 相手や自分の具体的な事象について話す 自分の頭で考えてフィードバックをもらう Open Space Technology やオンラインの場を使う
- 自分の頭で考える なるほど! 勉強になりました 刺激を受けました なぜそうしたんだろう 自分だったらこうする
- 制御不能な時代のプロジェクトマネジメント Photo by Tarik Haiga on Unsplash
- 過信せずにとっととあきらめる すべてをわかろうとすること すべてを解決できると思うこと 自分だけでどうにかしようとすること
- Photo by Jason Pofahl on Unsplash 「わからない」とのプロレス
- わからないはふつうだ! わからないと付き合っていくこと自体が我々の仕事 うまくやると楽しくやるの両立を目指す ケガをしないように受け身をする
- プロジェクトという小さな箱 ここからはじめてもいいけど全体ではない 箱の外の世界に想いを馳せる 終わらせるためではなく続けていくもののため
- どういう道順をたどるのかの違い 部分の実行力 全体構想 机上の空論 まだまだ 部分最適 ここに行きたい!
- どういう道順をたどるのかの違い うまくなる 楽しむ ただの趣味 まだまだ ソルジャー ここに行きたい!
- Photo by Sebastien Gabriel on Unsplash 一歩踏み出す勇気