おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-環境の自動化-イノベーションノウハウ

今回のテーマ:イノベーションノウハウ

概要

テクノロジー進化への対応

テクノロジーの進化とビジネス変化のスピードに対応するため、柔軟で素早いサービス開発が求められます。
例えば、「テクノロジー×ビジネスのスピード対応」や「多様な顧客ニーズへの対応」が挙げられます。

テクノロジー×ビジネスのスピード対応の背景は以下のようになります。

  • テクノロジー進化のスピードが加速
  • テクノロジーを活用したビジネスの展開スピードが加速
  • これまでより短期に開発可能かつ変化に強いシステムの必要性

多様な顧客ニーズへの対応の背景は以下のようになります。

  • 多様な顧客ニーズに柔軟かつスピーディに対応する必要性
  • デザイン思考/リーンスタートアップなどの顧客中心手法が主流化
  • 本当に使用するシステムだけ開発・運用する必要性

それらの背景があり、ビジネスに即応できる開発手法・技術の導入が必要となってきております。

事例:UBER

  • タクシー利用者としての体験
    タクシーに乗ろうとしたが、なかなかタクシーが見つからない

  • 見つけた課題
    必要な時に、最も近くにいるタクシーを手配出来たら便利では?

  • 技術による解決
    データ×IoT/AIを活用し、ユーザーのスマホGPSとタクシーの位置情報を機械学習でマッチングすれば解決可能ではと仮説を設定

デザイン思考

デザイン思考ではユーザーを観察することで、問題を発見します。
発見した問題に対し、プロトタイプのテストを繰り返すしアイデアを具体化します。
以下はデザイン思考のプロセスの概略図となります。

f:id:In-houseSE:20211101073006p:plain

リーンスタートアップ

リーンスタートアップとは、アイデアから最低限の製品など構築し、試行・計測を実施後、学習を経て再構築を実施します。
以下はリーンスタートアップの概略図となります。

f:id:In-houseSE:20211101074450p:plain

また、リーンスタートアップを計画する際、リーンキャンパスを作成し、都度ブラッシュアップすることでビジネスモデルを構築します。
以下はリーンキャンパスの概略図となります。

f:id:In-houseSE:20211101075358p:plain

アジャイル開発

デザイン思考やリーンスタートアップでビジネスモデルを構築する方法として、
アジャイル開発にて実施します。
アジャイル開発は、顧客要件の柔軟な受け入れと素早い開発で実施していきます。
なお、開発手法ではウォーターフォール型とアジャイル開発の2種があります。

以前は、小規模Web向けに利用されてましたが、
現在は基幹系も活用されるべく方法論が展開されつつあります。

これまでのアジャイル

これからのアジャイル

  • SOAからマイクロサービス/APIエコノミーへ
     ERPなどのエンタープライズシステムはサービス単体で機能開発するService Oriented Architectureから小規模探知のマイクロサービスへ発展
     マイクロサービスAPIを連携させることでAPIエコノミーが拡大

  • 小規模Web開発からエンタープライズ領域へ拡大
     マイクロサービス開発にアジャイル開発が適用されて、柔軟な機能開発を実施
     マイクロサービス化・API化により、ERPなど基幹系にもアジャイルが適用可能

将来的にエンタープライズアジャイルが主流になると予測されております。

DevOps

DevOpsとはDevelopment(開発)とOperation(運用)を相互連携させる体制・仕組みを作り変更を迅速に実施します。

  • これまでの開発と運用
     開発と運用が別チームで、組織文化や仕事の仕方が異なり、衝突が多く素早い変更が困難

  • DevOps
     開発チームと運用チームで人材・文化を共有し、自動化ツールが共有され迅速な対応が可能

DepOpsでは一体化した組織文化を基盤として、自動化ツールを運用と開発で共有した体制を構築します。
以下はポイントについて記載します。

ツール

  • 自動化されたインフラストラクチャ
    AnsibleやChef、Dockerなどのツールでインフラ構築を自動化

  • バージョン管理システムの共有
    GitやMercurialなどでバージョン管理システムを共有

  • ワンステップによるビルドとデプロイ
    JenkinsやCapistranoを用いてビルドやデプロイを自動化

  • フィーチャーフラグ
    コード中の機能の有効/無効を設定ファイルで管理

  • メトリクスの共有
    New RelicやApplication Insightsなどで取得したメトリクス結果をダッシュボードで共有

  • IRCとインスタントメッセージのコミュニケーション共有
    SlackやHipChatなどのチャットツールに自動的にビルドやデプロイのログ・アラート内容が投稿され情報共有

組織文化

お互いを尊重/信頼/失敗に対し健全な態度/非難しない

まとめ

顧客起点/テクノロジー起点イノベーションには、デザイン思考、リーンスタットアップ、アジャイル開発/DevOpsを活用しながら実施していくことが求められます。
以下は概略図となります。

f:id:In-houseSE:20211101083140p:plain

今回のテーマは以上です。