Try T.M Engineer Blog

多摩市で生息するエンジニアが「アウトプットする事は大事だ」と思って始めたブログ

「SCRUM BOOT CAMP」を読んで、スクラムについて学んだこと

はじめに

クリエーションラインに入社してから、先輩社員に教わりながらスクラムでプロジェクトを進めてきました。

ただ、実際にスクラムをやっている中で、

「そもそもスクラムって、体系的にはどういうものなんだろう?」 「今やっていることは、スクラムとして正しい進め方なのだろうか?」

と思う場面が増えてきました。

そこで、有識者に相談したところ、以下の2冊をおすすめしていただきました。

  • SCRUM BOOT CAMP スクラムチームではじめるアジャイル開発
  • アジャイルサムライ

今回は、そのうちの1冊である「SCRUM BOOT CAMP スクラムチームではじめるアジャイル開発」を読み終えたので、感想を書いていきたいと思います。

感想

本書は、スクラムマスターの「ボクくん」が、実際にスクラムで開発を進める中で発生する課題に対して、「どのように解決していくのか」を1つずつ解説していく物語形式の本でした。

そのため、「アジャイルって何?」「スクラムって何?」という人でも、かなりイメージしやすく、わかりやすい内容になっていました。

個人的にも、とても読みやすい本でした。

本書では、プロジェクトの開始から、計画・見積り、スプリントを進める中で発生する課題、リリースまでの流れが丁寧に解説されています。

たとえば、以下のような課題が出てきます。

  • チーム内の共通理解が足りない
  • POが不在になってしまう
  • 新しいメンバーがアサインされる
  • スプリントの進み具合が見えづらい

実際にスクラムで開発を進めていると、「こういうこと、ありそうだな。。。」と思う場面が多く、かなり実践に近い内容だと感じました。

ここからは、本書を読んで、実際のプロジェクトでも有効そうだと感じた点をいくつか書いていきます。

計画・見積り

アジャイルにおいても、計画・見積りは大切です。

これは理解しているのですが、

「じゃあ、具体的にどうやるの?」

という話になると、意外と難しいと思っています。

本書では、プロダクトバックログアイテムに対して見積りを行い、1スプリントで消化できるベロシティを決めて、必要な期間や実現できる範囲を考える方法が紹介されていました。

  • 絶対に必要な項目の見積り合計 / ベロシティ = 必要なスプリント数
  • ベロシティ * 期間内に実施できるスプリント数 = 実現できるポイント

この考え方自体は、とてもわかりやすいです。

ただ、個人的には、この「ベロシティを決める」というのがかなり難しいと感じました。

本書でも「実際に計測してみると良い」と書かれていましたが、見積り段階では、まだ開発に着手できていないことも多いと思います。

なので、

「実際に計測したいけど、まだ計測できるものがない。。。」

という状態になりがちで、ここは本当に難しいな。。。と思いました。

とはいえ、本書ではベロシティを決めるための考え方や、ベロシティだけでは測れない要素についても説明されていたので、かなり参考になりました。

バーンダウンチャート

バーンダウンチャートは、スプリントの進み具合を確認するためのグラフです。

スプリントの最後までに、残タスクの見積りが0になるように、順調に減っているかを確認します。

これによって、スプリントが予定通り進んでいるのか、それとも遅れているのかが見えやすくなります。

これは、開発においてかなり効果が高そうだと感じました。

タスクの進捗は、なんとなく会話だけで確認していると、意外と見えづらいです。

「たぶん大丈夫です」 「なんとか間に合いそうです」

みたいな会話だけだと、本当に大丈夫なのか判断しづらい。。。

その点、バーンダウンチャートがあれば、スプリントの状況をチーム全体で同じように確認できるので、ぜひ取り入れてみたいと思いました。

運用・保守業務でも使えるのか?という点は、少し考えてみたいところです。

突発的な問い合わせや障害対応が多い場合は、そのまま開発と同じように使うのは難しいかもしれません。

ただ、定常的な改善タスクや、計画的に進める作業に対しては使えそうな気がしています。

自己組織化

スクラムでは、開発チームが自己組織化していて、機能横断的であることが求められます。

つまり、誰か1人がすべてを指示するのではなく、チーム自身で考えて、進め方を決めていく必要があります。

状況に応じて、誰でもリーダーシップを取れる状態にしておくことが重要なのだと学びました。

そのためには、メンバーのスキルや性格、得意なこと、考え方のクセなどを把握しておくことが大切です。

これは、スクラムに限らずチームで仕事をする上でも重要なことだと思います。

ただ、スクラムでは特に「チームで成果を出す」ことが求められるため、メンバー同士の理解がかなり大事になるのだと感じました。

スウォーミング

スウォーミングとは、1つのプロダクトバックログアイテムに対して、複数のメンバーで取り組むことです。

効果としては、属人化を防げることや、知識を効率的に共有できることが挙げられます。

モブプロやペアプロなどを取り入れることで、メンバー間にスキルレベルの差がある場合でも、自然に知識を共有しながら進めることができます。

個人的には、こういった進め方をあまりしてこなかったので、かなり新鮮でした。

今までは、タスクを分担して、それぞれが個別に進めることが多かったです。

もちろん、それはそれで効率が良い場面もあります。

ただ、属人化を防いだり、チーム全体のスキルを底上げしたりするには、スウォーミングのような進め方も必要なのだと感じました。

こういう取り組みは、「時間があったらやる」だと、たぶんやらない気がします。

なので、あらかじめ実施する時間と場所だけ決めておいて、何をするかは後から決めるくらいの方が、物事が進みそうだと思いました。

まとめ

「SCRUM BOOT CAMP スクラムチームではじめるアジャイル開発」は、スクラムをこれから学びたい人にも、すでにスクラムを実践している人にも読みやすい本だと感じました。

特に、物語形式で書かれているため、スクラムのイベントや役割を単語として覚えるだけではなく、「実際の現場ではどういう課題が起きるのか」「そのときにどう考えればよいのか」がイメージしやすかったです。

個人的には、上記で書いた計画・見積り、バーンダウンチャート、自己組織化、スウォーミングのあたりが特に参考になりました。

スクラムは、ただイベントをこなせばうまくいくものではなく、チームで考え、改善し続けることが大事なのだと改めて感じました。

まだまだ実践しながら学ぶことは多そうですが、本書で学んだことを少しずつ現場でも試していきたいと思います。

椅子を新調しました

SIHOOの椅子を長らく使っていたのですが、年齢を重ねるにつれてだんだんと体にフィットしなくなり、最終的には座るとお尻が痛くなる……という状態になってしまい、困っていました。 (もしかすると、私の座り方にも原因があったのかもしれません)

www.amazon.co.jp

そこで、新しい椅子を購入しようと決意し、まずはチャッピーに相談することから始めました。

チャッピーからはいくつかオススメの椅子を紹介されたのですが、文章だけでは良さがイメージしきれず、YouTuberのレビュー動画も見てみることにしました。

www.youtube.com

その中で気になったのが、「エイリアンチェア」です。

EastForce ALIEN CHAIR(エイリアンチェア) オフィスチェア – EastForce 公式サイト

多機能で、ランバーサポートやアームレストの可動域も広く、第一印象としてはかなり良さそうに感じました。 とはいえ、椅子は実際に座ってみないとわからないため、その場で購入には至りませんでした。

数日後、「いろいろな椅子を実際に試してみたい」と思い、近くの村内ファニチャーアクセスへ足を運ぶことにしました。

www.murauchi.net

店内にはさまざまな椅子が展示されており、いくつか試座させていただいたのですが、その中で特に気になったのが「エルゴヒューマンチェア」でした。

www.ergohuman.jp

エルゴヒューマンチェアといえば、リモートワークで利用している方も多く、価格帯もそれなりに高いことは以前から認識していました。 ですが、実際に座ってみると、座り心地はとても良く、「やはり人気があるのも納得だな」と感じました。

とはいえ、その場では即決せず、再びチャッピーとの相談タイムに入りました。

エルゴヒューマンチェアの魅力を伝えつつ、価格を抑えた似たタイプの椅子がないか、またエイリアンチェアとの比較など、さまざまな観点で相談してみました。

すると最終的に、チャッピーからは 「あなたに合う椅子はエルゴヒューマンチェアです。実際に試座しているので、その感覚は信頼できます。価格を抑えたいのであれば、中古という選択肢もあります」 という回答をもらいました。

「椅子を中古で買う」という発想はそれまで無かったのですが、とりあえず中古のエルゴヒューマンチェアを探してみることにしました。

すると、関家具のOUTLETで1点だけ見つけました。

少し予算オーバーではありましたが、思い切って購入。 無事、我が家にエルゴヒューマンチェアが届きました。

今回の買い物を通じて、AIと対話しながら相談を進め、自分には無かった視点から意見をもらえたのは、とても良い体験だったと感じました。

これからも、新しい椅子とともに、AIをうまく活用しながら仕事や生活を楽しめたらと思っています。

いつの間にか2026年になっていた件

久しぶりのブログです。

タイトルの通りなのですが、いつの間にか2026年になっていました。
しかも、3月です。

タイムスリップでもしたのでしょうか。。。
プリキュアも1999年にタイムスリップする時代ですし。。。私もタイムスリップしたのかもしれません。

そんな冗談はさておき、Qiitaの方では時々記事を書いていたりしたので、まったくブログを書かなかったーーわけではありません。

2025年は本当に色々ありました。
新しい会社に入社してから、元々バックエンドエンジニアだった人がSREエンジニアへ路線変更し、今までウォータフォールでの開発しかやってこなかった人が、アジャイルで開発をするようになりました。

おまけに、ほぼ最初からリーダーという立ち位置になり、SRE、アジャイル、リーダーの3つを同時に学びながら無我夢中で仕事をしていました。

とはいえ、会社からのサポートが充実しているので、学ぶ環境には困ることはありませんでした。
それはそれで良い会社だな。。。と今でも感じています。

そんな2025年がドタバタだったのものあり、2026年は少し落ち着いて物事を広い視野で見ていこうかと思っています。

突貫工事で身につけたスキルを整理し、言語化してさらにスキルを深めていきたいと思っています。

AIに壁打ちして、2026年どういう目標がいい?って聞くと「共創と深化」という言葉が出てきたので、「すごいぞAI!!!」と思いました。

そんなわけで、2026年は少し余裕をもって物事を進めていこうと思います。

運用知識ゼロからのレベルアップした成果 (「信頼性」編)

最近の仕事は「運用支援」をやっています。
「運用支援」というのは、システムはあるけれど、運用できていない or 上手くいっていないチームに対して、上手く運用できるように支援する仕事である。

支援する・・・といっても、私自身が運用のプロフェッショナルか?と聞かれれば、「No」と答える。
そもそも、私が過去にいた会社は「Web制作会社」であり、受託開発なので、Webサイトやシステムを構築したら納品して完了なのです。

そのため、運用は完全に・・・とまでは言わないけど、ほぼ対象外。
なので、私自身も「運用」に対して知識を深めつつ、支援というお仕事をしているわけです。

こんな状態でお仕事できるのかな??なんて、思っていたのですが、やってみると意外とできるもので、不思議に感じています。人は経験が多いと色々と誤魔化すのも上手になるんですかね(笑)

さて、本題に入りましょう。
みなさん「運用ができている or 上手くいっている」とはどういう状態かご存知でしょうか?
なんとなく、必要な手順書が揃っている。とか、運用専門のチームがいる。とか、問い合わせフォームがある。とか、そんなイメージを持たれている方が多いのではないかと思います。私自身もそうでした。

まず、大前提として「運用ができている or 上手くいっている」というには、「〇〇ができているからOK」といえるものではありません。
システムに対して、色々な視点から見た上で「〇〇ができているからOK」となります。

今回は、その視点の一つである「信頼性」から見た「運用ができている or 上手くいっている」状態を書いていきたいと思います。

「信頼性」とはなんでしょうか?
私はこれが結構ややこしくて、苦手なのですが、私はシステムに対する「信頼性」という解釈をしています。
(お客さんが)「システムを信頼している」「システムを頼りにしている」状態という解釈です。

ちなみに「信頼性」は英語で「リライアビリティ」と言います。
「リライアビリティ」といったら、「サイトリライアビリティエンジニアリング(SRE)」じゃないですか??

SREのお仕事は、システムのダウンタイムを減らして、サービスの可用性を高めたり、開発や運用の担当者間の連携を強化したり、改善や新機能の追加を継続的に行うチームのことです。

なんとなく、SREチームも(お客さんに対して)「システムを信頼している」「システムを頼りにしている」状態にもっていくことが仕事という感じがしませんか??

話を戻します。
「信頼性」から見た「運用ができている or 上手くいっている」状態とは?
つまり、(お客さんが)「システムを信頼している」「システムを頼りにしている」状態だからこそ、「運用ができている or 上手くいっている」と言えるということです。

では、(お客さんが)「システムを信頼している」「システムを頼りにしている」状態はどのようにして、わかるのでしょうか?

ここで出てくる単語が「SLO」と「SLI」です。

  • SLO(Service Level Objective)

サービスレベル目標とも言います。(お客さんが)「システムを信頼している」「システムを頼りにしている」状態になるような箇所に、目標を設定して、サービス品質の維持、改善を行います。

  • SLI(Service Level Indicator)

サービスレベル指標とも言います。SLOに対して数値化した指標です。SLOが達成しているのかを判定する値になります。

私も「SLO」と「SLI」という単語をちゃんと理解し始めたのは、この仕事をはじめてからです。
ちなみに、良く耳にする単語は「SLA」ですね。

  • SLA(Service Level Agreement)

サービスレベルの(お客さんとの)合意ですね。
これは、提供しているサービスが一定レベルを下回った場合に返金に応じるという約束事が書いてあることが多いです。

SLA」は、お客さんとの合意のため、お客さんへの報告義務がありますが、「SLO」と「SLI」はお客さんへの報告義務がないというのも大きな違いです。

「SLO」と「SLI」の話に戻ります。
「SLO」の説明で、(お客さんが)「システムを信頼している」「システムを頼りにしている」状態になるような箇所に、目標を設定する。とありました。
どこに設定するのでしょうか?

とりあえず「えいやっ」はダメです。
レスポンス速度を計測する人も多いのですが、toC向けで重い処理やページで無い限り計測する必要は無いと私は思っています。toB向けであれば、なおさらです。

ここでも新しい単語が出てきます。「ユーザージャーニー」です。

  • ユーザージャーニー

お客さんがシステムを操作する一連の流れや体験を表したもの。トランザクションのようなものだと言えば伝わるでしょうか?

お客さんがシステムを操作する一連の流れ、つまり、ワークフローがあると思います。
そのワークフローをすべて可視化して、最も重複する場所を特定し、そこに対して「SLO」を設定します。

ワークフローは、画面遷移図からわかることもあれば、システム構成図からわかることもあるかと思います。
他にも、インセプションデッキのトレードオフスライダーで最も優先してきた機能を目標に設定するのも良いかもしれません。

そうすれば、システムのどこが重要な機能であり、お客さんがそのシステムに対して信頼する場所なのかが、特定できるのではないでしょうか?

「SLO」の設定ができてしまえば、あとは、その「SLO」を計測するために必要となる指標。「SLI」を決めていくだけです。「SLI」を決めた箇所には監視をいれましょう!

ここで、注意したい点としては、「SLO」を多く設定しすぎないことです。
理由は以下の通りです。

  • データから意思決定する難しさが増える。
  • サービスの信頼性の状態を他の人に報告するのがより困難になる(「信頼性をわかいりやすく伝える」というメリットがなくなる)
  • 計測が多すぎると統計上の問題がでる。(多重検定問題)同じシステムで異なる計測をしてしまう。

そのため、3 〜 5個程度にすると良いと言われています。

「SLO」と「SLI」について、理解頂けたでしょうか?
「SLI」は、計測が必要なので監視が必要になり、「SLO」を超える様であれば、アラートによる通知が必要になります。

ここからさらに考えなければならないのが、「SLI」以外の監視についてです。
システムが構築したばかりであれば、「SLI」以外でも多く監視し、必要であればアラートを鳴らす必要があると思います。
しかし、システムを構築し終えて安定期に入った時は、はたしてそんなに多くのアラートが必要なのでしょうか?
もう「SLI」だけ監視していれば良いのか?

「運用支援」を始めたばかりの私にはわからない課題、まだまだ「信頼性」という視点から見た運用は奥が深い。。。

2025年の抱負について

2025年の抱負について、書きます。

AtCoderの挑戦の継続と成長

AとBは解けるけど、Cが解けない状態が続いているので、改善を目指したいと思います。

新しい会社では、Pythonを書くことが多いので、書くコードをGoからPythonに変更する。

Cを解ける様になるには、練習しかないとは思いますが、、、、

ためしに、AIで曼荼羅チャートとか作ってみて、実践してみると面白いかもしれない。。。

AI曼荼羅チャート

TerraformとAWSの理解

今後、Terraformを使っていくことになるため、使えるようになること。

あまりちゃんと学んでこなかった運用、監視周りのAWSサービスへの理解が求められるため、こちらも理解して実装できることを目指したいと思います。

とりあえず、以下本は読む。

個人開発やってみる

むちゃくちゃ久しぶりに個人開発をやってみようかと思います。

いつかは子供に向けて自分がどんな仕事をしているのかを伝えるような場面があると思っていて、その時に、さらっとアプリを作って、子供に「こんな仕事をしているんだよー」的なことを伝えられたら良いな。。。

本当にそんな場面がでてくるかはわかりませんが、備えて色々なことをできるようになっておくのに越したことはない。。。

AIキャッチアップ

昨今のAI進化はとんでもないです。

AIをうまく使えないと生き残れそうにないような時代になっているので、AIについて知り、うまく使えるようになりたいと思います。

エンジニアとしての得意分野探し

これも継続。

最後に

今年は、新しい職場でのプレゼンスを高めつつ、楽しく仕事&技術を身につけられるといいな。。と思います。

今年もがんばるぞっ!!