Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~

3,666 views

Published on

de:code で取り上げられる最先端技術を採用しようと上申するも、「今までのやり方で困っていないから変える必要などない」とあっさり却下された記憶、お持ちの方も多いのではないでしょうか? エンタープライズ系の業務システム開発の世界では、新進気鋭の若手社員と SI を知り尽くしたベテラン上司の不幸なすれ違いが後を絶たず、DevOps なにそれおいしいの? という上司も珍しくありません。本セッションでは、de:code 2016 で割愛した後半 2 つのトピックである開発状況の「見える化」問題と近代的なプロマネ技術の課題を取り上げ、『変わらない開発現場』を変えていくための考え方を解説します。

受講対象: DevOps をまだ導入/実践できていない SIer の SE/PM/PL の皆様向けセッションです。昨年、MS 最新技術を 1 つも話していないのにうっかりセッション満足度ランキング 2 位になってしまった問題セッションの後半戦でもありますので、ぜひ昨年のビデオを見返してからご参加ください。

製品/テクノロジ: DevOps/.NET/Microsoft Azure/OSS/TFS/VSTS/Visual Studio/アーキテクチャ/クラウド/コンテナー/Docker/運用/開発言語/事業継続

赤間 信幸
日本マイクロソフト株式会社
エンタープライズ サービス統括本部
プリンシパル コンサルタント

Published in: Technology
  • Login to see the comments

[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~

  1. 1.  
  2. 2.    de:code 2016 CLT-016 de:code 2017 DO-08 https://channel9.msdn.com/Events/de-code/2016/CLT-016 https://docs.com/decode2016/9106 (後日公開予定) Part 1 Part 2
  3. 3. ハッシュタグ → #decode17 #DO08   
  4. 4.  刃がぼろぼろだよ! 大変じゃない? なぜ刃を研いで効率を 上げないの? 刃を研ぐだなんて… そんな暇ないよ!!
  5. 5.   働く時間数 (就業時間) 仕事のやり方 (生産性) 仕事の 総量 重要! 伸ばすにも 限界がある 【SI 技術】【開発技術】 豊富な 最新技術 圧倒的な コスト低減 20 年前と 似たやり方 KKD + Excel 残業増加 疲弊
  6. 6.  【開発技術】 エンドユーザ 企業 IT 部門 SI 関連会社 協力会社SIer エンドユーザ 業務 SE, QA PjM アーキテクト デベロッパー テスター ビジネスやサービ スの変革を推進 近代的な開発手法 や技術トレンドを 理解し、SI 全体の 生産性を改善 方式設計を適切に 行い、成果物の品 質を保つ 最新技術をキャッ チアップし、適切 な開発作業を推進 請負構造 主な役割 すべきこと 近代化の 必要性
  7. 7.  上司 (部課長・先輩) 現場担当 (若手社員)
  8. 8.  手段と目的を 混同しない キーワードで 議論しない 身近な課題を 解決する
  9. 9.   【3. 開発状況の「見える化」】 • 統合開発基盤を活用した、システム開発状 況の「見える化」 • 計数データに基づく開発状況の管理の実現 【4. 近代的なプロマネ技術の会得】 • KKD から数値分析に基づくプロマネへ • 開発技術の要点に基づく、開発プロセスそ のものの定常的な改善 【2. テスト作業の最適化】 • 重複するテストケースの排除や効果的なテ ストケースの実施 • 効果的なテスト自動化の実施 【1. 設計作業の最適化】 • 無駄な作業の排除 • 特に、手戻りの排除と無駄なドキュメント 作成の排除 多くの SIer でよく見られる「あるある」問題
  10. 10. スライドの細かい文字は 読まなくて OK です マネージャ向けの 内容も含まれています
  11. 11.    要件定義 基本設計 機能設計 詳細設計 製造 単体試験 結合試験 総合試験 移行・切替 機能 要件定義 外部設計 (画面設計+機能設計) PG 設計 コーディング 単体機能テスト 結合機能 テスト 非機能 要件定義 方式設計 システムテスト リリース 協力会社SIer SIer SIer 従来 現在 作業の 切り出し
  12. 12.  外注した成果物の 品質チェックが うまくいかない 納品直前 or 後に なってから 品質問題が発覚する
  13. 13.  外注した成果物の 品質チェックが うまくいかない 納品直前 or 後に なってから 品質問題が発覚する ① SIer に技術を熟知した アーキテクトがいない (or 不足している) ② 開発状況を十分に 「見える化」できていない
  14. 14.    アーキテクト • 開発技術を熟知するエンジニア • 方式設計(開発標準化)を通して、実 装成果物の品質を担保 • 実装成果物のレビューなども実施 業務 SE アーキテクト デベロッパー テスター プロマネ SI の遂行に必要な専門性 (主にアプリ開発領域) プロパー (正社員) サブコン (協力会社)
  15. 15.   ソフトウェア企業やコンサル会社などへ転職 SIer の中にいる アーキテクトの悩み 肩身が狭い SE, PjM が圧倒的多数 キャリアパスがない 管理をやれと言われる 結果として.... CoE 組織へのメンバー集約 • 現場から剥がして集約 • 肩身の狭い思いをしないように 給与以外でのメリット強化 • 最新 PC ・デバイスの付与 • 書籍買い放題の許可、etc. 離職防止の ために... 社内コンサルとして プロジェクト横断的に活躍 社内活躍の 場を作るために... 最先端技術を使った プロト開発や提案支援 離職 全社的にやるべきこと 現場でやるべきこと
  16. 16.   下流工程の 成果物レビュー 継続的インテグレー ションによる 実装状況の把握 カナリアサーバに よる現物チェック 今どきの やり方
  17. 17.  ビルド 日次ビルドで 計数データを自動収集 データの変化を傾向分析して 内部の状況を統計的に把握
  18. 18.   デベロッパー ソースコード レポジトリ 自動ビルド システム 実装環境 ビルド 継続配置 カナリア サーバ 確認 確認
  19. 19.    ソースコード管理 自動ビルドシステム 継続的インテグレーション・ 配置(CI・CD) カナリアサーバのための PaaS やコンテナ技術
  20. 20.  SIer のコアコンピタンスは、① 業務、② プロマネ、③ 技術 これが揃わないと、早い・安い・上手いは実現できない 下流工程の品質確保には、技術がわかるアーキテクトが必要 少数派になりやすいため、何らかのケアが重要 実装成果物の品質管理のやり方は昔と変わってきている CI/CD、カナリアサーバなどを実践していくことが必要
  21. 21.    昔のシステム開発 今のシステム開発
  22. 22.   トップダウン型 ボトムアップ型 計画・予測の重視 経験・学習の重視 作業指示型 自律型・自己学習型 ウォータフォール的 アジャイル的 コマンド&コントロール サーバント プロジェクト推進 管理手法 ワークフロー リーダシップ スタイル
  23. 23.    WBS Description 1 要件定義 2 スプリント1 2.1 計画 2.1.2 タスク作成と見積 2.1.3 スコープ調整 2.2 実装 2.2.1 XXX機能 2.2.1.2 画面設計 2.2.1.3 I/F設計 2.2.1.4 実装 PjM による 作成・管理 Excel Project 担当者による 作成・管理 Planner VSTS WITステーク ホルダー 報告 (従来通り) 現場の 実態把握
  24. 24.  末端タスクが 漏れる 進捗管理が大変 情報が古くなりやすい 結果としてよく 発生する課題 現在の開発現場に よくある実情 ボトムアップ型の タスク管理の併用 トップダウンでの WBS 分解 PjM による 手作業での情報管理 現場メンバーによる 末端タスクの分解 現場メンバーによる 末端タスクの更新 下支えするツール 解決! 解決! Planner Trello TFS WIT Redmine JIRA
  25. 25.    タスクの抜け漏れの 防止にのみ注力 進捗状況の把握と 終了見積もりまで実施 ① お手軽なタスク管理 ② しっかりしたタスク管理 • 手軽な導入が可能 • 非エンジニアでも利用可能 • Scrum など予備知識が必要 • チーム内での標準化が必要 気軽な 導入 JIRA
  26. 26. • • • まずは ここから!
  27. 27.  自動ビルドでの 計数データの収集 カナリアサーバに よる「見える化」 ボトムアップ型の タスク管理 リーダとメンバーの間の信頼関係 SIer と協力会社の間の協調関係 開発現場からの正しいデータ開示 メンバからの 正しいデータ投入 サーバントリーダシップ 上司(部課長・先輩) 現場担当(若手社員) 支える 支援する
  28. 28.  近代的な開発では、末端エンジニアの専門性と生産性を 高めることが、プロジェクト全体の成否を大きく左右する トップダウン型/ボトムアップ型の マネジメントスタイルのバランスを取ることが重要 近代的な PM には、『メンバーのやる気やモラル』を 引き出すことが今まで以上に求められる
  29. 29. システム特性の違い “Ops” の意味の違い アプリ運用 vs インフラ運用  そもそも前提条件が大きく違う話をそのままされても困る ビジネスの商慣習 内製 vs 多重請負 上司は “DevOps” そのものに興味があるわけではない 重要なのは「現場の課題が解決できるかどうか?」 随時更新型 vs 塩漬け型 SoE 型 vs SoR 型
  30. 30.  イミュータブル インフラ MSA テスト 駆動開発 Scrum IaaC/SDI コンテナ技術 CI/CD カナリア サーバ Production First Mindset テレメトリ 分析 ボトムアップ型 タスク管理 ユーザ中心 アプローチ デザイン思考 プロト タイピング オーケスト レーション 日本にとって重要なのは、「実践的活用による現場改善」 導入時に魔改造する必要など全くない 自分の現場で使えるものだけをピックアップして活用すればよい
  31. 31. 実装・テストの改善 インフラの改善 自律的文化の醸成 DevOps 実践事例
  32. 32. 「今までこうだった」 「欧米でこうやっている」を 理由にしない 「技術」や「手法」から 現場改善のヒントを得る 「一歩ずつ」理想形に 近づける努力を繰り返す
  33. 33.  上司 (部課長・先輩) 現場担当 (若手社員)
  34. 34. de:code 2016 CLT-016 TechSummit 2016 DEP-010 MSDN blog エントリ① MSDN blog エントリ② https://channel9.msdn.com/Events/de-code/2016/CLT-016 • 設計・テストに関する 実践的な改善方法 • それを通した現場改善 へのご提言 • 開発近代化の必要性 • CI/CD、カナリアサー バなどの DevOps プラ クティスの実践的デモ • ウォータフォールとア ジャイルの特性の違い • 受発注型 SI ビジネスの 中での現実的な Agile・ Scrum の活用技術の提言 • 上司の説得方法 • 現場エンジニアとマネ ジメントの思考の違い
  35. 35. 赤間による 書き下ろし原稿 エンプラ系開発現場の 道しるべ 欧米と日本の 本質的な違い
  36. 36. セッションアンケートにご協力ください  専用アプリからご回答いただけます。 decode 2017  スケジュールビルダーで受講セッションを 登録後、アンケート画面からご回答ください。  アンケートの回答時間はたったの 15 秒です!
  37. 37. Ask the Speaker のご案内 本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにて ご説明させていただきます。是非、お立ち寄りください。

×