🏆

ミニタスク大会〜割れ窓を直すための開発イベントを開催した話〜

2024/12/23に公開

このブログはSocial Databank Advent Calendar 2024 の20日目です。

はじめに

みなさんこんにちは!
ソーシャルデータバンクで企画の仕事をしている塩浦です。
今日は、弊社で取り組んでいる「ミニタスク大会」について紹介したいと思います。

SaaSプロダクトの開発現場では、「大きな機能の実装」や「緊急性の高い不具合の解消」「データベースチューニング」といった派手な話題が注目されがちです。
しかし実際には、日々のユーザー体験に影響を与えるような細かい課題も無数に存在しています。たとえば、UIの軽微な不具合や文言の表記揺れ、特定条件下でのみ発生するマイナーなバグなどです。

こうした課題は、「やろうと思えばすぐ直せるけど、緊急度も影響度も低いし後回しでいいか」と判断されがちです。その結果、軽微な使いにくさがどんどん積み上がり、プロダクト全体の印象を少しずつ悪化させてしまいます。

まさに、割れ窓理論が示す世界です。

私たちは、そういった「小さな課題」に集中して取り組むための社内イベント「ミニタスク大会」を月に1回開催することにしました。このブログでは、その背景や進め方、そして得られた成果についてご紹介します。

割れ窓理論とは

割れ窓理論は1980年代に犯罪学者のジェームズ・Q・ウィルソンとジョージ・ケリングによって提唱された理論で、「些細な問題を放置すると、次第により大きな問題に繋がる」という考え方です。

例えば、街の建物の窓ガラスが一枚割れて放置されていると、人々は「あの場所は管理が行き届いていない」と感じ、さらなる破壊行為やゴミの不法投棄が助長される可能性があります。一方で、早い段階で窓を修繕することで秩序が保たれ、問題の拡大を防ぐことができます。

この理論をSaaSプロダクトに当てはめると、細かいUIの不具合や仕様の矛盾を放置することで、ユーザー体験の質が低下し、プロダクト全体の評価や利用率に悪影響を及ぼすリスクがあると考えられます。

ミニタスク大会の開催背景

SaaSプロダクトの開発現場では、「細かいUIの不具合」や「特定の条件下で発生する軽微なバグ」といった小さな課題が後回しにされることがよくあります。この背景にはいくつかの要因があります。

  1. 優先度が上がりにくい:
    こうした課題は、影響範囲が限定的であるため緊急度が低く評価されがちです。その結果、チームのリソースは大きなプロジェクトや新機能の実装に集中しがちです。

  2. 心理的な負担:
    小さな課題に取り組むこと自体が手間に感じられることがあります。「この程度なら後回しでも大丈夫」と考え、対応がどんどん先送りされます。

  3. 累積的な悪影響:
    放置された課題が積み重なると、プロダクト全体の印象を損ね、ユーザーの不満につながる可能性があります。さらに、一度に多くの課題を解決しようとすると、チームの負担が増してしまいます。

ひとつひとつは軽微な問題であっても、それが積み重なったときにプロダクト全体としての不便さや質の低下に繋がってしまう懸念がありました。
このような懸念を解消するために、月例で「ミニタスク大会」というイベントを導入しました。これにより、放置されがちな小さな課題を集中的に解決し、プロダクトの品質向上を図っています。

ミニタスク大会の進行方法

ルール

もっとも大切にしているルールは「その日のうちに開発を完了させること」です。
ミニタスク大会の開発が翌日以降に持ち越されると、普段の開発とのマルチタスクになって業務効率が落ちたり、そのまま放置されて中途半端な状態になってしまうことがあります。
そのため、「その日のうちに完了させる」は開発チーム全体としても意識して活動しています。

タスクの選定

SDBではプロダクトに関連する要望・課題をNotionのデータベースにストックしています。日々の開発や運用の中で見つかった「小さな課題」も日々このデータベースに溜まっていきます。
ミニタスク会の数日前にこの要望・課題データベースから企画チームとエンジニアで話ながら取り組む候補を選びます。

例えば、次のような課題に取り組むことが多いです。

  • 表記揺れの修正
  • ボタン配置の微調整
  • ログに出力されるメッセージの改善
  • テストコードのリファクタリング
  • 特定条件下でのみ発生する小規模な不具合

これらのタスクは、優先度が低いため後回しにされがちですが、ミニタスク大会ではこれらを一斉に片付けることを目標とします。

ペアプログラミングの導入

大会が軌道に乗った頃から、効率と学びを両立させるためにペアプログラミング(ペアプロ)を導入しました。ペアプロのメリットとして、次のような点が挙げられます。

  • スキルトランスファー: ジュニアメンバーがシニアメンバーから直接学ぶ機会が増える。
  • ミスの削減: 二人でコードを確認することで、バグやミスを未然に防げる。
  • コミュニケーションの向上: 普段業務上関わらないメンバー同士でチームをペアを組むことで、コミュニケーション機会となる。

イベント当日の進行

イベント当日は、まず全員で集まって簡単なキックオフミーティングを行います。その後、タスクをチームごとに割り振り、作業に取り掛かります。

開発の進め方は、次のように定めています。

  • 課題の内容の確認
  • 仕様決定
  • ペアプロ
    • 相談があれば適宜企画・デザイナーとコミュニケーションをとる
  • 動作確認
  • 検証項目作成
  • 2ndレビュワーとペアレビュー
    • 対面で直接レビューを実施
  • 開発が完了してから次の課題へ!

1日の終わりに再度集まって全体で成果の確認をし、互いに労ってイベントを終了します。

ミニタスク大会の成果

ミニタスク大会を通じて、以下のような成果が得られました。

  1. プロダクトの改善

    • ユーザーから寄せられていた細かな不満点が解消され、満足度が向上
    • CSやサポートから上がってきた細かい課題にも対応しているため、現場からも喜びの声
  2. チームのスキルアップ

    • ペアプロを通じて、ジュニアメンバーに好影響
    • シニアメンバーも新しい視点を得ることで、チーム全体のスキルセットが向上
    • 普段触らない機能のコードも触ることでドメイン知識の向上
  3. 社内の文化として定着

    • 最初は特定のチームを対象にして始めましたが、現在では開発チーム全体のイベントへと進化
    • 月に1度定常業務と離れた業務をすることがリフレッシュできる良い機会にもなっている

おわりに

割れ窓理論を意識しながら、小さな課題を1つずつ解決していく「ミニタスク大会」。この取り組みを通じて、プロダクトの品質向上だけでなく、チーム全体の成長や社内文化の醸成にもつながりました。

これからもミニタスク大会を進化させながら、より良いプロダクト作りを目指していきます!

ソーシャルデータバンク テックブログ

Discussion