見出し画像

4 ソフトウェアとデータで積み上げるAgility #ソフトウェアと経営

今回からしばらく、Twitterでも書いていたソフトウェア技術そのものの解説を経営者やDX推進担当者といった方向け進めていきたいと思います。

概略

4章では、経営から見たソフトウェアの、特に技術面の各要素と意義について、エンジニア以外の方にも出来る限り分かりやすく解説することに挑戦していく。大まかには下記の内容について触れていくつもりだ。本章で触れる各項目はそれぞれで専門書が何冊も出る領域であり、今回はあくまでその概略、意義に触れながら経営上の重要性について触れていくこととしたい。この章を通して、自社のデジタル化、特にソフトウェアを活用できる組織作りに向けて、組織の揃えるべき機能や投資の意義についての理解が深まれば幸いだ。

なぜソフトウェアが重要か、経営は如何に変わるのか

組織のAgilityを高めるために、ソフトウェアは重要な役割を担っている。ソフトウェアの活用による事業構築は、もはや新たな経営OS・経営における新たな基礎である。ソフトウェアを活用した先のイメージとして、まずは、ソフトウェア、データの組み合わせでAgilityを生み出し、知識を獲得し続けるという経営のあり方がどのようなものかについて見ていく。

ソフトウェアによる新たなビジネス

どのような事業もソフトウェアの登場によって変化している現代だが、その中に見られるパターンについて考えていく。特にDX(デジタルトランスフォーメーション)が叫ばれる中での、「転換」というものが何なのか、「粒度の変化」、「マッチングの変化」、「サービス化(サブスクリプション化)」という3つの要素から考えていく。

ソフトウェアの力、スケーラビリティ、レジリエンス、計測

ソフトウェアが重要だ、ということは誰もが理解しつつあるが、そもそも大前提となるソフトウェアとはなんなのか、なぜ重要なのかについては案外と曖昧である。コンピュータを活用し新たな労働力とするためにソフトウェアと如何に付き合うか、その前提となる考え方を、レジリエンスとスケーラビリティ、データの創出・計測という観点から考えていく。

データの力、科学的手法と機械学習の意義

ソフトウェアが生み出すデータは、それだけでは未加工の原油に似ているとも言われる。現代のオイルと言われるデータは我々に何をもたらすのか、前章までに話をしてきた科学的事業推進という視点、およびソフトウェアの領域を拡大する「目」としての機械学習という視点から、データとの向き合い方、重要性について議論していく。本節を通じ、バズワード化するAIとの向き合い方についても考えていきたい。

Measure Everything、データを支える基盤の話

科学的手法を取り入れるには、兎にも角にも計測が必要だ。顧客やシステム上のイベントを計測し知識を得ていくための、ソフトウェア活用の方法とその意義について触れていく。特に計測ツールやそのデータの受け皿となるData Lakeなどの基盤の意味合い、必要性について理解していくための概念を見ていく。

継続的な変化を支える開発体制、DevOpsについて

市場環境は継続的に変化する。これに対し素早くかつ安定して対応可能な組織であり続けなければならない。そのためには作業プロセスを自動化し続け、ひとりひとりの開発効率を向上させ続ける姿勢が重要だ。ソフトウェア開発では、バージョン管理や継続的インテグレーション、継続的デリバリ、IaC(Infrastructure as Code)など、DevOpsというキーワードに関連した様々な技術を駆使してこの課題に取り組んでいる。これらの概略を解説すると共に、本節を通じて、自動化・非属人化の効力、いつでもリリースできる体制の強さについても見ていく。

ソフトウェアとそのプロセスも計測する、SREについて

事業を改善するために、全てを計測し数値化していくことの重要性をここまで多く書いてきたが、それはソフトウェアの開発・運用・改善においても重要な概念となる。ソフトウェア自体を計測し改善する、というプロセスに注目し、本節ではSRE(Site Reliability Enginering)という分野について紹介する。ソフトウェア自体の監視、およびSLIやSLO、Deploy/Day・Developerなどの指標を通じ、ソフトウェア開発組織が如何にその開発プロセスを計測しているか解説していきたい。

失敗をコントロールする、ソフトウェアのレジリエンス

1章で見てきたように、組織のAgilityを高めるためには失敗のコントロールが重要だ。ソフトウェアが如何に失敗のコントロールに貢献し、組織のレジリエンス(失敗からの回復力)を高めるか、より詳細に解説していく。特に昨今のSRE(Site Reliability Enginering)やABテスト、カナリアリリース、アーキテクチャ設計による失敗の局所化などの潮流から、失敗の局所化と復元性について書いていく。

ソフトウェアと組織、攻めと守り

レジリエンスを更に高めるためには、組織のあり方とソフトウェアアーキテクチャが一体として設計されていく必要がある。ソフトウェアサービスの攻めと守りとは何か、また攻めと守りの分離による効果について、考え方の根底にあるコンウェイの法則・逆コンウェイの法則などについて触れながら、組織とソフトウェア双方のレジリエンスとスケーラビリティのあり方について考えていく。

継続的に変化し続けるソフトウェアであるために:進化的アーキテクチャ

市場変化や組織の変化などにより、ソフトウェアに求められる要求・性能は常に変化し続ける。その変化の激しさ故に、どんなソフトウェアであれいつかは現状に追随できなくなりレガシー化する。そうした変化と向き合うために、技術的負債という考え方や、疎結合性、Disposability(廃棄性)といった観点について解説していく。全てを最初から正しく設計するのではなく、随時改善するために、ソフトウェアを部分部分で捨てられる状態に保ち、常に進化し続けることを可能にしていくことが重要だ。

クラウドを最大限に活用し、資本でスケールする:Cloud Native

昨今のシステムは基本的にクラウドの活用がベースにある。最も希少なリソースは人であり、お金はある種コモディティ化している、という立場から、コンピュータを活用し新たな労働力とし、それをスケールさせるために何が必要か、組織の観点やクラウドでスケールさせるためのCloud Nativeのような潮流について解説していく。

強みにフォーカスする、ソフトウェアに対するコントロール

内製組織の重要性については各所で語られるが、全てを自前で開発するというのが正しいわけではない。これはソフトウェア領域に限ったことではないが、自社の強みたる領域、およびコモディティ化している領域などを明確にしていくことが戦略上重要になる。自社のチームで内製しコントロールしていく部分から、ベンダにまかせていく部分、既製のSaaSにまかせていく部分までの、グラデーションの意識について議論していく。

品質を積み上げる:シフトレフト

継続的にソフトウェアを開発する中で、不具合やセキュリティといった部分の品質保証は重要なトピックだ。先に説明したような、変化し続けることを前提としたソフトウェアの開発プロセス、特に継続的インテグレーションなどの中で如何に品質を担保していくか、品質担保の活動を推進する中で積み上げるべき知識・仕組みなどについて概略を説明していく。シフトレフトと呼ばれる、より開発工程の前段階での品質保証の話に踏み込みながら、コードをベースにソフトウェア品質と向き合うための仕組みについて議論していく。

領域の広がるスケーラビリティ、機械学習とソフトウェア、MLOps

ソフトウェアは元来0-1のはっきりしたデジタルな世界での活用が主だったが、機械学習の興隆によりその活躍の場面は曖昧性を含んだユースケースへも大きく広がっている。AI・機械学習は、デジタルの外側の世界に対する知覚をコンピュータにもたらすものであり、ソフトウェアをオフラインの世界においても活用するためのまさに目といえるものだ。大まかな機械学習の意義、その開発プロセスなどを通じて、組織においてAI・機械学習を活かしていくために何が必要か議論していく。

IoT: ハードウェアをつなげる、オフラインとつながる

5GやIoTなど、現実世界をインターネットとつなげるための活動に関わる様々なキーワードが世に溢れている。実際にそうした技術を活用するには、現実世界を全てインターネットに繋げることで、ソフトウェアとデータの強みをオフラインにも展開するという考え方が重要だ。オンラインとオフラインを行き来するソフトウェアのあり方、それが生み出す強みについて具体的に見聞きした事例も踏まえながら書いていく。

ブロックチェーン、複数の組織が繋がる世界

この数年でブロックチェーンという単語はだいぶ市民権を得た印象だが、その実態はまだ概念に近いものも多く、実用化の事例は増えてきたとはいえ、実際のユースケースは普通に暮らしていると見えないものだ。ブロックチェーンをいくつかに分類し、実際のユースケース、全参加者とデータが共有される世界などの意味合いについて書いていきたい。

ここから先は

0字

経営者やDX戦略の推進担当、スタートアップ、事業でソフトウェアを活用しようという方々向けに、重要な知識や取り組みを詳細に、かつ体系的に解説したコンテンツをお届けします。

DX推進やスタートアップを頑張る法人の皆様に向けた「ソフトウェアと経営について」マガジンの法人向けプランです。 法人内で自由にコンテンツを…

事業でソフトウェアを活用しようという方向けに、普段の軽い投稿ではなく、重要な知識や取り組みを詳細に、かつ体系的に解説したコンテンツをお届けします。

ソフトウェアと経営について

¥1,000 / 月 初月無料

自社のDX(デジタルトランスフォーメーション)やソフトウェア活用について改善したい、理解したいという方、スタートアップで自社事業をより良く…

この記事が気に入ったらサポートをしてみませんか?