地方企業の複業に特化したダイレクトスカウトサービス「チイキズカン」
エルボーズが取り組む、開発の自動化【Lboseカイゼンレポート】
「“誰と、どこで、何をするか”を、もっと自由に。」をミッションにかかげ、3000名以上のフリーランスと企業をつないできたエルボーズ。これまで、さまざまな企業様の新規事業立ち上げや開発の支援を行なってきました。
エルボーズでは多くの副業・フリーランスのメンバーと一緒に、企業様に価値のあるプロダクトをつくるため、組織全体でさまざまな仕組み化に取り組んでいます。
不定期に、エルボーズが行なっている仕組み化や品質改善の取り組みなどの“カイゼン”をまとめています。今回は、CTO室で取り組んでいる、開発における自動化と仕組み化についてご紹介します。
はじめに.CTO室とは?
プロダクト開発支援をしているエルボーズでは、エンジニア・デザイナーなどプロダクト開発に関わるメンバーが多く所属しています。
CTO室は、品質の高いプロダクトが作れる開発体制を構築することを目的に、ひいては、より多くのクライアントの課題解決ができるような開発技術を持てるようにすることを目的として設置されました。
CTO室のミッションは以下のとおり。
1.Attend bizによる成果物(プロダクト)の品質向上
2.Attend biz全体の開発技術の底上げ
3.Attend bizの開発における課題の収集と改善
上記の3つのミッションのもと、「開発生産性向上」「コーディングの短縮」「品質管理」など取り組みを行なっています。今回は、そんなCTO室で行なっている取り組みの一部をご紹介します。
取り組み1.品質向上とレビュー自動化
開発の品質向上や、関わるエンジニアやデザイナーの開発しやすさのために、コーディング・レビュールールを作成。
しかし、ルールが多くなるほどレビューに時間がかかってしまいます。そこで、レビューの自動化にも並行して取り組んでいます。
品質改善への取り組み
- コーディングルール・レビュールールの作成
- レビューの自動化
今後の展望
- フロントエンドルールの構築、自動テストなど
- デザインルールの構築
- AIコードレビュー
取り組み2.コーディング自動化
素早くプロダクトを提供する仕組みをつくるため、コーディングの自動化に取り組んでいます。
取り組み内容
- コマンドの実行で、指定したモデルに紐付くCRUDのAPIとそのテストを自動生成
- 開発のベースとなる、Model, Controller, Request, Service, Repository, Feature Test のテンプレートを自動生成
- カラム情報は、migration.txt ファイルに直接記述
コマンド仕様
今後の展望
- テキストファイルではなく、migrationを読み取り生成ができるようにする
- 論理削除オプションの実装
- 認証がある場合のテストコードの出力
取り組み3.Notion APIを利用したLaravelのコード自動生成
実装の高速化のため、Notion APIを利用してコードの自動生成に取り組んでいます。
Notion API とは?
- ページ、データベース、テーブル、画像、テキストなど、Notionを構成しているそれぞれの要素の内容を取得したり、登録・更新したりできる
- リクエスト制限があるので瞬間的に大量のリクエストは送れない(平均3回 / 秒)
Notion API公式ページ : https://developers.notion.com/
取り組み内容
Notionで作成したAPI設計書から、そのAPIに実装に必要なクラスの自動生成。
以下のクラスの実装高速化を目指しています。
- Controller(シングルアクション)
- Request
- Resourse
- Service
- Test
エンドポイントとメソッドからルーティング
リクエストパラメータのテーブルからRequest
レスポンスのテーブルからResource
必要なクラス名を反映したController
今後の展望・課題
- バリデーションルールの追加対応
- ネスト構造への対応
- ServiceやTestの生成
- (必要に応じて)API設計書のテンプレート策定
- そもそもNotionAPIを使うのがベストなのか?などの模索
取り組み4.開発効率化
ルーティン的な作業を効率して、開発スピードと効率を上げるための仕組みづくりもしています。
取り組み内容
プロジェクト立ち上げ時に行う初期構築をテンプレート化(Laravel・Vue)。
- ログイン・会員登録などのAPI
- Dockerなど開発環境の用意
- Lboseの標準ディレクトリ構成 など
取り組み5.AIを用いたコードレビューの自動化
コードレビューは品質を上げるために重要ですが、時間がかかることで開発進行に影響がでることも多いです。そこで、AIを用いたコードレビューの自動化に取り組んでいます。
取り組み内容
- ChatGPT(AI)とペアプロして制作に挑戦
- 完成したβ版でレビューするものの、期待するレビュー結果は出ず。
β版コード
レビュー結果▼
今後の展望
- 実運用するにはプロンプト・出力の改善が必要
- 独自データを元にレビューできるAIをどう作るかがキーになる
- コードリーディングや仕様の解説、コードレビューなどの活用方法を模索中
CTO室では、より多くのクライアントの課題解決ができる開発技術を持てるよう、カイゼンを続けています。
そんなエルボーズにが展開する、新規事業立ち上げ支援「ATTEND biz」にご興味のある方は、ぜひ一度お問い合わせください。