SlideShare ist ein Scribd-Unternehmen logo
1 von 62
技術的負債返しますか?
それとも開発辞めますか
〜 DevLove広島 〜
「DevLove甲子園勝手にプレイバック Ver.西 + α」
BMC 西 秀和
自己紹介
• 西 秀和(33歳)
• 経営管理センター所属 主任
• 仕事先:BIGLOBE
(月曜〜金曜は東京にいます)
• 業務システム設計・開発
DevLove甲子園
お邪魔してきました
DevLove甲子園
発表内容
(ダイジェスト)
中間管理職が
いなくなったら
プロジェクトが
うまく進みだしたよ♪
経営管理センター(BMC) 西 秀和
隊トラック
みなさん!!
管理されてますかー?
お客様
1次
2次
常駐
常駐
僕
担当
主任
主任
M
お客
発注
API
設計部門
API
製造部門
担当
画面
部門
担当
M
発注
東京
広島 広島愛媛
S-in日までに完成した画面
107画面中
7画面
お客様
1次
2次
担当
主任
主任
M
お客
API
設計部門
API
製造部門
担当
画面
製造部門
担当
MGM
僕
S-inするまで、
帰ってくるな!
!
■命令
無事にS-inできた
全員で
ゴールを共有
WHY?
WHAT?
HOW?
現場では逆走不可
←ココを与える
現場を変える
可能性を
一番持っているのは、
現場のエンジニア
発表内容ここまで。
中間管理職いたら
ダメなのか?
数値化して管理
数値化が難しいことに弱い
現場の全てを把握できない
数値化が難しいこと
現場のエンジニアが
解決するしかない!
技術的負債
ウォード・カニンガム
最初のコードを出荷することは、借金をしに行くことと同じである。
小さな負債は、代価を得て即座に書き直す機会を得るまでの開発を加
速する。危険なのは、借金が返済されなかった場合である。品質の良
くないコードを使い続けることは借金の利息としてとらえることがで
きる。技術部門は欠陥のある実装や、不完全なオブジェクト指向など
による借金を目の前にして、立ち尽くす羽目になる
技術的負債とは?
Reckless
(無鉄砲)
Prudent
(計画的)
Deliberate
(意図的)
設計する時間がない
品質を犠牲にして作れ!!
問題は認識しているが、
リスクは承知の上でリリース
Inadvertent
(無意識)
負債が溜まっていく事に
気づいてない
最善を尽くしたが、
のちに最善の方法が分かる
技術的負債(四象限)
技術的負債とは
どのレベルの問題を
言っているのか?
• 処理の共通化(共通化)
• 単体テストが可能(テストの容易性)
メソッド抽出
<- 生産性のUP
<- 品質の向上
実例
Reckless
(無鉄砲)
Prudent
(計画的)
Deliberate
(意図的)
設計する時間がない
品質を犠牲にして作れ!!
問題は認識しているが、
リスクは承知の上でリリース
Inadvertent
(無意識)
負債が溜まっていく事に
気づいてない
最善を尽くしたが、
のちに最善の方法が分かる
技術的負債(四象限)
技術的負債が
発生する原因
技術的負債の分類
技術的負債(四象限)
1.短納期
2.未熟なチーム
3.業務知識不足
原因の発生元は?
1.短納期
Reckless
(無鉄砲)
Prudent
(計画的)
Deliberate
(意図的)
設計する時間がない
品質を犠牲にして作れ!!
問題は認識しているが、
リスクは承知の上でリリース
Inadvertent
(無意識)
負債が溜まっていく事に
気づいてない
最善を尽くしたが、
のちに最善の方法が分かる
技術的負債(四象限)
「短納期」弊害
• 設計・レビューの時間が十分に取れない
• 最善の手法では間に合わない
• 似た処理をコピー&ペースト
• 仕様変更に柔軟に対応できない
2.未成熟なチーム
Reckless
(無鉄砲)
Prudent
(計画的)
Deliberate
(意図的)
設計する時間がない
品質を犠牲にして作れ!!
問題は認識しているが、
リスクは承知の上でリリース
Inadvertent
(無意識)
負債が溜まっていく事に
気づいてない
最善を尽くしたが、
のちに最善の方法が分かる
技術的負債(四象限)
「未成熟なチーム」の弊害
• チームの設計方針が安定しない
• 実装方法に統一性がない
• 後戻りが多い
• 打ち合わせ・議論が長い
3.業務知識不足
Reckless
(無鉄砲)
Prudent
(計画的)
Deliberate
(意図的)
設計する時間がない
品質を犠牲にして作れ!!
問題は認識しているが、
リスクは承知の上でリリース
Inadvertent
(無意識)
負債が溜まっていく事に
気づいてない
最善を尽くしたが、
のちに最善の方法が分かる
技術的負債(四象限)
「業務知識不足」の弊害
• データの変換している処理が多い
• データ構造が業務に合っていない
• STなどプロジェクト後半で問題が多い
最近、
関わっている
プロジェクトの話
プロジェクト状況
• 7人チーム
(バラバラのチームからかき集めた)
• 10月に結成して2月リリース
• 初めてのビジネスモデル
直ぐに問題が発生
チームの中心になる
共通認識がない
技術的負債が
増えている事は
エンジニアが
一番理解している
レビューで
設計方針の
討論が起きる
コレは良いこと
(時間があれば)
議論が発散
レビュー時間が長時間化
技術的負債を生む原因
作業時間を圧迫
一旦、議論禁止
代わりにやった事
共通認識を作る
ドメインモデル
1400クラス
100テーブル
技術的負債を
共有する
←議論したい事
←議論はして
取組でいる事
チームの方針
• 毎日、16:00から1時間だけ開催
• 1回で1議題
• ファシリテーターは持ち回り
• 朝会で今日の議題を発表
• ファシリテータが初めに問題提起と改善案を提示
議論中…
議論する時間を設ける利点
• 1つの議題に集中して討論できる
• もめた時の受け皿になる
• みんなで決めたという納得感
• やりたい事を提案する準備の期間がある
技術的負債を
見逃さない
KPTでは残ったProblemを捨てたらダメ
まとめ
技術的負債の返済は
チームで挑め!!
なぜか?
技術的負債の発生は
エンジニアの
スキルではなく状況
に左右されやすい
誰か一人で
リファクタを実施
未熟なチーム
業務知識が乏しいメンバは
新たな技術的負債を生む
技術的負債の返済
が終わらない…
技術的負債の返済
と共にチームが
成長すること
大切な事
技術的負債の返済は
チームで挑め!!
ご静聴
ありがとうございました。

Weitere ähnliche Inhalte

Ähnlich wie 技術的負債返しますか?それとも開発辞めますか(Dev love広島 20150428)

チーム開発の要は ViewModelにある
チーム開発の要はViewModelにあるチーム開発の要はViewModelにある
チーム開発の要は ViewModelにあるAkira Hatsune
 
Web制作者のための上流工程の簡単な説明
Web制作者のための上流工程の簡単な説明Web制作者のための上流工程の簡単な説明
Web制作者のための上流工程の簡単な説明祐磨 堀
 
DOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOps
DOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOpsDOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOps
DOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOpsdecode2016
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発Developers Summit
 
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~Yukio Okajima
 
一流のエンジニアはみんなやっている1つのこと
一流のエンジニアはみんなやっている1つのこと一流のエンジニアはみんなやっている1つのこと
一流のエンジニアはみんなやっている1つのことAtsushi Harada
 
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Akiko Kosaka
 
モバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOpsモバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOpsKLab Inc. / Tech
 
Baseエンジニアイベント 20170516
Baseエンジニアイベント 20170516Baseエンジニアイベント 20170516
Baseエンジニアイベント 20170516真一 藤川
 
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み慎一 古賀
 
Web制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテストWeb制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテスト祐磨 堀
 
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOpsJAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps智治 長沢
 
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方Kazuki Shibata
 
.NET 7期待の新機能
.NET 7期待の新機能.NET 7期待の新機能
.NET 7期待の新機能TomomitsuKusaba
 
Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Taiki Yoshida
 
【デブサミ2010】アジリティを向上させる開発ツールの進化
【デブサミ2010】アジリティを向上させる開発ツールの進化【デブサミ2010】アジリティを向上させる開発ツールの進化
【デブサミ2010】アジリティを向上させる開発ツールの進化智治 長沢
 
プロトタイピングとユーザーテスト
プロトタイピングとユーザーテストプロトタイピングとユーザーテスト
プロトタイピングとユーザーテストMasanori Kado
 
Vantan shinsuke miyaki_upload
Vantan shinsuke miyaki_uploadVantan shinsuke miyaki_upload
Vantan shinsuke miyaki_uploadShinsuke Miyaki
 

Ähnlich wie 技術的負債返しますか?それとも開発辞めますか(Dev love広島 20150428) (20)

チーム開発の要は ViewModelにある
チーム開発の要はViewModelにあるチーム開発の要はViewModelにある
チーム開発の要は ViewModelにある
 
Web制作者のための上流工程の簡単な説明
Web制作者のための上流工程の簡単な説明Web制作者のための上流工程の簡単な説明
Web制作者のための上流工程の簡単な説明
 
DOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOps
DOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOpsDOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOps
DOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOps
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
 
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
 
一流のエンジニアはみんなやっている1つのこと
一流のエンジニアはみんなやっている1つのこと一流のエンジニアはみんなやっている1つのこと
一流のエンジニアはみんなやっている1つのこと
 
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料
 
楽天エンジニアライフ
楽天エンジニアライフ楽天エンジニアライフ
楽天エンジニアライフ
 
モバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOpsモバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOps
 
Baseエンジニアイベント 20170516
Baseエンジニアイベント 20170516Baseエンジニアイベント 20170516
Baseエンジニアイベント 20170516
 
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
 
Web制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテストWeb制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテスト
 
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOpsJAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
 
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方
 
.NET 7期待の新機能
.NET 7期待の新機能.NET 7期待の新機能
.NET 7期待の新機能
 
Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由
 
Dev sum2014
Dev sum2014Dev sum2014
Dev sum2014
 
【デブサミ2010】アジリティを向上させる開発ツールの進化
【デブサミ2010】アジリティを向上させる開発ツールの進化【デブサミ2010】アジリティを向上させる開発ツールの進化
【デブサミ2010】アジリティを向上させる開発ツールの進化
 
プロトタイピングとユーザーテスト
プロトタイピングとユーザーテストプロトタイピングとユーザーテスト
プロトタイピングとユーザーテスト
 
Vantan shinsuke miyaki_upload
Vantan shinsuke miyaki_uploadVantan shinsuke miyaki_upload
Vantan shinsuke miyaki_upload
 

技術的負債返しますか?それとも開発辞めますか(Dev love広島 20150428)