今回は、Tactna(Tactnaとは?)のテックリードがプロダクトの品質をどのように高めているか、その具体的な取り組みの一部をご紹介したいと思います。
Tactnaはサービス提供者のプラットフォ―ムサービスとして提供しており、法人向けのSaaSとしています。また認証認可機能を内包(様々なIDaaSの選択が可能)しており、セキュリティと品質は非常に重要なファクターになっています。
また、プロダクト開発では、さまざまなスキルや価値観を持つメンバーが、一つのプロダクトの価値をより良くするというゴールを目指します。
しかし、それぞれの判断基準がバラバラだと、いつのまにか仕様が膨れ上がったり、品質やリリース速度に影響が出たりするものです。
そこで「行動原則」や「マインドセット」を事前に定義しておくことで、チーム全体の方向性を揃え、手戻りを最小限に抑えられます。結果として、高品質かつスピード感のある開発を実現する土台が整うのです。
Tactna Developers Guide
開発に入る前に、チーム内で「Tactna Developers Guide」というスライドを共有しました。プロジェクトの進め方やアーキテクチャ、さらにはプロダクト名の由来まで、幅広い情報をまとめています。ここではその中から、特に重要視している2つの内容を抜粋してお伝えします。
チーム内での行動原則
以下のルールを「MUST」として設定し、メンバーの行動を統一することで余計な不調和を生まないようにしています。
- まずは最短経路を進んでリリースを”最低限”満たせるようにする。優先度の高いものから1個1個DONEに
- その後残りの期間で100点を目指す。プロダクトの価値はどこまでも高められる
- Tactnaとはなにか、背景にどういう意図があるのかを理解する
- 仕様を増やさない・複雑にしない
- 全ての課題はクローズされるまでトラッキングできるよう、ボールを持っている人が責任を持って次に渡すかクローズする
- Issue、P/Rレビューなどタスクのアサイン先は1名に絞る
- 息をするようにコード、ドキュメント、開発環境をメンテナンス(掃除)する
- 不明点は抱え込まずSlackに投げるかその場でMTGを開催する。定期MTGまで待つのは禁止
- MTGは遅刻せずそれだけに集中する。理解できないことをスルーしない
- 今と未来だけに集中する。過去がどうとか変えられないことに時間を使わない
- 人(お客様含む)のせいにしたり馬鹿にすることを言わない
プロダクトのフェーズやメンバーそれぞれの経験から重要とするものが変わってきます。なのであえてわかりきったことを強調する必要がありました。
ルールを定めるのは極力避けたいですが、原則でも推奨でもなく、あえてMUSTなルールとしておくことで、改めてこれらが今このタイミング、このメンバー構成にとっては重要だということを念押ししました。
「品質 vs 開発速度」の優先順位
開発プロセスでは、どうしても「早く作る」か「高品質を追求する」かのトレードオフが発生します。そこで、Tactnaでは優先順位を明確に定義することで、日々の小さな判断がブレないようにしています。
品質 vs 開発速度
- セキュリティに関わることは最重要の課題です。少しの脆弱性も許されないため、なにかお気づきの点はSlackへご連絡ください。
- 認証周りの可用性に関わることも最重要です。ログインに関わる部分は製品アップデート時であっても、数秒も停止できません。
- データのメンテナンス性に関わることは3番目に大事です。複数の企業アカウント、テナントが載ってくるため、それらがどれだけ増えても製品アップデート時のコストがさほど変わらないように気をつける必要があります。
- コードのメンテナンス性に関わることは4番目に大事です。5年後もこのコードベースがメンテナンスされ続ける前提の明瞭なコードにする必要があります。
ただし、表面的な機能であれば容易に載せ替えられるため、少しくらい雑でも大丈夫です。多くの機能から利用されるようなコアな機能については、シンプルになるまで3回書き直すくらいの気持ちでお願いします。 - 仕様に表現されないUIUXの些細な挙動も大事です。製品の評価を大きく左右する部分のため、全体的な統一感と素人が作りました感が無いことが大事です。
- 最後に(とはいえ重要)開発速度です。高い品質がレバレッジとなり開発速度を上げていくと信じています。
細部にこだわりたいという人もいれば、動けばそれでいいじゃんという人もいる。いろんな人がいます。開発をしていると見えないところで大量の判断がされていきますが、そのときのトレードオフ基準が人によってバラバラにならないよう基準を定めました。
TactnaはエンタープライズグレードなSaaSとして作られています。セキュリティ・可用性・保守性といった根本的な品質を妥協しない一方で、高いリリース頻度を維持できる開発スタイルを重視しています。そのために、チームメンバーの行動指針や優先すべき品質を明確化しておくことで、ブレのないプロダクトづくりを意識しています。
SaaSを提供する上で重要となる「アカウント管理基盤」の安全性や拡張性を高いレベルで担保しているからこそ、安心してご利用いただけるプロダクトに仕上がっていると自負しています。これからもTactnaは、長期的な成長を見据えた設計・開発を続けていきます。
Yuki Sanada, Tech Lead
TC3では、上記のような複数サービスを組織に対して提供するような実装をMS&ADインターリスク総研様向けにご支援させていただきました。事例記事がありますので、是非ご参照ください。
今回の記事で紹介したような課題に対応するソリューションとして、「Tactna Identity Platform」を提供しています。認証認可機能から、複数向けのサービスポータルまで統合的に提供しています。
Tactnaのデモや詳細ご紹介資料をぜひご確認ください!
(以下バナーもしくはこちらから)
