1ヶ月に約60回のリリースを実現するスピーディーな開発
株式会社sumarch(https://sumarch.co.jp/)では不動産流通事業「住まいの窓口 ハウスボカン」、注文住宅「HOLIDAYS」、リノベーション「KULABO」など住まいに関連するサービスを提供しています。
開発チームは、ディレクター、デザイナー、エンジニア合わせて約5名の少人数で構成されています。エンジニアは2名で、この2名が3つの集客サイトと基幹システムの開発・運用を担当しています。エンジニア2名だけでこれらの開発・運用を行うのは大変ですが、sumarchでは効率的な仕組みを整えることでこれを解決しています。リリース回数は1ヶ月に約60回、リードタイムの平均は73.6時間となっています。
この記事ではその取り組みについて紹介していきます。
開発効率を推し進める取り組みと成果
アジャイル開発によるスピーディーで柔軟な開発を実現
sumarchではスクラムの一部を入れつつエクストリーム・プログラミング(XP)を行っています。 頻繁にコミュニケーションを取りながら進捗確認とタスク管理を行い、メンバーのタスク状況や進捗を調整しています。多くの課題がある中で、私たちは可能な範囲内である80%の努力をタスク遂行に注ぎ、残りの20%をチームの改善活動やコード品質の向上など、将来の発展のために活用しています。XPでは実装方針が決まった段階でレビューを行うことで成果物の方向性と品質を上げ、メンバー間でのスキル継承も行っています。
また、タスク管理についてはカンバン方式で運用しており進行中タスクの制限(WIP制限)を設けることでチームのワークフロー効率を上げています。
コードレビューの徹底
コードの品質を保つために必ずコードレビューを行なっております。 プルリクエストの出し方にも工夫しており1回のプルリクエストを小さく保ったりプルリクエストのタイトル・内容説明・補足コメントを充実させることでレビューアーの負担軽減やレビュー制度の向上につながっています。また、内容説明を充実させることで将来のコード修正や追加開発を行う際の理解を深める効果があります。
テストコードの徹底
長期的な開発速度の向上:
テストコードを実装することで手動でのテスト工数を減らし、長期的な開発速度の向上につなげています。
使用技術のバージョンアップへの対応:
サポート期限が近づくと使用技術のバージョンを上げる必要があります。テストが書かれていることで使用技術のバージョンアップ時にテストコードがあれば影響範囲の確認が容易になるため、積極的にバージョンアップに取り組むことができます。
テストコードの徹底による長期的な開発速度の向上
sumarchではテストコードの実装を徹底しており、これにより手動でのテスト工数を減らすことができています。リリース時のテスト工数だけでなくサポート期限を起因とした各種バージョンアップを行う際にも、自動でテストを行えるため影響範囲の確認が容易になり長期的な開発速度の向上に繋がっています。
リリースサイクルの高速化
エンジニア2名デザイナー2名の体制で1ヶ月に約60回のリリースを実現しています。
GitHub Actionsを利用したリリースフローの自動化やSlack等のコミュニケーションツールへの連携により、確認作業の短縮化などを行うことで迅速なリリースを実現しています。
リリースの単位を小さくする文化やテンプレート化、自己レビューの徹底でレビューコストを下げることでリリースサイクルの高速化に繋がっています。
リモートワークを利用した場所に縛られない働き方の実現
リモートワークのメリット:
sumarchの開発チームはリモートワークも活用しながら開発をしています。 コロナ禍を機に普及したリモートワークですが、地理的制約であったり家庭事情でオフィスへの出勤が難しくなってしまっている働きたくても働けない人材の確保ができるため、採用の面で大きなメリットが存在します。
リモートワークのデメリット:
一方でオフィスにいる時のようにメンバーに気軽に相談できたり、スピーディに情報共有を行う機会が減少するため、コミュニケーションの機会が全体的に低下するというデメリットが挙げられます。
sumarchではリモートワークのデメリットをどのように解消しているか
sumarchではチーム内でのオープンなコミュニケーションを大切にしており、Slackを活用することで気軽に話せる環境と雰囲気を実現しています。timesチャンネル文化を取り入れコミュニケーションの活性化を促しています。また、議事録や意思決定を含む情報はテキストで残しメンバーがアクセス可能な状態で管理しています。情報の透明性を確保し、すべてのチームメンバーが必要な情報をいつでも確認できる体制を整えています。
四半期に1度の目標設定と振り返り
3ヶ月に1度振り返り・目標設定をしており、その中で、開発環境の整備やコード品質改善の目標を設定しています。その結果チーム全員が開発効率化に取り組むことができています。
週1の代表との進捗報告会議
代表と毎週進捗報告会を行い、会社の状況共有やタスクの優先度・方向性のすり合わせを行っています。 従業員200人規模の会社で毎週社長と話せる環境が、社内の一体感とスピード感あふれる開発につながっています。
エンジニアの働きやすさを重視した福利厚生
会社が成長し続けるには良いプロダクトが必要です。そしてそれを作るための良いエンジニアが必要という考えのもと書籍購入制度、Udemyでの受講サポート、AWS開発環境の提供、IntelliJ IDEAのライセンス支給が含まれています。
さらに、GitHub CopilotやChatGPTなどのAIツールの活用も積極的に支援しており、技術的スキルの向上と効率的な開発プロセスの促進を図っています。
開発効率の指標と評価
当社の開発効率の指標は、Four Keysの基準に基づいても非常に良好です。
リードタイム、つまりコードがコミットされてから本番環境で正常に実行されるまでの総時間は平均73.6時間です。このプロセスは以下のように細分化されます。
開発プロセスのステップ |
平均時間(時間) |
---|---|
コミットからオープン |
44.6 |
オープンからレビュー |
12.2 |
レビューからアプルーブ |
6.3 |
アプルーブから本番リリース |
10.5 |
総リードタイム |
73.6 |
終わりに
私たちの内製化と開発効率化の取り組みが、他社の効率向上に役立つ一例となれば幸いです。
一緒に開発しませんか?
弊社は成長期フェーズの会社です。 売り上げ規模では100億円到達間近で日本の企業の上位1%に位置しますが 現状維持ではなく、どんどん新しい挑戦を始めようとしています。
しかし、多くの取り組みに対するリソースが不足しています。エンジニアとして、さらなる事業貢献の余地を感じています。既存の文化を尊重しつつ、丁寧に開発組織を拡張していきたいと考えています。
興味を持っていただけた方は、ぜひ採用ページよりご連絡ください。
https://recruit.sumarch.co.jp/
会社概要
社名:株式会社sumarch
本社:愛知県名古屋市中村区名駅三丁目28番12号 大名古屋ビルヂング19F
代表取締役:鳥居 儀彰
コーポレートサイト:https://sumarch.co.jp/
ハウスボカン:https://www.housebokan.co.jp/
KULABO:https://kulabo.co.jp/
HOLIDAYS :https://holidays-design.com/
TEL:052-526-1395
FAX:052-526-1396