日本国内DevOps事例:ソフトウェア開発での品質と生産性向上の取り組み
(本内容は、GitLab Connect 2022の講演内容を記事化したものをご紹介しています。)
オーケー株式会社について
オーケー株式会社は「高品質・ Everyday Low Price」を経営方針として掲げ、1都3県を中心に、約138店舗のディスカウント・スーパーマーケットを展開している。また、2022年度JCSI顧客満足度調査において、オーケーがスーパーマーケット業種で12年連続1位を獲得している。
これまでの課題
当社は、ECなど事業の拡大、店舗数や販売エリアの拡大に耐えられるシステム構築を推進しており、その一環として開発体制の見直しが課題となっている。
店舗については、現状、関東圏内、主に神奈川県を中心に店舗を展開しているが、他の地方都市へ展開し、リージョナルチェーンからナショナルチェーンへ規模の拡大を目ざしている。また、コロナ禍も相まって、ネットスーパーの需要は拡大傾向にあり、ネットスーパー専用商品を発注するためのシステム刷新が必要だ。こうした背景から各種システムの強化が急務となっており、従来のオンプレミス環境からクラウド環境へシフト・刷新を行い、併せて開発環境もクラウドネイティブ化することが求められている。
一方で、ソフトウェア開発における課題は、タスク管理、ソースコード、ドキュメントなどの環境・リポジトリ管理、レビュー管理、リリース管理に別々のツールを利用しており、さまざまな問題が顕在化していた。タスク管理はRedmineで行っていたが、ソースコード、ドキュメントとのひも付きがないため、管理が複雑であった。案件チケットは膨大にあるが、完了していても実際はレビュー中になっていたり、未完了のままになっていたりするなど進捗に信憑性がなかった。
また、環境・リポジトリ管理はSVNで行っていたものの、「どこに何があるのかわかりにくい」「履歴を追えばわかるが、履歴を追いかける作業に工数を奪われる」などの問題があった。
ソースコードなどのレビュー管理は独自の開発支援ツールで管理していた。DBに各種情報(ドキュメント、ソースコード、レビュー記録など)が蓄積されるものの、「レビューの何%が終わっているのか、状況が可視化できない」「SVNにコミットしないと反映されないため、履歴が煩雑になる」などの問題があった。
そして、リリース管理については、SVN、Fraqta、Redmine、Jenkinsなど複数のツールを組み合わせて管理していた。本番環境へリリースするためのディレクトリに格納(SVN)、格納された情報からリリースノートを作成し(Fraqta)、Redmineにてリリース用チケットを作成し(Redmine)、JenkinsがRedmineのチケット内容(リリースノート)に従って本番環境へデプロイするという流れだ。そのため、リリース資材管理が複雑となり、資材のチェックなどの工数が肥大化した結果、ミスを誘発し品質の低下を招いていた。
課題を整理し2つの課題に取り組む
課題1.「管理工数の肥大化」と「管理品質の低下」
課題2. テスト前、リリース前の膨大な手動作業
(続きは以下リンクにてお読みいただけます)
弊社パートナー様はNetworld Dev Portal アカウント(無料)登録いただくと、GitLabパートナー制度や DevSecOps関連提案資料などのパートナー限定コンテンツがご覧いただけます。
DevSecOps全般、GitLab製品または本サイトについては以下よりお問い合わせ下さい。