Suche senden
Hochladen
レガシープロダクトを改善していくための戦い方
•
0 gefällt mir
•
1,054 views
Takuya Sato
Folgen
UUUM System Meetup #2 2019.12.13 https://uuum.connpass.com/event/152000/
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 22
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
開発プロセスの話
開発プロセスの話
Makiko Nakasato
ソフトウェアテストシンポジウム 2014 北海道基調講演 2014年9月5日(金)
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
事業会社に勤める人に向けた、プロジェクトマネジメントの基礎講座。社内向けの研修で利用した資料。
事業会社のためのプロジェクトマネジメント基礎講座
事業会社のためのプロジェクトマネジメント基礎講座
Koyo 松本
社内勉強会資料
Rspec勉強会
Rspec勉強会
gaooh
プランニングポーカーの紹介と体験です
プランニングポーカーのすすめ
プランニングポーカーのすすめ
sugimoto1022
組織にテストを書く文化を根付かせる戦略と戦術 Feb 16, 2016 @ 日本OSS推進フォーラム
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
20121019 Jenkins勉強会資料です。技術ネタではなくてすみません...。
20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
akiko_pusu
SaCSS 40回特別記念スペシャルで発表したものです。
めんどくさい…から始める効率化のススメ
めんどくさい…から始める効率化のススメ
Chikako Mori
Empfohlen
開発プロセスの話
開発プロセスの話
Makiko Nakasato
ソフトウェアテストシンポジウム 2014 北海道基調講演 2014年9月5日(金)
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
事業会社に勤める人に向けた、プロジェクトマネジメントの基礎講座。社内向けの研修で利用した資料。
事業会社のためのプロジェクトマネジメント基礎講座
事業会社のためのプロジェクトマネジメント基礎講座
Koyo 松本
社内勉強会資料
Rspec勉強会
Rspec勉強会
gaooh
プランニングポーカーの紹介と体験です
プランニングポーカーのすすめ
プランニングポーカーのすすめ
sugimoto1022
組織にテストを書く文化を根付かせる戦略と戦術 Feb 16, 2016 @ 日本OSS推進フォーラム
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
20121019 Jenkins勉強会資料です。技術ネタではなくてすみません...。
20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
akiko_pusu
SaCSS 40回特別記念スペシャルで発表したものです。
めんどくさい…から始める効率化のススメ
めんどくさい…から始める効率化のススメ
Chikako Mori
2012年11月10日に関西で開催されたDevLOVE関西2012 Drive 講演資料です。 iPadの電子書籍版もあるので、ほしい人は連絡ください。
DevLOVE関西2012 Drive 講演資料(iBook)
DevLOVE関西2012 Drive 講演資料(iBook)
広告制作会社
テキストマイニングのイメージと実際
テキストマイニングのイメージと実際
antibayesian 俺がS式だ
2012/04/30 鹿駆動勉強会のLT資料です
鹿駆動
鹿駆動
Shinichi Kozake
(仮)TOCfEのCLRで、ややこしい状況を前向きにできた話。の予定。
(仮)ややこしい時こそ質問してみる
(仮)ややこしい時こそ質問してみる
T Takeno
Niigata5分Tech #1.pdf
実務でGo使い始めました
実務でGo使い始めました
Yuki Kikuchi
Openthologyを256倍楽しむ。要求開発アライアンス定例会、2010年1月から
Openthology256pub
Openthology256pub
Keiichi SASAKI
JBUG Autumn 2021 登壇資料です。 Backlog感出しますか!で気合い入れて良いプロジェクトにするというお話しw
合言葉は…Backlog感出しますか!
合言葉は…Backlog感出しますか!
毅 佐藤
2011/08/01のJSUGでプレゼンテーションした資料です。
Roo
Roo
terahide
2022年3月16日開催イベント資料 「楽天市場が25年続いているのは、繰り返し失敗から学んできたから」。 これはその通りなんだけど、これだけなら教科書で見るセリフですよね..。 実際は現場に身を置かないと解らないことがあるし多分それがノウハウやカルチャーかと。 このあたり楽天市場ではどうなっているのか、短い時間ですが紹介できればと思います。
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
Rakuten Commerce Tech (Rakuten Group, Inc.)
2016/03/26 MOTEX Inc. にて開催
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
Ryo Ohki
for LogicFlow-ja online #4
20201128 Power Automate
20201128 Power Automate
ひかり 影中
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
真乙 九龍
社内イベント資料
ごった煮じゃNight!vol.1
ごった煮じゃNight!vol.1
Satoshi Furuichi
現在は様々なBIツールが存在していますが、普段慣れ親しんだExcelを完璧に使いこなせていますか? データサイエンスをはじめようとした時にツールの選定から始める方もいらっしゃいますが、まずはExcelで始めてみましょう。有償のツール導入は、Excelでデータサイエンスができるという実感とその可能性を体感し、データサイエンスを実務として行ってからでも遅くはありません。 データサイエンスは事業を行っていく上で欠かせないスキルとなっています。過去を直視し、今後の事業を発展させるための必要なスキルを実践とともに学ぶことができます。
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
Daiyu Hatakeyama
以下イベントで利用したスライド https://supporterz.jp/spevents/detail/20180809_kyoto
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
Shunsuke Nakamura
JJUG CCC 2018 Spring LT Speech WEBアプリケーションの性能問題を診断する話
[JJUG CCC 2018 Spring LT Speech]WEBアプリケーションの性能問題を診断する話
[JJUG CCC 2018 Spring LT Speech]WEBアプリケーションの性能問題を診断する話
Nan Zhang
Innovation EGG 第5回 『クラウド運用の本音』( https://innovationegg.doorkeeper.jp/events/30799 )での発表資料です。
2015-10-31 クラウドネイティヴ時代の運用を考える 〜 ドキュメント駆動運用へ
2015-10-31 クラウドネイティヴ時代の運用を考える 〜 ドキュメント駆動運用へ
Operation Lab, LLC.
今日から始めるアジャイル開発
今日から始めるアジャイル開発
Takashi Takebayashi
Agile Japan 大阪サテライト 2017でお話させていただいたときのスライドです。もちろんすべてフィクションです。
Agile Japan 大阪サテライト 2017
Agile Japan 大阪サテライト 2017
Ohta Atsushi
AWSのマネージドサービスやDockerを使った環境構築のメリットや世界展開に必要な製品の作り方から、どうすれば開発運用をより楽に行えるかを考えます。
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015
Ryo Nakamaru
社内勉強会資料
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Takuya Sato
Vue.jsについての紹介と、1.0の変更点について
Vue.js入門
Vue.js入門
Takuya Sato
Weitere ähnliche Inhalte
Ähnlich wie レガシープロダクトを改善していくための戦い方
2012年11月10日に関西で開催されたDevLOVE関西2012 Drive 講演資料です。 iPadの電子書籍版もあるので、ほしい人は連絡ください。
DevLOVE関西2012 Drive 講演資料(iBook)
DevLOVE関西2012 Drive 講演資料(iBook)
広告制作会社
テキストマイニングのイメージと実際
テキストマイニングのイメージと実際
antibayesian 俺がS式だ
2012/04/30 鹿駆動勉強会のLT資料です
鹿駆動
鹿駆動
Shinichi Kozake
(仮)TOCfEのCLRで、ややこしい状況を前向きにできた話。の予定。
(仮)ややこしい時こそ質問してみる
(仮)ややこしい時こそ質問してみる
T Takeno
Niigata5分Tech #1.pdf
実務でGo使い始めました
実務でGo使い始めました
Yuki Kikuchi
Openthologyを256倍楽しむ。要求開発アライアンス定例会、2010年1月から
Openthology256pub
Openthology256pub
Keiichi SASAKI
JBUG Autumn 2021 登壇資料です。 Backlog感出しますか!で気合い入れて良いプロジェクトにするというお話しw
合言葉は…Backlog感出しますか!
合言葉は…Backlog感出しますか!
毅 佐藤
2011/08/01のJSUGでプレゼンテーションした資料です。
Roo
Roo
terahide
2022年3月16日開催イベント資料 「楽天市場が25年続いているのは、繰り返し失敗から学んできたから」。 これはその通りなんだけど、これだけなら教科書で見るセリフですよね..。 実際は現場に身を置かないと解らないことがあるし多分それがノウハウやカルチャーかと。 このあたり楽天市場ではどうなっているのか、短い時間ですが紹介できればと思います。
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
Rakuten Commerce Tech (Rakuten Group, Inc.)
2016/03/26 MOTEX Inc. にて開催
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
Ryo Ohki
for LogicFlow-ja online #4
20201128 Power Automate
20201128 Power Automate
ひかり 影中
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
真乙 九龍
社内イベント資料
ごった煮じゃNight!vol.1
ごった煮じゃNight!vol.1
Satoshi Furuichi
現在は様々なBIツールが存在していますが、普段慣れ親しんだExcelを完璧に使いこなせていますか? データサイエンスをはじめようとした時にツールの選定から始める方もいらっしゃいますが、まずはExcelで始めてみましょう。有償のツール導入は、Excelでデータサイエンスができるという実感とその可能性を体感し、データサイエンスを実務として行ってからでも遅くはありません。 データサイエンスは事業を行っていく上で欠かせないスキルとなっています。過去を直視し、今後の事業を発展させるための必要なスキルを実践とともに学ぶことができます。
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
Daiyu Hatakeyama
以下イベントで利用したスライド https://supporterz.jp/spevents/detail/20180809_kyoto
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
Shunsuke Nakamura
JJUG CCC 2018 Spring LT Speech WEBアプリケーションの性能問題を診断する話
[JJUG CCC 2018 Spring LT Speech]WEBアプリケーションの性能問題を診断する話
[JJUG CCC 2018 Spring LT Speech]WEBアプリケーションの性能問題を診断する話
Nan Zhang
Innovation EGG 第5回 『クラウド運用の本音』( https://innovationegg.doorkeeper.jp/events/30799 )での発表資料です。
2015-10-31 クラウドネイティヴ時代の運用を考える 〜 ドキュメント駆動運用へ
2015-10-31 クラウドネイティヴ時代の運用を考える 〜 ドキュメント駆動運用へ
Operation Lab, LLC.
今日から始めるアジャイル開発
今日から始めるアジャイル開発
Takashi Takebayashi
Agile Japan 大阪サテライト 2017でお話させていただいたときのスライドです。もちろんすべてフィクションです。
Agile Japan 大阪サテライト 2017
Agile Japan 大阪サテライト 2017
Ohta Atsushi
AWSのマネージドサービスやDockerを使った環境構築のメリットや世界展開に必要な製品の作り方から、どうすれば開発運用をより楽に行えるかを考えます。
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015
Ryo Nakamaru
Ähnlich wie レガシープロダクトを改善していくための戦い方
(20)
DevLOVE関西2012 Drive 講演資料(iBook)
DevLOVE関西2012 Drive 講演資料(iBook)
テキストマイニングのイメージと実際
テキストマイニングのイメージと実際
鹿駆動
鹿駆動
(仮)ややこしい時こそ質問してみる
(仮)ややこしい時こそ質問してみる
実務でGo使い始めました
実務でGo使い始めました
Openthology256pub
Openthology256pub
合言葉は…Backlog感出しますか!
合言葉は…Backlog感出しますか!
Roo
Roo
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
20201128 Power Automate
20201128 Power Automate
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
ごった煮じゃNight!vol.1
ごった煮じゃNight!vol.1
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
[JJUG CCC 2018 Spring LT Speech]WEBアプリケーションの性能問題を診断する話
[JJUG CCC 2018 Spring LT Speech]WEBアプリケーションの性能問題を診断する話
2015-10-31 クラウドネイティヴ時代の運用を考える 〜 ドキュメント駆動運用へ
2015-10-31 クラウドネイティヴ時代の運用を考える 〜 ドキュメント駆動運用へ
今日から始めるアジャイル開発
今日から始めるアジャイル開発
Agile Japan 大阪サテライト 2017
Agile Japan 大阪サテライト 2017
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015
Mehr von Takuya Sato
社内勉強会資料
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Takuya Sato
Vue.jsについての紹介と、1.0の変更点について
Vue.js入門
Vue.js入門
Takuya Sato
本番環境で使いたいPHP
本番環境で使いたいPHP
Takuya Sato
オープンソースカンファレンス2012 Hokkaido LOCAL PHP部
徹底攻略!PHP5.4
徹底攻略!PHP5.4
Takuya Sato
第15回 LOCAL PHP部 勉強会
Silex入門
Silex入門
Takuya Sato
LOCAL PHP勉強会09
ここがすごい! なぞとPHP5.3
ここがすごい! なぞとPHP5.3
Takuya Sato
LOCAL PHP部 札幌勉強会02(ちょっと豪華なフレームワーク特集) 2009年のPHPフレームワーク http://labs.nazone.info/
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
オープンソースカンファレンス2009 Hokkaido Redmineで始めるチケット駆動開発 佐藤琢哉(nazo) http://labs.nazone.info/
Redmineで始めるチケット駆動開発
Redmineで始めるチケット駆動開発
Takuya Sato
オープンソースカンファレンス2010 Hokkaido 【企画セミナー】次の一歩・LL編 フレームワーク使おうぜ 一般社団法人LOCAL 佐藤琢哉(nazo) http://labs.nazone.info/
フレームワーク使おうぜ!
フレームワーク使おうぜ!
Takuya Sato
第11回 LOCAL PHP部 勉強会 http://php.local.or.jp/ 使用フォント:http://www.ankokukoubou.com/font/hakidame.htm http://labs.nazone.info/
本当は怖いPHP
本当は怖いPHP
Takuya Sato
ドキュメント指向データベースのMongoDBをPHPで扱う方法を説明しながら、RDBやKVSとの違いやメリットを紹介します。 at LOCAL DEVELOPER DAY '10 /Winter http://labs.nazone.info/
PHPとMongoDBで学ぶ次世代データストア
PHPとMongoDBで学ぶ次世代データストア
Takuya Sato
オープンソースカンファレンス2011 Hokkaido #osc11do 「PHPでセキュリティを真面目に考える」 LOCAL PHP部 佐藤琢哉(@nazo) http://labs.nazone.info/
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
Mehr von Takuya Sato
(12)
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Vue.js入門
Vue.js入門
本番環境で使いたいPHP
本番環境で使いたいPHP
徹底攻略!PHP5.4
徹底攻略!PHP5.4
Silex入門
Silex入門
ここがすごい! なぞとPHP5.3
ここがすごい! なぞとPHP5.3
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Redmineで始めるチケット駆動開発
Redmineで始めるチケット駆動開発
フレームワーク使おうぜ!
フレームワーク使おうぜ!
本当は怖いPHP
本当は怖いPHP
PHPとMongoDBで学ぶ次世代データストア
PHPとMongoDBで学ぶ次世代データストア
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
レガシープロダクトを改善していくための戦い方
1.
レガシープロダクトを改善していくための戦い⽅ 佐藤琢哉(nazo)
2.
今回伝えたいこと レガシーコードとの向き合い⽅・⼼構え プロダクト(業務)は必ず前に進めることができる 細かい⽅法はあまり話しません
3.
こんなプロジェクト⾒たことないですか? 突然アサインされたものの… テストが書かれていない テストがほとんど通らない CIがない インフラが⼿作業で作られている その他いろいろカオス 前任者が不在でノードキュメント
4.
もうやだ作り直したい! わかる わかるー超わかるー しかし本当にそれでいいのか?
5.
なぜ作り直してはいけないのか 運⽤が始まっていると2ラインのプロジェクトが⾛る 2ラインでほぼ同じ実装をしないといけないため機能開発が⽌まる そもそも思っているほど簡単じゃない 既存のデータは残さないといけないのでデータの変換などが必要 ビジネス(ロジック)ちゃんと理解してる? 現状で本当に問題あるの?(コード以外の部分)
6.
作り直してもいい場合 まだ運⽤が始まっていない/始まって間もなく、データ量が少ない データ構造が単純で変換が簡単、あるいは変換する必要がない 独⾃フレームワークなど、根幹レベルで⼿がつけられず、今後メンテナンスすることが 不可能に近い状態 それでも部分的に作り直せないかとか検討すべき ⼀通りやることをやって、ビジネス部分は理解できた上で保守に限界を感じた場合
7.
動いているプロジェクトの特性 利⽤者がいる ⽌めることができない 開発が継続している これらを踏まえた上でどうにかする
8.
レガシープロダクトにおける最⼤の課題 悪い状態をこれ以上拡⼤させない なるべく良いほうに少しずつ収束させていく
9.
悪い状態とは何か? コードの秩序がない 読めない テストがない コードの正当性が担保されていない ⾃動化されていない ⼿作業が多くミスの原因になっている
10.
なぜ悪いのか? 既存メンバー以外が⼊ってきた時に把握が難しい 環境を変化させることが難しい システムを変化させることが難しい 事故が起きる可能性が⾼い 今は⼤丈夫でも将来的に ビジネス規模が⼤きくなればなるほど被害が⼤きくなる
11.
悪い状態をこれ以上続けないために CI/CDの整備 Lint導⼊ 環境構築しやすい状態にする テストを書ける体制作り
12.
CI/CDの整備 テスト/Lintを⾃動で⾛らせて品質の確保 デプロイの⾃動化 ⼤体⼿動デプロイだよねこういうの… ⼈間の⼿が⼊るところは事故の元なので、そこを極⼒減らす CI/CDに対応した環境/インフラにする
13.
Lint導⼊ 基本的に後から⼊れるのはハードルが⾼い 全てこけるので ⾃動修正できる場合は⾃動修正してしまう ⾃動修正が完璧でない場合もあるので修正箇所は必ずチェック 特にrubocop 最初は全てスキップするように設定し、少しずつ厳しくしていく
14.
(⾃動)テストを書ける体制作り 元々あるなら使おう 元々あるがFailが多すぎる場合は全部消そう テストの修正は時間の無駄 テストがないプロジェクトの品質が上がることはない テストがないプロジェクトの品質は誰にもわからない、とも⾔う
15.
プロジェクトの途中からテストを書く 無理しない なるべく新規のロジックや、⾃分が修正に関わったところを中⼼に⾏う リファクタリングも並⾏して⾏う コントローラーにロジックベタ書きだったりすると思うので、そういうのを切り出 してテストを⼀緒に書く いわゆるe2eテストのようなものは「とりあえず通しておく」 200が帰ってきたらOKくらい 依存度の低いテストのほうが重要
16.
TestSizesを意識する https://testing.googleblog.com/2010/12/test-sizes.html 定義は⾃分たちで決める Sサイズのテストが多くなるようにする そうすることで⾃然に機能が分離され、良い設計になる
17.
環境構築しやすい状態にする ⼈の⼊れ替えの少ないプロジェクトで新しい⼈が⼊った時に環境構築に失敗する←ある ある 環境構築⽅法が整備されているプロダクトは構造の⾒通しが良い 次⼊ってきた⼈が困らないように Docker化など
18.
データ構造の⾒直し DB設計で事故っていると致命的な問題になることがある 必要なログがない 項⽬の増減ができない イベントの発⽣時刻などがわからない ビジネスの変更についていけない DBを直すのはコードを直すのより⼤変なことが多い
19.
イベントとリソースの分離 特定時刻に何か起こったことはイベントである 例えば「ユーザー」と「ブログ記事」があって、それを投稿するというのは「投稿 する」というイベントであって「ユーザーとブログ記事との関連」というわけでは ない イベントに対する更新は基本的に発⽣しないようにする(イミュータブル) -nullはなるべく許可しない リソースとイベントを明確にすることで業務の流れが明確になる 詳細はぐぐるなりDB設計系の書籍で
20.
インフラ (規模にもよるが)なるべく⼈の⼿が必要ない構成にする Terraform等による構築⼿順の⾃動化 12Factorに寄せたアプリ構造にする アプリ側も構造が分離され綺麗になる どこを修正するとどこに影響があるのか明確にする
21.
最後は気持ちの問題 最初に⼀気にやる部分と、開発しながら少しずつ直す箇所を分ける インフラ・CIなどは最初に⼀気に テスト・Lint・データ構造などは開発しながら ビジネスの成⻑を⽌めない 開発者の満⾜のために⾏っているわけではない ⽌めないといけない場所もあるが、後になるほど⼤変になることを理解してもらう 進んでいることを明確にする 最初にやって!!!
22.
おわり
Jetzt herunterladen