概要
内製化を目指して、ソフトウェアエンジニアリング教育を実施するとともに、豆蔵社員が実プロジェクトでのリードなどの振る舞いを手本として見せる形で、若手社員の技術レベルの底上げを行った。クラウドネイティブなアーキテクチャ構築やDevOps 導入で社員の生産性向上を支援した。「豆蔵=高スキル集団」との信頼と評価を得て、実装工程については顧客社員がベンダー社員を上回る技術レベルに到達した。
顧客の目的
- 従来の外注管理主体の業務から脱却し、社員自らが開発を実践する(内製化)ことによってモチベーションを高める
- アジャイル開発を推進し、自律的に行動するチームで構成される組織へと変革する
- 若手主体の社員の技術レベルを向上させる
- アプリケーション開発のみに注力することできるアーキテクチャを構築し、プロダクトリリースまでのリードタイム短縮を図る
顧客のビジネスドメイン
- 通信
支援方針
- 実プロジェクトの中で豆蔵社員自らがスクラムマスターやテックリードの手本となることで顧客社員を育成する
課題とソリューション
若手の社員が多く、プロジェクトの成功体験がない
- エンジニアスキル体系に基づき、継続的に各社員のエンジニアリングスキル評価とスキルアップに対する動機づけ
- モデリング等のエンジニアリングスキルの教育を実施(OOAD 教育)
※プロジェクトが広範囲の組織にまたがり、アジャイルプロセスにそぐわないケースもあった。その場合は、無理にアジャイルを適用しない方針とした。
プロダクトコードの品質が低い
- 品質管理チームの立ち上げ
- テスト体系の整備と教育
- 技術課題専門Tを立ち上げ共通技術課題を横展開
- 各種テストの自動化と静的解析の徹底 (Quality Gate)
コンテナベースのアプリケーションのデプロイや運用に関するノウハウがない
- CI/CD パイプラインを構築しデプロイやバージョン管理自動化
- アプリケーションメトリクス、ログの収集・可視化製品導入
インフラスキルがない
- クラウドベンダが提供するマネージドサービスや商用ディストリビューション製品を採用し、インフラ固有知識を外部化
- 共通インフラを扱う組織との協業推進
効果
- 全体的に顧客のエンジニアリングスキルが上がった
- 特に実装工程ではベンダーの要員よりもレベルアップした
- 内製主体のプロダクトの商用リリースを果たした
今後の展望
- ビジネス部門と連携を深めて BizDevOps を推進する
適用技術
- 実行基盤
- Azure / Kubernetes
- 監視
- Azure Application Insights / Datadog
- 開発言語
- Java
- アプリケーション
- Spring Boot
- CI
- Concourse CI
- Concourse CI