見出し画像

人生はスクラム

この記事は、HUIT Advent Calendar 2023 17日目の記事になります。


はじめまして。Contrea株式会社でエンジニアをしているもぎと申します。北海道大学の工学部に所属し、卒業論文を頑張っています。

突然ですが、皆さんはスクラムという言葉を聞いたことがありますか。スクラムはソフトウェア開発で取り入れられる開発フローやチームコミュニケーションの方法のことを言います。少し具体的に説明させてください。

スクラムとは、チームや組織が共通の目標に向けて取り組むための軽量フレームワークを指しています。ソフトウェア開発で取り入れられる手法の一つとして1990年代に考案されたものです。詳細な定義は省略しますが、ざっくりいうと以下のようなフローになっています。

  1. プロダクト全体の長期的な目標(プロダクトビジョン)を達成するためのタスク(プロダクトバックログ)を整理する

  2. 開発を数週間~1ヶ月、といったチームで決めた期間(スプリント)に分割。そのスプリント内で行うタスク(スプリントバックログ)を計画し、実行する

  3. スプリントの成果について振り返りし、次のスプリントの調整をする

  4. 繰り返す

この開発サイクルではスクラムイベントというイベントが複数存在し、そのイベントを着実に実行していくことで、最大限の価値を生みます*。例えば、スプリントの最初には「スプリントプランニング」というスプリント全体の計画を立てるイベントがあったり、スプリントの最後には、「レトロスペクティブ」と呼ばれる、スプリントについて振り返り(検査といったりもします)、生じた課題や次のスプリントに向けて議論する時間があります。

 *ちなみにスクラムの理論は「経験主義」と「リーン思考」がベースになっており、「透明性」「検査」「適応」が重要だとされています。イベントはそれを体現するためのもの、といった感じです。

上の記事は初めてスクラムという言葉を聞く人にとってもわかりやすいかなと思いつつ、厳密な定義について気になる方は以下のスクラムガイド(スクラムの聖書で提唱者が公開したもの、添付しているのは日本語に翻訳されたもの)を読んでみてください。

前置きが長くなりました。この記事はスクラムについて厳密な掘り下げをするものではなく、「人生にスクラムを適用すると良さそうかも!」と感じたので、それについて文字に起こしてみたものになります。


まえがき: 人生のプランニングについて

財産をゼロにして生涯を終えるということ

先日、親友たちと隔週で開催している読書会にて「DIE WITH ZERO 人生が豊かになりすぎる究極のルール」という本について触れる機会がありました。

この本のタイトルのゼロ、というのは財産を意味しています。「ゼロで死ね」という通り、財産を残さずに死んでいく、すなわちどのようにお金を稼ぎどのように消費していくのか、ちゃんと考えようと提言されています。

また、「人生で重要なのは経験、つまり思い出を作ることである」とも述べられています。これは、「お金の価値は年齢によって変化すると言うこと」「お金を使う最適なタイミングは思ったよりも前にある」ということを示しています。自分の健康状態ややりたいことへの熱量などを考慮した時、若い時にお金を使うのと老後にお金を使うのってどっちが人生にとっての価値が高いんだろう?という話です。これは、自分がどのタイミングで財産を消費していくべきか考えるきっかけになりました。

これらをより具体的に実践するために色々なワークが掲載されているのですが、その中でも「タイムバケットを作成する」が印象に残りました。

タイムバケットを作成する

「今年やりたいことリスト100」を作って実際に文字に起こす人をよくみますが、それを長い時間軸(人生!)に適用してみたものがタイムバケットと言えるかもしれません。

イメージはこんな感じ。引用先: https://liberaluni.com/time-bucket

タイムバケットで大事なのは、「文字に起こして計画をしてみるという過程」だと思っています。自身の30年後のことなんて超具体的に書けることなんてそう簡単じゃないし、実際めちゃめちゃ変容する時代に予測しようがないこともたくさんあるかなと思います。ただ、できる限り文字にしてみることで、人生でやりたいことについて(なんとなく)傾向が掴めるのは確かにそうだなと思います。

僕はこれをざっくり作ってみましたが、少なくともやりたいことって20~30代に集中しているな〜とか、自分は体力ないし高齢になったら何もできないからそんなやりたいこと出てこないな〜となんとなく感じたりしました。

タイムバケットを作れば人生の収支計画が作れる!といったそんなうまくいくことってなかなかなさそうだし、年齢を重ねたら気が変わる可能性も無限にありますが、このように人生をプランニングすることに少なからず意味はあるんじゃないかなと思いました。

プランニングといえば

人生のプランニング… プランニングってスクラムイベントじゃん!となったのがこの「スクラムと人生」について書くきっかけになります。いや、プランニングって「planning」なんだからそりゃそうだろと言われれば「まあそりゃそうなんだけどね…」としかいえないわけですが…

例えば、自分の人生にてやりたいことを積んでいくのは、スプリントサイクルの前段にある「プロダクトオーナーがプロダクトバックログにユーザーに価値を届ける具体策を積む」に当たるかと思います。また、1年の振り返り、などは1年やると決めたことに対する「レトロスペクティブ」と言えるでしょう。

このように、人生について色々試行錯誤することはスクラムのサイクルを回していくことに対応しているのではないでしょうか。スプリントのサイクルが異なっているとか、チームではないので「透明性」を意識することがない、などといったスクラム本来の形に完全に沿っているわけではない、という懸念はたくさんありますが。

余談ですが、彼女と同棲していたり結婚して子供を産んだら、自分でというより家族みんなで方向性(プロダクトビジョン)を策定することになり、チーム(家族)でスプリントを回り、透明性がより求められる、みたいなよりスクラムの理論により忠実になる可能性はありますね()

では、具体的にしてみよう

スクラム開発では、まずはスクラムイベントを忠実にこなしていくことが推奨されています。ただ、スクラムはフレームワークにすぎず、大事なことは「生産性が向上する」「プロダクトゴールに着実に歩めている」なので、チームのフェーズや状態によってカスタムしていくことは良しとされています。

ちょっとわかりやすくしたいので、スクラムイベントを中心に、人生をスクラムに当てはめてみます。また、自分は独身なのでその前提で検討をします。

参加者

まず前段ですが、スクラムは参加者が明確に定義されています。参加者は以下の通りです。

  • プロダクトオーナー

  • スクラムマスター

  • 開発者

1人なので全部自分でやりますか。プロダクトオーナーは人生の方向性を認識し、やるべき(やりたい)ことを洗い出します。スクラムマスターはやりたいことを実現しようとしているかや、その環境が最適であるかどうか、振り返る頻度(= スプリントの長さ)を調整します。開発者は、その期間のゴールに向かって全力を尽くします。

スクラムイベント

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

まず、スプリントの初めにそのスプリントでやることを決定します。各ストーリー(タスク)は、その大きさを見積もる(ポイントをつける)必要があります。これは、後述するレトロスペクティブで定量的に振り返りをすることで、そのスプリントでどのくらいのストーリーを達成できるか把握したり、そのスプリントの健全性を判断する指標になります。

人によりけりですが、自分の好きなことは波が極力少なく達成できるといいなと感じることも多いので、達成しやすいことと達成しにくいことでポイントをつけるのは負担にならない程度にやってもいいかもしれません。

② デイリースクラム

デイリースクラムとは、毎日開催するもので、毎日ストーリーを見てスプリントゴールに対する進捗を検査するイベントです。

スクラム開発だと、ストーリーを毎日こなせるタスクに細分化する、などをして毎日進捗を産んでいるという状態を可視化し、検査しやすい状態に工夫しますが、なかなか人生のストーリーを毎日進捗産むって難しいですよね。

ここはスプリントの長さによって頻度を決めてもよさそうですね。

③ レトロスペクティブ

スプリントの最後に、そのスプリントでの達成状況を振り返りします。「今月はやりたいこと何もできなかったな〜」とか「この夏はたくさんやりたいことをやれた!」などです。常に達成できることがベストではありますが、もし達成できなかった場合、その原因を探り、次スプリントに生かします。例えば、「今月は仕事が大変だったから、OO ができなかったな」となった場合、「ワークライフバランスは人生ビジョンに適しているかな」などです。

④ スプリントレビュー
開発者は、スプリントでの成果を検査し、今後の判断をします。定期的に先輩や同期と飲みにいくことで、自分のスプリントの成果を報告しても良いでしょう(スクラムを知らない異性にいきなり話し出したらドン引きされると思うのでお勧めしません)。そのレビューをもとに、プロダクトバックログの内容を整理します。もっとやりたいことが生まれるかもしれませんし、これはやらなくていいな、と感じることがあるかもしれません。チーム外の方からのフィードバックは常にもらった方がいいなと感じますね。

人生はスプリントの繰り返し

ちなみにスプリントというのはタスクをプランニング → デイリースクラム → レトロスペクティブ といったイベント全てを包含しています。つまり、人生はスプリントの繰り返しです。

ソフトウェア開発においては、スプリントは1ヶ月以内が望ましいとなっています。弊社では2週間でサイクルを回していますし、1週間のチームもあるようです。また、スプリントゴールの達成を危険にさらすような変更はしてはいけない、というルールがあります。これは、差し込みでストーリーをいれない、ということです。スプリントはゴールを目指すことに忠実になる必要があるので、それを邪魔することはしてはいけません。人生でいうと、とある検定の勉強を必死で行なっているスプリント中に別の誘惑ストーリーをどうしても今スプリント入れたくなっちゃった… !とかはダメってことです。

なるほど… こればかりは個人に依存してしまうかもしれません。正直ルールを厳密にすればするほど自由な人生が苦しくなってしまう可能性もあるかなと感じますし、一方でルールを厳格に守りながらスプリントを回していけば、自分が達成したいストーリーを着実に達成できるのかもしれません。自分は過去を振り返ってみると自分に甘いな、と感じることが多いので、改めて自分に制約を課す、という意味で厳密にトライするのはアリだなと感じています。

僕なりの過ごし方

これらを踏まえると、以下のような形で僕はやってみようと思いました。

  • スプリントは3ヶ月。デイリースクラムは 隔週スクラム(2週間に1回)と変更してイベントを開催。

  • 持続的にやっていく&個人でやる、という観点から、プランニング&レトロスペクティブは共に2時間以内で終われるような粒度でやる。ポイント付けなども、自分で振り返られれば問題ない。(例えば、ポイントを number ではなく enum で管理するぐらいのゆるさでOK、など。)

まとめ

深夜テンションで書いている中で内容のない文章になっていないか心配ですが、自分に甘い僕にとっては、人生のプランニングや日々の過ごし方について考えるきっかけになりました。また、スクラムについても理解が深まりました。

ただ、軽く述べましたが、厳密にスクラムに合わせるのがゴールではありません。「自分がやりたいこと、幸せを達成する」ための過ごし方の一案としてスクラムっぽくするのもありなのではないか、という提案です。スクラムっぽい、という意味では、ちゃんと思考している人みんなスクラムっぽいことをしているような気もしてきましたが… 。

スクラムについて、解釈が誤っている箇所がありましたら、遠慮なくマサカリを飛ばしていただけますと幸いです。

最後に

弊社でのスクラム導入事例について PM の @hiryu さんが記事にしているので、よければご覧ください。


この記事が参加している募集

お金について考える

この記事が気に入ったらサポートをしてみませんか?