SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
#aadojo
チーム開発で徐々にコード品質をあげていく取り組み
2022/09/08 AADojo #7
Yuta Matsumura
#aadojo
松村 優大 (MLBお兄さん)
Chief Technical Architect (C#, PHP, Azure)
Microsoft MVP (Developer Technologies)
#fukuten #devblogradio の中の人
@tsubakimoto_s
Currently working for
#aadojo
オ社エンジニアリングチームの普段のお仕事
技術コンサルティング
• 壁打ちアドバイザリー
• トレーニング
• ハックフェスト (Azure Light-up)
• 共同開発
#aadojo
依頼者のモチベーション
組織的な課題
• プロダクトが陳腐化してきた
• 開発や運用の環境を最新化し
たい
• 新しい技術を扱えるエンジニ
アを育成したい
• など
技術的な課題
• 開発スピードを向上したい
• クラウドを使いたい
• 自動化の仕組みを構築したい
• など
#aadojo
依頼者のモチベーション
組織的な課題
• プロダクトが陳腐化してきた
• 開発や運用の環境を最新化し
たい
• 新しい技術を扱えるエンジニ
アを育成したい
• など
技術的な課題
• 開発スピードを向上したい
• クラウドを使いたい
• 自動化の仕組みを構築したい
• など
#aadojo
オ社エンジニアリングチームの普段のお仕事
技術コンサルティング
• 壁打ちアドバイザリー
• トレーニング
• ハックフェスト (Azure Light-up)
• 共同開発
実際に手を動かして
成果を上げていきたい
#aadojo
開発環境 運用環境
#aadojo
CI/CD
#aadojo
CI/CD
#aadojo
CI/CD は最初から用意しよう
1. GitHub にリポジトリを作成する
2. 最初のコミットを行う (Hello World なアプリ)
3. CI/CD を構成・実行する
4 ~ n. 開発する ▶ 常に CI/CD が実行される
※「複雑になってから追加する」のは大変
#aadojo
依頼者のモチベーション
組織的な課題
• プロダクトが陳腐化してきた
• 開発や運用の環境を最新化し
たい
• 新しい技術を扱えるエンジニ
アを育成したい
• など
技術的な課題
• 開発スピードを向上したい
• クラウドを使いたい
• 自動化の仕組みを構築したい
• など
#aadojo
少し昔話 ここから
こんな経験ありませんか?
#aadojo
private void Hoge()
{
// 20YY/MM/DD ここから A社 Matsumura
// var x = ...;
// var y = ...;
// ~~数百行にも及ぶコメントアウト~
doSomething();
// var x = ...;
// var y = ...;
// ~~数百行にも及ぶコメントアウト~
// 20YY/MM/DD ここまで A社 Matsumura
}
#aadojo
private void Hoge()
{
// 20YY/MM/DD ここから A社 Matsumura
// var x = ...;
// var y = ...;
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
doSomething();
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// var x = ...;
// var y = ...;
// ~~数百行にも及ぶコメントアウト~
// 20YY/MM/DD ここまで A社 Matsumura
}
#aadojo
少し昔話 ここまで
#aadojo
コーディングで意識していること
開発スピードを向上したい+メンテしやすいコードを書く
#aadojo
コーディングで意識していること
開発スピードを向上したい+メンテしやすいコードを書く
1. コードの共通化
2. コードの分離
3. こまめなリファクタリング
※ C# / ASP.NET Core を例にします
#aadojo
1. コードの共通化
• 機能を「単にコピペして増やす」ことをしない
• これから作るものを俯瞰して
「ここ共通化したほうがいいんじゃね?」
と考えることができる力を養おう
• ビジネスロジック:“継承”を適切に行う
• UIロジック:“部分ビュー”を活用する
#aadojo
2. コードの分離
• ビジネスロジックとUI ロジックを混ぜない
• オブジェクト指向の知識は必要
• 依存関係の注入 (Dependency Injection) を活用
• デザインパターンを使っていく
#aadojo
3. こまめなリファクタリング
1 や 2 も最初から完璧に実践するのは難しいです。
継続的にリファクタリングを行い、徐々にコードの共通化や
分離をしていくことで、コードの品質を高めていきましょう。
慣れてくると「リファクタリングしながら
実装する」ができるようになります。
機能を実装する
▼
リファクタリングする
▼
機能を実装する
▼
リファクタリングする
▼
…
#aadojo
リファクタリングにビビりたくない!
デグレ的に
#aadojo
「テスト」を大事にしたい
• ソフトウェアの品質を検証するために行う
• テストの種類
• 単体テスト
• 結合テスト
• 総合テスト
• 負荷テスト
#aadojo
「テスト」を大事にしたい
• ソフトウェアの品質を検証するために行う
• テストの種類
• 単体テスト
• 結合テスト
• 総合テスト
• 負荷テスト
単体テストを担当することは OJT に適している
単体テストを作る利点①
▶ テスト対象の機能を動かす
▶ アプリケーションの仕様を把握できる
▶ 業務知識を得ることができる
単体テストを作る利点②
▶ テスト対象のコードを読む
▶ コードを理解するためにプログラミングを学ぶ
▶ デバッグという作業に慣れる
▶ 他者のコードを読む習慣が身につく
#aadojo
コードの依存関係を明確にして
テストをしやすくする
#aadojo
依存関係と単体テスト
対象のクラス
プロパティ
コンストラクタ
メソッド
private
protected
public
XxxService
クラス
処理の差し替えができるなら、依存先
の実装内容を気にせず単体テストがで
きる。
処理の差し替えができないなら、依存
先を考慮したテストデータ、テスト
ケースを準備しないといけない。
処理の差し替えをするには、依存先の
クラスにインターフェースを割り当て
る。
#aadojo
インターフェース
インターフェースとはクラスが実装すべき規約(どういうメ
ソッドにどういう引数を渡すかなど)を定めるものです。
すなわち、クラス設計者とクラス利用者の間の仲介役を担う
のがインターフェースです。
引用元:ufcpp.net
#aadojo
UsersController
IUserService
IUserRepository
UserService
UserRepository DbContext etc
DI
実装
実装
DI
DI
DI : Dependency Injection (依存性注入)
データストアを
操作するクラス
ビジネスロジック
Store
#aadojo
UsersController
IUserService
IUserRepository
UserService
UserRepository DbContext etc
DI
実装
実装
DI
DI
Store
#aadojo
IUserRepository
UserService
UserRepository
実装
DI
#aadojo
IUserRepository
UserService
UserRepository
実装
DI
MockUserRepository
テスト
単体テストで
差し替える
List<User>
DB代わりの
コレクション
#aadojo
UsersController
IUserService
MockUserService
UserService
DI
実装 テスト
#aadojo
https://www.slideshare.net/YutaMatsumura/ss-120432806
コードレベルの解説は過去スライドで
#aadojo
@alterbooth_inc
オルターブース
Alternative Architecture DOJO

Mais conteúdo relacionado

Mais procurados

日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについてkumake
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Hironori Washizaki
 
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)
そのアプリ開発PowerAppsでやるか否かの指針?(※個人的見解)そのアプリ開発PowerAppsでやるか否かの指針?(※個人的見解)
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)Teruchika Yamada
 
テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善Mizuho Wakai
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころTakuto Wada
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証Yasuharu Nishi
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionYoshifumi Kawai
 
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかBigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかRyuji Tamagawa
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMPYusuke Kagata
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけらAtsushi Nakamura
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクスRakuten Group, Inc.
 
はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019Rina Fukuda
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発慎一 古賀
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用Akinori SAKATA
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドHiroyuki Ito
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 Hiroshi Ito
 
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~Naoki Nakano
 
.NET 7期待の新機能
.NET 7期待の新機能.NET 7期待の新機能
.NET 7期待の新機能TomomitsuKusaba
 

Mais procurados (20)

日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについて
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)
 
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)
そのアプリ開発PowerAppsでやるか否かの指針?(※個人的見解)そのアプリ開発PowerAppsでやるか否かの指針?(※個人的見解)
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)
 
テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころ
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
 
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかBigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクス
 
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
 
はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイド
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
 
.NET 7期待の新機能
.NET 7期待の新機能.NET 7期待の新機能
.NET 7期待の新機能
 

Semelhante a チーム開発で徐々にコード品質をあげていく取り組み

【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発Developers Summit
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 
Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Taiki Yoshida
 
【de:code 2020】 Azure トラブルシューティング道場 ~どこかがおかしくなりました~
【de:code 2020】 Azure トラブルシューティング道場 ~どこかがおかしくなりました~【de:code 2020】 Azure トラブルシューティング道場 ~どこかがおかしくなりました~
【de:code 2020】 Azure トラブルシューティング道場 ~どこかがおかしくなりました~日本マイクロソフト株式会社
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門陽一 滝川
 
ドミノピザおよびJet.comの事例 から学ぶストレスフリーな 顧客体験の作り方
ドミノピザおよびJet.comの事例から学ぶストレスフリーな顧客体験の作り方ドミノピザおよびJet.comの事例から学ぶストレスフリーな顧客体験の作り方
ドミノピザおよびJet.comの事例 から学ぶストレスフリーな 顧客体験の作り方Microsoft Azure Japan
 
RAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jp
RAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jpRAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jp
RAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jp智治 長沢
 
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazugAzure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug満徳 関
 
インフラエンジニアに送る Visual Studio Code ~Azure 編~
インフラエンジニアに送る Visual Studio Code ~Azure 編~インフラエンジニアに送る Visual Studio Code ~Azure 編~
インフラエンジニアに送る Visual Studio Code ~Azure 編~Shinsuke Saito
 
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術Knowledge & Experience
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...Rakuten Group, Inc.
 
Getting Git Right wrap up #GettingGitRight
Getting Git Right wrap up #GettingGitRightGetting Git Right wrap up #GettingGitRight
Getting Git Right wrap up #GettingGitRight智治 長沢
 
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-84年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8Yusuke Mori
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援智治 長沢
 
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOpsJAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps智治 長沢
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景Koichi ITO
 
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法日本マイクロソフト株式会社
 
Developers Summit 2022 プロダクト開発速度とデータの組織的価値をセットで飛躍的に高める開発戦略
Developers Summit 2022 プロダクト開発速度とデータの組織的価値をセットで飛躍的に高める開発戦略Developers Summit 2022 プロダクト開発速度とデータの組織的価値をセットで飛躍的に高める開発戦略
Developers Summit 2022 プロダクト開発速度とデータの組織的価値をセットで飛躍的に高める開発戦略Takanori Kawahara
 

Semelhante a チーム開発で徐々にコード品質をあげていく取り組み (20)

【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由
 
【de:code 2020】 Azure トラブルシューティング道場 ~どこかがおかしくなりました~
【de:code 2020】 Azure トラブルシューティング道場 ~どこかがおかしくなりました~【de:code 2020】 Azure トラブルシューティング道場 ~どこかがおかしくなりました~
【de:code 2020】 Azure トラブルシューティング道場 ~どこかがおかしくなりました~
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
 
ドミノピザおよびJet.comの事例 から学ぶストレスフリーな 顧客体験の作り方
ドミノピザおよびJet.comの事例から学ぶストレスフリーな顧客体験の作り方ドミノピザおよびJet.comの事例から学ぶストレスフリーな顧客体験の作り方
ドミノピザおよびJet.comの事例 から学ぶストレスフリーな 顧客体験の作り方
 
RAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jp
RAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jpRAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jp
RAD Studioで実践する継続的インテグレーション アプリとデベロッパーの価値を拡張するエッセンス #dcamp_jp
 
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazugAzure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
 
インフラエンジニアに送る Visual Studio Code ~Azure 編~
インフラエンジニアに送る Visual Studio Code ~Azure 編~インフラエンジニアに送る Visual Studio Code ~Azure 編~
インフラエンジニアに送る Visual Studio Code ~Azure 編~
 
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
 
Getting Git Right wrap up #GettingGitRight
Getting Git Right wrap up #GettingGitRightGetting Git Right wrap up #GettingGitRight
Getting Git Right wrap up #GettingGitRight
 
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-84年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
 
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOpsJAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
 
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
 
Developers Summit 2022 プロダクト開発速度とデータの組織的価値をセットで飛躍的に高める開発戦略
Developers Summit 2022 プロダクト開発速度とデータの組織的価値をセットで飛躍的に高める開発戦略Developers Summit 2022 プロダクト開発速度とデータの組織的価値をセットで飛躍的に高める開発戦略
Developers Summit 2022 プロダクト開発速度とデータの組織的価値をセットで飛躍的に高める開発戦略
 

Mais de Yuta Matsumura

「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainerYuta Matsumura
 
.NETのサポートポリシーのおさらい #csharptokyo
.NETのサポートポリシーのおさらい #csharptokyo.NETのサポートポリシーのおさらい #csharptokyo
.NETのサポートポリシーのおさらい #csharptokyoYuta Matsumura
 
App Modernization for .NET
App Modernization for .NETApp Modernization for .NET
App Modernization for .NETYuta Matsumura
 
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD分かったうえではじめるCI/CD
分かったうえではじめるCI/CDYuta Matsumura
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発Yuta Matsumura
 
いつでもどこでも .NET
いつでもどこでも .NETいつでもどこでも .NET
いつでもどこでも .NETYuta Matsumura
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーションYuta Matsumura
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project TyeYuta Matsumura
 
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介Yuta Matsumura
 
Azure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もうAzure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もうYuta Matsumura
 
Blazor Server テンプレート解説
Blazor Server テンプレート解説Blazor Server テンプレート解説
Blazor Server テンプレート解説Yuta Matsumura
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#Yuta Matsumura
 
改めて C# でできることを振り返る
改めて C# でできることを振り返る改めて C# でできることを振り返る
改めて C# でできることを振り返るYuta Matsumura
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法Yuta Matsumura
 
忙しい人のための .NET Conf 2019 まとめ
忙しい人のための .NET Conf 2019 まとめ忙しい人のための .NET Conf 2019 まとめ
忙しい人のための .NET Conf 2019 まとめYuta Matsumura
 
.NET Conf の歩き方
.NET Conf の歩き方.NET Conf の歩き方
.NET Conf の歩き方Yuta Matsumura
 
PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 閉会式PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 閉会式Yuta Matsumura
 
PHPカンファレンス福岡2019 開会式
PHPカンファレンス福岡2019 開会式PHPカンファレンス福岡2019 開会式
PHPカンファレンス福岡2019 開会式Yuta Matsumura
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏Yuta Matsumura
 
ASP.NET Core 2.x Identityについて
ASP.NET Core 2.x IdentityについてASP.NET Core 2.x Identityについて
ASP.NET Core 2.x IdentityについてYuta Matsumura
 

Mais de Yuta Matsumura (20)

「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
 
.NETのサポートポリシーのおさらい #csharptokyo
.NETのサポートポリシーのおさらい #csharptokyo.NETのサポートポリシーのおさらい #csharptokyo
.NETのサポートポリシーのおさらい #csharptokyo
 
App Modernization for .NET
App Modernization for .NETApp Modernization for .NET
App Modernization for .NET
 
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
 
いつでもどこでも .NET
いつでもどこでも .NETいつでもどこでも .NET
いつでもどこでも .NET
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
 
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
 
Azure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もうAzure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もう
 
Blazor Server テンプレート解説
Blazor Server テンプレート解説Blazor Server テンプレート解説
Blazor Server テンプレート解説
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
改めて C# でできることを振り返る
改めて C# でできることを振り返る改めて C# でできることを振り返る
改めて C# でできることを振り返る
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
 
忙しい人のための .NET Conf 2019 まとめ
忙しい人のための .NET Conf 2019 まとめ忙しい人のための .NET Conf 2019 まとめ
忙しい人のための .NET Conf 2019 まとめ
 
.NET Conf の歩き方
.NET Conf の歩き方.NET Conf の歩き方
.NET Conf の歩き方
 
PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 閉会式PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 閉会式
 
PHPカンファレンス福岡2019 開会式
PHPカンファレンス福岡2019 開会式PHPカンファレンス福岡2019 開会式
PHPカンファレンス福岡2019 開会式
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
 
ASP.NET Core 2.x Identityについて
ASP.NET Core 2.x IdentityについてASP.NET Core 2.x Identityについて
ASP.NET Core 2.x Identityについて
 

Último

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Último (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

チーム開発で徐々にコード品質をあげていく取り組み