トレタ開発者ブログ

飲食店向け予約/顧客台帳サービス「トレタ」、モバイルオーダー「トレタO/X」などを運営するトレタの開発メンバーによるブログです。

開発組織の新しいコアバリューを定めました

こんにちは、トレタ VPoEの北川です。

先日VPoEに就任したご報告をしましたが、あわせて開発組織内のコアバリューを新しくしました。 この記事ではその新しいコアバリューについて書こうと思います。

tech.toreta.in

新しいコアバリュー

「短く速く作り出そう。遠いゴールを目指して飛び込もう。(Dash & Dive)」

トレタの会社全体のビジョンやミッション、行動指針などはありますが、その中でも現時点での開発組織としての重心としたい要素をこの言葉にまとめました。 盛り込みたい要素はいろいろとありましたが、なるべく短い言葉にしたかったのでそこに込めた背景を説明していきます。

短距離走ではなく長距離走でもなく、短距離走の連続

トレタはベンチャー企業である以上、短期間での開発&リリースが求められるプロジェクトは少なくないです。 新規プロダクトを2ヶ月で作り上げてリリースする等、ユーザーに早く価値を届けることを目標にスピードを重視した短距離走的な進め方をする場面はよくあります。

一度プロダクトをローンチした後は、運用面も意識する必要があるため長期的な視点が必要になってきます。 ただし、初回リリースのスコープから外した機能のエンハンスや、手が回らなかった部分はリリース後にゆっくりやっていくか、といったらそうはいきません。 そこからエンハンスの新しい短距離走が始まるからです。

短距離を走り切ったらまたすぐ次の短距離を走る、それが今の開発現場の状況です。

最優先される価値は「スピード」

荒ぶる四天王があらわれた!*1

そんな限られた期間内での開発状況においてどうリリースまでもっていくか。プロジェクトを調整する要素は「時間」「予算」「品質」「スコープ」の4つがある、と「アジャイルサムライ」の本にはあります。

時間」については、定められた短い期間でやるのが前提でありリリース日を延期するのは最終手段です。

予算」について、「人月の神話」にもある通り人を2倍の数にしても開発速度が2倍になることはありません。人が増えることで発生するコミュニケーションコストは開発工数の中でも大きく占める要因の一つと考えています。最速で行うには少人数の方が向いています。

品質」については@t_wadaさんの「質とスピード」*2の話が社内ではよく挙げられます。質(保守性)とスピードはトレードオフの関係ではなく、高速なデリバリーをし続けるためには高い品質を保ち続けることが必要と考えています。

最後の「スコープ」が「アジャイルサムライ」の本にもある通り調整が一番しやすい部分です。スコープをいかに小さくし、その中で最速で開発を行うか、という重要性をコアバリューの「短く速く作り出そう」という言葉をに入れました。

常に全速力を続けるために、コンディション(質)を保ち続ける

上記の通り「品質」は常に高く保ち続ける必要がありますが、じっくりとリファクタリングする余裕もありません。

そこで必要なのは開発をしながら品質も同時に保つ、というやり方を意識することです。それは負債になりづらい設計や実装に心がけたり、TDDの様に実装とテストコードを対で実装していくやり方かもしれません。

ただし、高い品質を求め過ぎて開発速度が下がってもいけません。盲目的にテストコードのカバレッジを80%以上に保つというルールを設けるのではなく、テストコードで得られる安全性とそこにかける時間のバランスを常に意識することを心がけます。

場合によって、納期を優先して一時的に負債を許容する場面もあるかもしれません。ただし、それは解消する目処がある場合にのみ良しとします。 次のフェーズで同じところを触るからその時に改善する、そのうち使われなくなるから今は見逃すなど、負債が残り続けないかという観点も意識します。


次に「遠いゴールを目指して飛び込もう(Dive)」の部分について、「短く速く作り出そう。(Dash)」の部分が短期の目線を表しているのに対し、こちらは長期の目線を表すために入れました。

始める前には必ず一歩立ち止まる

走り始める前にゴールまでのルートを計画してから飛び込む必要があります。重要なのは短期のゴール長期のゴールの2つを意識することです。

よく行うアプローチとして、小さく絞った「スコープ」を積み上げていくのではなく、先に最後のゴール像を設計しきってからそこまでの登り方を分解していきます。 特にデータ設計など後付けしづらい部分などは、最初に詳細まで詰めきっておきます。 ゴールまでの道筋を描き切ったら、一旦頭の中から放念して今度は直近のゴールへの道筋を設計します。

この様な短いスパンの視野長いスパンの視野を行き来することが重要です。

近道はない。あるのはトレードオフのみ。

設計を進める上で、どちらの設計を選択すべきか迷う場面は往々にしてあります。肝に銘じないといけないのは、近道や銀の弾丸はないということです。 すべてはトレードオフがあるのみです。

一見簡単そうな道があったとしても、何がトレードオフになっているかを考えることが重要です。 どの道を選ぶべきかの判断軸は、前述のとおりどちらが速くゴールに辿り着けるか、です。 険しい道だとしても結果的に最後にゴールするのが早い道を選ぶための勇気を持つために「Dive」という言葉を入れました。

長く潜り過ぎてはいけない

遠いゴールを目指す時の注意点として、そのゴールを過信しすぎてはいけません。 常に状況は変わります。 当初のゴールは途中で目指していたものから変わっている場合があります。

たとえば、システムリプレイスなど期間が長く大きいプロジェクトがリリース直前になって頓挫することは今までトレタの歴史でも多々ありました。 一年かけて開発していた間にユーザーが求めていたものが変わっていたり、外部環境が変わっていたりします(パンデミックなんて予想できない!)。 ビッグバンリリースはなるべく避けなければならず、最初の言葉にもある短く細かくリリースしていくことが重要です。

常に状況を見て現在地を確認していれば軌道修正は可能です。 途中で意思決定や設計を間違えることがあれば、その時も軌道修正すればよいのです。 失敗を恐れずに「Dive」です。

さいごに

いかがだったでしょうか。 このような開発文化でトレタでは日々の開発を行なっていきます。 エンジニア採用を積極的に行なっていますので、興味がある方がいればぜひ声をかけてみてください。

hrmos.co

© Toreta, Inc.

Powered by Hatena Blog