SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2021】セッションレポート(AD)

不確実性が高い時代における、エンジニアの生産性を最大化する方法とは?【デブサミ2021】

【19-C-8】Atomic Scrum 不確実性が高い時代におけるエンジニアの生産性を最大化する方法

  • このエントリーをはてなブックマークに追加

 チームによる開発において、大原則として浸透しつつある「スクラム」。しかし一方で、個人に対する行動管理やタイムマネジメントについては、方法論が確立されていないといった声も少なくない。そこで株式会社ゆめみは、チーム開発においてエンジニアの生産性を最大化することを目的に、スクラムの原則を個人単位の行動管理に適用。同社の代表取締役 片岡俊行氏が、1年間にわたって実際にNotionを活用して行ったタイムマネジメント術を紹介した。

  • このエントリーをはてなブックマークに追加
株式会社ゆめみ 代表取締役 片岡俊行氏
株式会社ゆめみ 代表取締役 片岡俊行氏

スクラムの原則を個人の行動管理に適用した「アトミックスクラム」

 片岡氏は「ラボ」と呼ばれる部屋からオンラインで登壇。この部屋で約1年間にわたって「ポモドーロ・テクニック」を実践し、行動管理やタイムマネジメントについて実験・実証し続けたという。その経験から、自己管理や生産性向上には原理原則があることを実感し「その原則はスクラムと近いと言うよりも、そのものだと感じた」と語る。

「ラボ」には仕事用PC以外、ほぼ何もないという
「ラボ」には仕事用PC以外、ほぼ何もないという

 そんな片岡氏は、京都大学に在学中に株式会社ゆめみを創業。失敗を繰り返しながらも、現在はユニークな経営が行われていることで有名だ。昨年創業20年周年を迎え、日本で最もQiitaやSlackを活用する組織にまで成長し、さまざまな企業のWebサービスの内製化を支援してきた。手掛けたWebサービスのユーザーは毎月5000万人にも及ぶ。

 それでは本題に戻ろう。片岡氏が実践した「自己管理」とは何か。そして、自己管理はなぜ挫折するのか。片岡氏は挫折する理由を「多くの人が誰からも学んだことがなく、我流で行った結果、うまくいかないと『自分は自己管理能力がない』と結論づけてしまうことが多いからだ」と分析する。

 そこには自己管理についての誤った考え方が多く関係している。例えば、理性的な脳が本能的な脳をコントロールすると考え、コントロールできないと「意志力がない」と自身を総括してしまう。しかし、本能的な脳はそもそもコントロールなどできるはずがなく、本能は人類が長い歴史の中で生存するために身につけてきた習慣だ。例えば、集中力が続かないのは、1つのことに集中してしまうと、外敵から襲われたときのリスクが高くなってしまうからだと考えられる。

 それでは、自己管理がうまくいっている人はどうしているのか。片岡氏は「本能をコントロールしようとするのではなく、行動管理システムや環境にアプローチし、それらが本能に働きかけるという二段構えを心がけている」と語る。とは言え、自己管理システムを設計し、完璧なものにしようとすると、結果として複雑になり運用することも困難だ。まずは最小限のシステムを作り、そこに能力を成長させる機能を組み込み、さらに成長した能力に合わせてシステムを成長させるという「漸次的共進化」を進めていくことが重要となる。

 アジャイル開発で言えば、リーンスタートで始め、アジャイル的に行動管理システムを作ってシステム成長を図り、次にグロースハッキングで自己の能力成長を行うイメージだ。しかし片岡氏は、「これによってめちゃくちゃ自己管理能力が向上し、生産性が爆上がりしたとして、それで本当にハッピーなのか」と問いかけ、「いや、流れ作業のマシーンになっても幸せであるはずがない」と強調する。

 そこで考えるべきことが「自己定義の重要性」だ。エンジニアには積み上げ型で最適化が得意な人が多いが、それ以上に自分がやりたいことを見いだし、プロダクトオーナーとしての夢を描くことが重要だという。つまり「自己実現」とは「自己管理と自己定義を合わせたもの」であり、それは「プロダクトオーナー」と「開発者」「スクラムマスター」の帽子をかぶり分けていく難しさをも意味する。

自己実現=自己管理+自己定義
自己実現=自己管理+自己定義

 片岡氏は「自己実現には『最小限の行動管理システム』『能力成長を促すシステム』『やりたいことを見いだせるシステム』の3つが必要」と語り、それをまとめたものを「アトミックスクラム」とした。

 アトミックスクラムは、複雑な状況の中でも個人が高い価値を生み出すための「スクラム」を基にした軽量なプロセスフレームワークであり、個人の行動管理だけでなく、能力成長も促しながら生産性を高めることを狙いとしている。そして、スクラム同様に経験主義(やってから考えること)を重視しながらも、予測主義(考えてからやること)とも統合可能な発展を想定しているという。

 また、片岡氏は「アトミック」と名付けた理由について、チームではなく「個人」という最小単位を対象としていること、個人の日々の行動の中でもこれ以上分解できない最小限のスプリントから始めること、そしてスプリントがフラクタルに発展していくことの3つにあると説明した。

アトミックスクラムの実践は共進化とMIN&MAXの範囲目標がカギ

 それでは、具体的にどうやってアトミックスクラムを実践していくのか。

 片岡氏は説明にあたり「スクラムの一定理解があること」「6ステップの共進化によるものであること」そして「Notionというツールを使うこと」を必須ではないが推奨として挙げた。そして「漸次的進化の6ステップ」の図を提示。1Dayスプリントから始めて習慣化技術を身につけ、スプリントレトロスペクティブからふりかえり技術へ……といったように1日から1週間、月、年と「スプリントがフラクタルに発展していく」という仕組みだ。

漸次的進化の6ステップ
漸次的進化の6ステップ

【ステップ1】1Dayスプリント

 このときの能力成長ゴールは「習慣化技術」を体得すること。「1Dayスプリント」は「(1)デイリースクラム」「(2)スプリントプランニング」「(3)スプリントレトロスペクティブ」の3つから構成されている。

(1)デイリースクラム

 「チェックリスト作成」と「データの記録」を実施する。このとき重要なのは「習慣化とは意志の力ではなく、誰もが身につけることができる技術として捉える」ことだ。

 なお習慣化で失敗するパターンの典型は「高すぎる目標設定」にある。結果が未達になれば自己効力感が低下してしまうため、目標はMINとMAXの範囲内とし、MIN目標はできるだけ低くする。例えば、一般的な目標を「週3回ランニングをする」とした場合、MAXが「ジムに週3回通ってランニングする」ならば、MINは「週1回玄関のランニングシューズに足を通す」でいい。ほかにも「本を開いて1行読むと読書」「足を開いて1回沈むとスクワット」など「バカらしい目標」で十分だという。

範囲目標の設定が重要
範囲目標の設定が重要

 これは「作業興奮」と呼ばれる「一度何かを始めると続けてしまう」現象で、その効果を期待するものだ。毎朝顔を洗うことに意志の力が必要ないように、無感情で繰り返し行うことができる「習慣化」が目的というわけだ。

 実際に、片岡氏はデイリースクラムのMAXを「30にわたるチェックリスト確認」「明日と1週間の予定の確認」などにしているが、MIN目標は「今日の日付と曜日の確認」にしてある。そして、Notionの実装例としてDaily Habit Trackerのデモンストレーションを行ってみせた。

(2)スプリントプランニング

 今日やるタスクの洗い出しと明確化、優先順位(MIT)づけを行う。MITとは1日で最も重要なタスク(Most Important Task)であり「労力対提供価値(ROI)」と時間軸で見つける。

 ROIについては「重要度×緊急度」のマトリクスは使わない。「7つの習慣」などでも定番の方法だが、長期的に5~15%を「緊急ではないが重要な仕事に費やせているか」を俯瞰的に見る考え方であり、1日のMITを決めることには向かないためだ。そして「誰にとって、どういう価値になるか」を考え、精神的なつらさも考慮に入れることがポイントとなる。片岡氏の場合、Notionで「提供価値」と「労力」を入力すると自動的にMITが決定するような設定で、自動的に優先順位の高いものから意識することなく実行していくという。

 2割のタスクが全体の8割の重要性を担うとされていることから、1日の労働時間を8時間とすると、合計90分以内に収まるのがMITとなる。そして邪魔が入らない、集中できる時間に行うことが重要だ。

(3)スプリントレトロスペクティブ

 要は「ふりかえり」のことで、例えばMINなら「その日のスプリントプランニングについてふりかえる」、MAXなら「1日に実行したタスクや行動をすべてふりかえる」などでもいい。片岡氏の場合は、1日の終わりにやったこと(Done)を思い出し、楽しかったこと(Fun)、学んだこと(Learn)をそれぞれ3つを目安に書き出している。

【ステップ2】1Weekスプリントの習慣化

 ここで重要なのは、1Dayスプリントの目標である「習慣化技術」が身についたと確信できてから初めてステップ2に進むことだ。何よりステップ1の1Dayスプリントが重要であり、それができていればあとは自動的に漸次的進化がかなうという。

 ステップ2の「1Weekスプリントの習慣化」では「(1)スプリントレトロスペクティブ」「(2)スプリントレビュー」を開始する。目標は「ふりかえり技術」と「むきなおり技術」の習得だ。

(1)スプリントレトロスペクティブ

 デイリースクラムはステップ1の1Dayスプリントになり、デイリースクラムで日々のレトロスペクティブを行っているので、その延長で週次に行えばいい。やり方はKPTなど好きな方法で実施する。

ステップ2でもステップ1の1Dayスプリントを継続して改善していく
ステップ2でもステップ1の1Dayスプリントを継続して改善していく

 このとき対象範囲を広げ、プロセスやツールなどにも着目するのが望ましい。例えば睡眠や休憩など仕事の生産性に相互作用を及ぼすものや、作業環境・生活空間などストレス軽減につながるものの改善を行ったり、デイリースクラムのやり方やMITを書き出す紙などのツールなどを見直したりする。

(2)スプリントレビュー

 週次のスプリントで最も難易度が高く、週次のPDCAサイクルをつくりあげるキモとなる。さらに後述のステップ5が確立したあと、再び練度を上げる対象となるため、長期にわたって行うことが望ましい。MIN目標は、1Weekスプリントが確立する最初の4週間程度は1Weekスプリント自体のレビューとなり、MAX目標は、仕事におけるゴールやOKRの実績・結果について、またはFun・Done・Learnの総括などと、さまざまな形で設定してみるといいだろう。

【ステップ3】パーソナルバッグログの確立

 1Weekスプリントで「ふりかえり技術」と「むきなおり技術」を身につけたら、次は「パーソナルバックログの確立」を実践する。ここでは「プランニング技術」を身につけることがゴールだ。パーソナルバッグログとは、仕事以外の個人のタスクすべてを含むバックログであり、大前提としてツールは何でも構わない。

 例えば、MIN目標はアトミックスクラムの開発関連タスクのみを管理すること。MAX目標は、すべての仕事に対するタスクを含めてパーソナルバックログとして管理すること。つまりプライベートのタスク管理にまで発展させてもいい。

 重要なポイントとして、片岡氏は世界的投資家のウォーレン・バフェットの「25:5の法則」を紹介。25個のやりたいことを書き出し、5個の最も重要なことを決め、それを達成するまで残りの20については一切考えないというものだ。これを応用し、パーソナルバックログの優先順位の高いもの1/4をスプリントバックログとして位置づけているという。

 このとき片岡氏は、キャパシティを確認するためにGoogle カレンダーで自身が持つキャパシティを可視化。さらに、スプリントバックログに割り当てる際は、1週間分の月火水のキャパシティを超えないように割り当て、残り2日分の割り当てを木曜日以降に行う。つまり、寝る時間や予定などをすでに入れた状態で、30分を1ポイントして3日分のタスクをスプリントバックログに入れていく。片岡氏の場合、Notionで労力と提供価値で優先順位づけを行い、それが自動的に次のバックログに入るよう設定してある。

スプリントプランニング例
スプリントプランニング例

【ステップ4】Wishリストの確立

 「プランニング技術」を身につけることができたら、ステップ4「Wishリストの確立」に進む。これは積み上げ式に自分のやりたいことを見いだしていく方法だ。ここまでは生産性を高めるために、自己管理することを目標としてきた。しかしステップ4では「自己効力感や自己理解を高めること」が目標となる。

 ポイントとしては、Fun・Done・Learnなど、ふりかえりにおいて「良かったこと=Fun」を基にして「Wish」を考えることだ。自分が行ったことに対して「ポジティブな意味付け=Fun」をすることで自己効力感につながり、その中で思い浮かぶ「願い=Wish」は自分でも「できる」と思えるやりたいことなので、実現する可能性も高い。

 このやり方は、DoneからFunを感じ取り、FunからWishを見いだす「Will・Can・Must」のフレームワークに沿ったコーチングアプローチの有名な手法によるものだ。これを1週間、1カ月と「願望」を書きとめていきながら俯瞰することで、自分が本当にやりたいことを見い出し、似たような願望を繰り返して思い描くことで、強い決意に変わる瞬間が出てくる。

Will・Can・Mustのフレームワークに沿ったコーチングアプローチ
Will・Can・Mustのフレームワークに沿ったコーチングアプローチ

 片岡氏の場合、Wishに挙げたリストを毎週見ながら、よりやりたいと思った瞬間を見逃さず「Desire」「Decision」に切り替えていくという。これは「ミーニングノート」と呼ばれるノート術にも近いやり方であり、参考に挙げている。

【ステップ5】Monthlyスプリント

 ステップ4で「自己効力感」「自己肯定感」が得られたと実感したら、次は週次のスプリントを月次に発展させ、OODA(Observe・Orient・Decide・Act)ループからGPDCA(Goal・Plan・Do・Check・Action)サイクルに統合していく。ここで目標となるのは「目標設定力」だ。

 経験主義のOODAから、予測主義のGPDCAサイクルにつなげるにはWishリストでやりたいことを見いだしておくといい。具体的には「MITコンパス」を用いる。これはOKRなどよりも柔軟に実施できる方法で、長期の視点から逆算して優先事項を簡単に設定することが可能だ。目標と言うよりも、重要視しているテーマを意識することがポイントとなる。

 例えば、片岡氏は年次のMITを「教育を探求する」とし、四半期はそれに基づくテーマを設定する。さらに月次、週次、MITタスクへと落とし込んでいく。いわば逆算方式で行っていく方法だ。

【ステップ6】Monthlyスプリント

 目標設定力が得られたら、次はステップ6の「多能工化」にたどりつく。ここについては「飽きてからやるくらいでいい」のだという。

 スクラムチームでは「クロスファンクショナルチーム」と呼ばれる、誰が何をやっても同じ状態にすることが理想とされる。最低限、スキル格差によるマイナスの影響がない状態で、実際にはスプリントのベロシティ(要求量)が上がって余力ができた段階で行うべきだという。

 と言うのも、仕事の行動管理ができただけでは、生産性は最大化できない。集中や休憩、睡眠、運動など、さまざまな生活に関する行動が影響しており、アトミックスクラムでもそれらを管理する多能工が求められる。つまり、スクラムチームと同じようにベロシティが上がったら、多能工としての育成に時間をあてるというわけだ。

 その際は、習慣化→行動管理→集中術→アクティブレスト(疲労回復のための運動)→睡眠→片付け→食事→運動→ジャーナリング(頭に浮かぶことを紙に書き出す:書く瞑想)→瞑想の順に行う。アトミックスクラムでは習慣化と行動管理を対象としているが、これが身につけばほかの項目もマスターできる。とは言えあくまで多能工(フルスタックライフエンジニア)は理想なので、「楽しみながら行ってほしい」と片岡氏は語った。

 最後に片岡氏は、未来予測学者のポール・サフォー教授の不確実な状況における予測や意思決定のポイントとして「Strong Opinions weakly held:強い意見を弱く持つ」の言葉を紹介。「意見は強く言うけれど、状況が変わることを想定して、柔軟に変えられるスタンスでいることが大切」と語り、ゆめみ社内では強い意見を言ったあとに「知らんけど」とつけて締めるのだという。

 そして「自分がやりたいと思っても、未来は予測できず、実現可能性はわからない。だからといってやりたいことを弱く言う必要はない。願望を強く持った上で、柔軟に変えていくことが大切。アトミックスクラムを活用すれば、不確実な時代でも自分のやりたいことを見いだし、生産性を高め、夢を実現できる」と語った上で、「知らんけど」とまとめた。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/13717 2021/04/14 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング