Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
楽楽精算のリリースプロセス最適化/meetup_20211117
Search
Rakus_Dev
November 29, 2021
Technology
0
1.4k
楽楽精算のリリースプロセス最適化/meetup_20211117
Rakus_Dev
November 29, 2021
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
ARR100億超SaaSをさらに成長させるPdM組織の立ち上げと今後について
rakus_dev
0
440
B2B SaaSでSpringSecurityによる Roleを用いたユーザー権限設定の 実装について
rakus_dev
1
300
22歳になる長寿サービスのUI刷新 ~密結合システムからViewを分離した苦労話
rakus_dev
1
2.9k
【ラクステックカンファレンス2023】オープニングセッション/20230208_kude
rakus_dev
1
790
短納期でも進化をあきらめなかった新規プロダクト開発/20230208_matsuura_kawakami
rakus_dev
0
770
フロントエンド横断組織のチームトポロジー/20230208_kunieda
rakus_dev
0
970
ベテラン社員が抜けても若手が成長できるエンジニア組織づくり/20230208_otsuka_aramaki_kuyama
rakus_dev
0
780
デザイン組織が社内下請けから脱却するためにやったこと/20230208_kobayashi
rakus_dev
1
830
ゼロから始めるクラウドネイティブ/20230208_mikata_matsumoto
rakus_dev
0
730
Other Decks in Technology
See All in Technology
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
160
How to Lead? Testimonial of a Lead Android Engineer
oleur
1
110
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
330
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
.NET Profiler in 2024.
kkamegawa
2
1k
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.6k
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
18k
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
510
The AI Revolution Will Not Be Monopolized: Behind the scenes
inesmontani
PRO
1
160
One engineer company with Ruby on Rails
rstankov
2
420
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
520
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
74
8.2k
Gamification - CAS2011
davidbonilla
77
4.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
21
1.4k
Building Applications with DynamoDB
mza
88
5.6k
How GitHub (no longer) Works
holman
305
140k
Statistics for Hackers
jakevdp
790
220k
Agile that works and the tools we love
rasmusluckow
325
20k
How to name files
jennybc
65
93k
Code Reviewing Like a Champion
maltzj
515
39k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Adopting Sorbet at Scale
ufuk
69
8.6k
Web Components: a chance to create the future
zenorocha
306
41k
Transcript
©2021 RAKUS Co., Ltd. 楽楽精算のリリースプロセス について 根井 達規
#RAKUSMeetup アジェンダ ・開発体制 ・リリース担当者の役割 ・リリースサイクル ・担当してみての課題と対策 ・今後の作業効率化・品質向上にむけて
#RAKUSMeetup 自己紹介 根井 達規(ねい たつのり) 経歴 2005年~2013年:エンジニアになる以前(もともと作曲家) 2014年~2020年:ラクス入社前(Sierでシステム開発を経験) 2020年11月:ラクス入社 現在
楽楽精算の開発と並行してリリース関連業務を担当
©2021 RAKUS Co., Ltd. 楽楽精算のご紹介 本題に入る前に、担当製品の楽楽精算についてご紹介 させていただきます。
#RAKUSMeetup 楽楽精算のご紹介 経費・交通費・出張費・旅費・交際費など、すべての経費精算フローを、 社内の誰もが「楽」できるようになるクラウド型の経費精算システムです。
©2021 RAKUS Co., Ltd. 楽楽精算の開発体制とリリー スフロー
#RAKUSMeetup 開発体制 ・各チーム3~4名体制 ・機能開発チーム×3 ・スマホアプリ開発チーム ・オフショアチーム ・ウォーターフォール開発
#RAKUSMeetup リリース担当となったきっかけ 元々はSREチームが楽楽精算のリリース業務を担当 楽楽精算がサービスとして成長するとともにSREの業務負荷が増え、対 応しきれなくなってきたのと、よりインフラやSREとしての業務(自動化推進 など)に専念するために開発チームにて巻き取ることとなりました。
#RAKUSMeetup リリース担当者の役割(担当作業) ・リリーススケジュールの作成,確認 ・機能開発 ・IT/ST ・品質審査 ・リリース
#RAKUSMeetup リリース担当者の役割(進捗管理)
#RAKUSMeetup リリースサイクル
#RAKUSMeetup リリースサイクル ・設計(項目決定) 開発期間開始時に各事業部でタスクを整理して、どのバージョンにどのような変更をいれるか管理す るようにしています。 ・機能開発 設計~単体テストまでの開発全行程 ・テスト期間(結合・システムテスト) 不具合の洗い出しと、その改修を行います。開発機能として優先度の高い内容を除くと、多くは前回リ リースからの実装差分に焦点を充てて確認を行います。この期間で行うのは主にリリース前の手動に
よるテスト実施してます。この期間でなくとも、自動テストや手動テストを必要に応じて回し、不具合が あれば修正します。
#RAKUSMeetup リリース メジャーバージョンアップ 新機能追加を伴う、アプリケーションリリース。 同時にBugfixなどの対応を行うことがある。 マイナーバージョンアップ Bugfixを中心とした、アプリケーションリリース。 リスクが大きいものは対象としないため、2段階リリースは行わない。 リリース時のサービス停止は発生しない。
©2021 RAKUS Co., Ltd. 担当してみて発生した課題 障害事例の紹介
#RAKUSMeetup 属人化 問題 ・あるチームの開発機能で、本来実施しておくべき作業手順(特定顧客向けの設定) が漏れており、リリース直前に手戻りが発生。 ・イレギュラーな対応を行うことでの障害リスクも増大させてしまった。 原因 ・作業手順/作業分担ができておらず、明確化していなかった 反省点 ・前任者はリリース担当の経験も長く十分にナレッジがあったため、その方式でもリス
クを検知し独自に動けていたが引継ぎ後の体制では漏れてしまった。
#RAKUSMeetup 対策 リリースサイクルのガイドラインを設ける ・特定個人への依存した運用とならないよう、リリースサイクルのガイドラインを作 成 オブジェクトや物資の不足 ・開発担当者・リリース担当者・インフラへの作業引き渡しが曖昧とならないよう、 最終チェックの場を設けた 対策結果 リリースフローが形式知化され、必要な情報は資料を見れば分かる状態となった
©2021 RAKUS Co., Ltd. 今後の展望 今後の作業効率化・品質向上に向けて改善したいこと
#RAKUSMeetup 【現状】 リリース担当者の負担が大きい リリース担当者というリリースに責任を負う人物を立てて、問題なくリリースが行える ように部署間の施策の調整をしたり、スケジュールの調整を行う役目を担ってました。 次のリリースに入るはずの機能がマージできていないときに関係者をつっつくような 役目も持っていたので、とにかく細かい作業や人間の間の調整で忙殺されてしまう。 【理想】 当事者間の調整や確認に非常に手間をとられてるので、「調整・確認」を減らしたい、 なんなら無くしたい!
#RAKUSMeetup 生産性向上に向けた効率化計画
#RAKUSMeetup やってみたいこと CI/CD ・Jenkinsによるビルド、テスト、検証環境へのデプロイは実装できてる ・ジョブが増えすぎたこともあって整理したい ・ソースコード管理にGitlabを利用してるので、GitlabCIを利用してビルド→テスト→デ プロイ→動作確認(性能検証・シナリオテスト)までの一連の流れを一つのパイプライ ンで実施できるようにしたい Selenium 自動化したシナリオテストをもっているが、全機能網羅できてるわけでない。また主要
機能を確認するだけでも5-6時間以上かかってる。シナリオテストの実行時間を減らし たい
#RAKUSMeetup 楽楽精算のリリースサイクルについてご説明しました。 サービスが拡大し環境も変化するで、システム品質を損なわずにどう開発を続けてい けるか試行錯誤してるところです。 まだまだ困っていることもたくさんありますがより良い方法を考えていきたいと思って います。