Inside of LOVOT

GROOVE X 技術ブログ

LeSS in Action での学び

今年も始まりました、GROOVE X のアドベントカレンダー 2025

1日目を担当します、ソフトウェアエンジニアの id:iizukak です。

はじめに

GROOVE X では、ソフトウェア開発組織全体でスクラムを採用しています。そして、スクラムの中でも特に LeSS という複数チームでスクラムを実践するためのフレームワークに取り組んでいます。

スクラムを上手く活用するためには、スクラムを良く理解することが大切です。そのため、GROOVE X では希望制でスクラムに関する社外の研修を受けることができます。今回、私は LeSS in Action: Developer Practices という研修に参加してきました。この記事では、LeSS in Action で得た学びのうち、特に印象に残ったものをいくつか紹介したいと思います。

この記事は、スクラムについてはすでにある程度把握されている前提で書いています。スクラムについて概要を知りたい方には、以下の Atlassian のページがおすすめです。

研修中に得た学び

見積もりは、チームのコミュニケーションのために

スクラム開発において、作業量の見積もりは、プロダクトバックログリファインメントもしくはスプリントプランニングにおいて行われることが多いと思います。作業量の見積もりの目的はなんでしょうか。ベロシティの計測でしょうか。それとも工数の計算でしょうか。

今回の研修で講師の Terry Yin が強調されていたのは、見積もりはプロダクトオーナー (や他のチームメンバー)が工数を把握するためのものでもあるが、見積もりを行う際にチーム内で行うプロダクトバックログアイテムに関する議論そのものが重要なのであるということでした。確かに、この視点はこれまで私は持っていなかったため非常に新鮮に感じました。

今回の研修では、実際に擬似的なスクラムチーム内でリファインメントを行い工数の議論をしたのですが、アイテムについてどう考えるかというアプローチが実に多様で、想像以上の議論が生まれました。

また、スプリントレビューにおいても、チーム内でアイテムに関する同一認識を持っておけるため、レビュー時の認識齟齬や手戻りを減らすことができるという効果もありました。

Live Documentation による仕様定義

私の仕事では、プロダクトの仕様は自然言語のドキュメントやスプレッドシートで定義することが多いです。こういった仕様書は、開発が進むにつれて陳腐化しやすいというのは誰もが感じるところだと思います。

今回の研修で実践したのが、Live Documentation システムを用いて仕様を書き、そこから直接エンドツーエンド (E2E) テストを生成し実行するという手法でした。この場合、仕様がテストコードとして生成されて CI 上で実行されるので、陳腐化しなくなるというのが実感できました。さらに、仕様と矛盾のある実装についても早期に発見することができました。

研修では Cucumber というテストツールを用いて仕様としてのテストを記述しました。Cucumber では英語でテストケースを記述できますが、日本語にも対応できます。

GROOVE X ではロボットを開発しています。ロボットに対する Live Documentation はどのように作れるのかな、というところについて、ソフトウェアチーム内で議論してみたいですね。

リファクタリングには二種類ある

ソフトウェアエンジニアは日常的にコードベースのリファクタリングに取り組んでいると思います。しかし、その目的について分析することは、実はあまりないかもしれません(少なくとも自分は)。 なんとなく、将来的な保守コストが下がるんだろうなという期待はあるのですが、意識としてはその程度でした。

しかし、研修においてはリファクタリングを2つに分類し、実際に実装を行いました。

  • 継続的なリファクタリング
    • 一般的にいうところのリファクタリング
    • コードを改善して保守性を向上させるのが主な目的
  • 事前リファクタリング
    • スプリントバックログアイテムの機能を追加する前に、変更を行うために必要なコードベースの整理

このうち、継続リファクタリングはソフトウェアエンジニアであれば自然に取り組むものだと思うのですが、事前のリファクタリングというのは意識的に取り組まないと、既存のコードベースに無理やり新規実装を差し込むことになり保守性が低下してしまいます(身に覚えが…)。実際の開発でこのふたつは完全に分離できるかというと、そうでもなさそうではありますが、意識しておくと良いポイントだと思いました。

研修中にモブプログラミングを行う際にも、「これは事前リファクタリングだよね」と確認しながら進めることで、実装がスムーズに進んだということがありました。

最後に

LeSS in Action では、上記のような学びがあった他にも、モブプログラミングの実践や、一通りのスクラムイベントなど、普段社内で行われているのとは異なるスタイルでの開発を体験できました。また、研修中のスクラムチームは他社のエンジニアとミックスして構成されるため、他社の開発スタイルや社風に関して議論することもできたことから得られるものが大きかったです。

最後に宣伝になりますが、GROOVE X では積極的に採用を行っています。スクラムを実践してみたいそこの貴方のご応募をお待ちしています。

recruit.jobcan.jp