Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ソフトウェアでビジネスを変える、貢献するなら知っておくべきCI/CD

 ソフトウェアでビジネスを変える、貢献するなら知っておくべきCI/CD

More Decks by Masahiko Funaki(舟木 将彦)

Other Decks in Technology

Transcript

  1. 3 舟木 将彦(@mfunaki) CircleCI合同会社 Developer Advocate ビジネスを支えるソフトウェアの マーケット変化適応力を高める のに不可欠な CI(継続的インテグレーション)

    CD(継続的デプロイメント) の意義や価値、進め方を 技術、ビジネス、経営の言葉で お届けする 2013~18 Customer Innovation Principal (Black Belt) • 150社以上とデザイン思考を ベースにしたワークショップ~ ソリューション実装 (デザイン思考の総本山 Stanford Univ. d.school開校時に 39億円の資金を提供したのが SAP創業者の Hasso Platner) 2018~20 Chief Digital Advisor • 自動車や金融、小売業、テレコムを 主にクラウド+AI+VR/MRでの 協業(新規共同開発等)を支援 自己紹介 時間をかけた計画先行でもなく、重複等の無駄の多い開発先行でもなく、 計画と実装の間の時間差少なく、らせん状に前進
  2. 5 本日のアジェンダ お話の流れ 1. CircleCI会社ご紹介 2. DXアプローチのストッパー 3. 新たな取り組みを継続させる鍵 結論

    DXの推進には「デジタル+ビジネス」が わかるバイリンガルな人材が重要 ・そんな人材が埋もれているのを掘り  起こせる仕組み ・様々なデジタルスキル、ビジネススキルを  もつ人材が「チーム」で「どの時点から」  でも活躍できるようにするには、  CI/CDありきでの取り組みが必須
  3. 12 バイモーダルIT: 標準化では「世の中に顧客を合わせる」 貴社がターゲットとする「差別化ポイント」以外は 標準化、つまり「服に体を合わせる」 (既製品をそのまま使い、時代に合わせて進化 ) モード1 変化が少なく、 確実性・安定性を

    重視 モード2 開発や改善スピー ド、利便性を重視 ゴール 差別化→ 利益拡大 効率化→ コスト削減 手段 DevOpsによる 内製 (現場ニーズ 迅速に反映) 既製品を そのまま使う (自動更新) 適用業務 顧客との 関係性が 必要な領域 会計 人事 生産管理... (ERP領域)
  4. 14 バイモーダルIT: 差別化では「顧客に自社を合わせる」 貴社がターゲットとする「差別化ポイント」以外は 標準化、つまり「服に体を合わせる」 (既製品をそのまま使い、時代に合わせて進化 ) モード1 変化が少なく、 確実性・安定性を

    重視 モード2 開発や改善スピー ド、利便性を重視 ゴール 差別化→ 利益拡大 効率化→ コスト削減 手段 DevOpsによる 内製 (現場ニーズ 迅速に反映) 既製品を そのまま使う (自動更新) 適用業務 顧客との 関係性が 必要な領域 会計 人事 生産管理... (ERP領域)
  5. 18 実は 1, 2ができているような会社であれば • PoCの結果をもとに、課題を洗い出し、さらに先に進めることのできる人材も、 • アイデアをもとにプロトタイプやMVP(Minimum Viable Product:

    顧客に価値 を提供できる最小限の製品)を手を動かして作り出せる人材も、 • プロトタイプやMVPをユーザにぶつけて、ユーザを観察して、 「真の欲求」を見つけ、反映させられる人材も、 社内に存在しているが、 任意のタイミングで「手を挙げる仕組み」「引き継ぐ仕組み」  =(社内のどんな部門の誰であっても)継続性を支える仕組みが 備わっていない。 →これからゴールを決め、進め方を考え、実行に移す「冒頭」に、必要な 人材の  スキルも定まっていないうちから固定した「ドリームチーム」を作ってしまう。 新卒入社という常に新しい血が入ることで
  6. 20 バイモーダルIT: 差別化に「スピード感」を掛け算する 「差別化ポイント」に集中するだけでなく、「スピード感」が必要。 DevOps (継続した「開発+サービス提供」の自動化 )で「スピードを持って」進める。 モード1 変化が少なく、 確実性・安定性を

    重視 モード2 開発や改善スピー ド、利便性を重視 ゴール 差別化→ 利益拡大 効率化→ コスト削減 手段 DevOpsによる 内製 (現場ニーズ 迅速に反映) 既製品を そのまま使う (自動更新) 適用業務 顧客との 関係性が 必要な領域 会計 人事 生産管理... (ERP領域)
  7. 21

  8. 22 継続するビジネスを支えるソフトウェア開発を標準化 プラン コード ビルド テスト リリース デプ ロイ 運用

    監視 継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 非正常系は 自動化できない 自動化できる→継続的であるために自動化すべき ビジネスが継続する限り、プロジェクトは続く コード追加・修正時は 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止せず常に リリース/デプロイ (失敗時にはクイックに 修正 / 前バージョンに 戻せる)しくみ 人にしかできない ことは、 細分化した上で できる人が 手を挙げてやる →誰でも見える、  参加できる状態 共有 リポジトリ上 で 常に作業 自動化できる ことは 作業手順の 定義を行い 自動実行させる →依頼しない、 抜け漏れしない 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保)
  9. 23 自動化するから早く なる + お願いドリブンから脱 却するから さらに早くなる なぜ自動化するのか? 自動化のゴールは、 ・費用や工数の削減、定型作業にかかる時間削減

    で早くなることにとどまらず、 工程間の「お願い」を最小化することで ・積極的に機能を実装できる  (一日に何機能追加、テスト、失敗しても誰も   嫌がらない) ・常にコードはテストされており、かつ稼働中の  コードと一致している  (売上金とレジの金額が常に一致) ・ダメなコードや機能に愛着を感じすぎない  (ゆっくり、じっくり、長いスパンで取り組めば   取り組むほど、他の実装方式や機能より   「愛おしく」なり、より良い提案を受け入れ   られなくなってしまう) ことで開発プロセスがさらに早くなる 人が能力を発揮できるようにするため、 自動化する(RPAの導入も同じ)。