見出し画像

開発力とは何か?

CTO就任の際の経営からのオーダーはシンプルに「開発力をあげて欲しい」というものでした。さて、この「開発力」とは何でしょうか?技術の高度さを示す技術力?開発するシステムの質の高さ?単位時間あたりに開発できる量?どうもこれらで事業の成功確率が上がるとは思えません。

今回は「私たちが獲得すべき開発力」を定義することで、それを向上させるためのアクションや結果的に向上しているのか計測ができる状態にしたいと思います。

経営が開発力を求めるということは、経営の結果に影響を与えるはずです。そこで、入り口の経営戦略と出口の財務諸表と企業価値、2つの視点からアプローチしてみます。

経営戦略 - コストリーダーシップ - から考える開発力

経営戦略とは勝つためにどのように競争優位を生み出すかであり、ポーターの基本戦略に基づくとコストリーダーシップと差別化があります。

コストリーダーシップとは他社が追随できない低コストを実現することで、システムに関わる費用は大きく人件費とシステムインフラ費用に二分されます。

人件費については、例えば製造業でブルーワーカーが主となる場合はコスト優位性を出すために人件費の安い地域に移転することが考えられます。一方で知識労働者であるエンジニアは世界中で獲得競争や報酬高騰を引き起こしていることからも分かるとおり、人件費の安さや規模の経済性でコスト優位性を作れるものではありません。

システムインフラ費用についてはAWS等のメガクラウドの登場により、固定費から変動費への性質変化が起こりました。そして、システムインフラに関わる多くのことがソフトウェアでコントロールできるようになりました。その結果、コスト変動の幅は組織がソフトウェアをコントロールする力を持っているか否かに今まで以上に左右されます。ソフトウェアのコントロール力を持つ組織はコスト優位を生み出せる可能性があるということです。では、このコントロール力とは何なのか、後ほど品質という視点から深掘りします。

高い開発力とは、コストリーダーシップに繋がるソフトウェアのコントロール力を持つことである。

経営戦略 - 差別化 - から考える開発力

では、もう1つの戦略である差別化について考えてみます。差別化とは顧客が他社との違いと認める付加価値を生み出すことです。重要なのは顧客が認識するということであり、顧客にとって価値が増えている状態でなければいけません。これは答えは顧客・マーケットの中にしかないということであり、答えに辿り着くためにはマーケットに対して素早く何度も検証しながら探索していくしかありません。そして、この探索では毎度似たようなアプローチをしていては答えに辿り着ける可能性は上がらず、様々な思考を持つこと、多様性を必要としています。

これを外部環境・内部環境を分析し意図的に作っていくことになりますが、一方で現代のVUCAな環境の中ではミンツバーグの創発的に作っていく戦略も併せ持つ必要があります。つまり、環境変化に適応しながら学習する組織によって、事後的に型となった戦略です。これには各自が現場の状況に応じて自律的に意思決定し、かつ協調することで組織的に機能させる必要があります。

このように差別化を生み出すためには意図的であれ、創発的であれ、変化し続けらる敏捷性を持ち、マーケット上のリアルな情報を獲得することで不確実性を下げていく必要があります。そして、鮮度のよい情報が各自の自律的な意思決定を支え、協調するにも情報の素早い伝搬が重要です。

これらの活動とソフトウェアの持つ可変性や伸縮性、情報の完全性や可用性といった特徴は相性がよく、同時に多数の検証を内容を変えながら繰り返し、その結果を正確に記録する、蓄積した知識で勝ち筋が見えたらそのまま規模を拡大し、多くの人に提供するといったことが可能です。ECサイトのAmazon.comでは1日に1,000回ものソフトウェアの変更を反映しているそうです。ソフトウェアをビジネスのコアとしている会社では、ソフトウェアの特徴を最大限に活かすことで1日に他社の何倍もの経験と知識を手に入れ、差別化を図っていることになります。

つまり、差別化を生むための敏捷性が開発力であり、自律・分散・協調と情報の透明性・可用性がそれを支えるということがいえます。これらをシステム的にも組織的にも備えることが高い開発力を持っているということです。

なお、スポーツの世界では速さを3種類に分けるSAQという概念があります。スピードの「S」は純粋な速さでトップスピードを示し、アジリティの「A」は敏捷性で方向転換による減速・加速など身体のコントロールを素早く正確に行える能力、クイックネスの「Q」は俊敏性で正確さは伴わず刺激を受けて瞬間的に素早く動く能力とされています。この違いを意識すると差別化において敏捷性(アジリティ)が求められていることもイメージしやすいと思います。

高い開発力とは、差別化に繋がる敏捷性(アジリティ)と、それを支える自律・分散・協調と情報の透明性・可用性を組織・システムが持つことである。

財務諸表・企業価値から考える開発力

次に経営の結果である財務諸表から考えてみます。開発力によって生み出された結果は財務諸表のどこに記されているのでしょうか。開発したシステムがP/Lの利益を増やしていますと言いたいところですが、正確にはB/Sの資産を増やしています。資産を使って利益を生み出し、自己資本(純資産)を増やしていくというのが経営活動であり、開発力が直接影響するのは資産の増加ということになります。したがって、開発力を資産に転換する効率と資産を利益に転換する効率の2つの指標があると捉えることができます。これらの指標は明確に分割されるものでもなく連続性を持っているものの、前者は開発活動の中でフォーカスし、後者はマーケティングや事業オペレーション活動の中でフォーカスするという整理ができます。

また、経営の結果を企業価値と捉えると、ひとつの見方として将来生み出すであろうキャッシュ・フローの現在価値という見方ができます。これは開発力によって形成される資産の量的・質的増加に時間軸という奥行きを与え、この体積の最大化が企業価値の向上に繋がるということです。ソフトウェアは文字通りソフトであり、可変性という特徴を備えています。ハード投資と同じ感覚でソフトウェア投資が考えられることがありますが、この可変性を持つが故に時間軸に着目することが大事です。つまり、経営の結果から考える開発力の高い組織は次の3つの要素を備えると考えられます。

・資産に転換する効率がよい
・転換した資産の価値が高い
・転換効率と資産価値それぞれを時間経過の中で最大化できる

開発力の資産への転換効率とは何か

では、それぞれの要素をもう少し深掘りしてみます。まず人やお金といったリソースの資産への転換効率ですが、この効率を阻む要因は何があるでしょうか。経産省のDXレポートによるとIT関連費用の8割がビジネスの維持、運用にかかる費用で消え、付加価値をつくる投資に回っていないことが指摘されています。付加価値のある資産への転換率が2割というのは効率が良いとは決していえないでしょう。ビジネスの維持、運用にかかる費用が時間経過とともに肥大化していくということは、外部環境の変化によるものよりも内部的なソフトウェア品質の劣化によるものと考えられます。

ソフトウェア品質は国際規格SQuaRE(ISO/IEC 25000、JIS X 25000)に定義されており、大きく「利用時の品質」「製品品質」があります。さらに製品品質は「外部品質」と「内部品質」に分けられます。利用時の品質は利用者にとっての品質で、外部品質はソフトウェアが実行されるときの品質、内部品質は仕様書やソースコードの品質です。そして、これらの品質の関係性は図のように定義されてい ます。

スクリーンショット 2020-09-03 15.54.32

一般的にテストといわれる品質改善活動では外部品質を重視する傾向にあります。外部開発ベンダーに丸投げというケースでは、もしかしたら発注元で内部品質は検査していないということもあるかもしれません。図にあるように外部品質は内部品質に依存します。どれだけ外部品質の検査で品質保証をしようが、内部品質が悪いと時間経過とともに加えられる変更により複雑性が増し、急速にソフトウェア品質は劣化していきます。これを例えるなら、医者が表面的な状態だけを見て健康上問題ないと判断して、あとでレントゲン検査をすると末期の癌が見つかりましたという状態に近いです。

このように外部品質重視で内部品質に十分な投資が行えていないこと、また投資するためにも内部品質という見える人と見えない人が分かれるものに対して適切なコミュニケーション手段が設計されていないことが、時間経過とともにビジネスの維持・運用にかかる費用が肥大化する原因だと考えています。

また、このソフトウェア品質の関係性はもう1つの視点も与えてくれます。それは利用時の品質が高いソフトウェアを提供し続けるには、そのソフトウェアの作り方(プロセス)がよくなければならないということです。競争優位性を生み出すにも、持続的な資産形成を最大化するにも、ソフトウェアが継続的に変化を受け入れられるかは内部品質に依存し、内部品質を高められるかは良質な開発プロセスの存在が大きいです。開発力のある組織はそのような開発習慣を持っているといえます。

高い開発力とは、内部品質、プロセス品質をコントロールし、ビジネス資産の積み上げを持続的に最大化できる力である。

開発した資産価値の高さとは何か

それでは次に資産価値の高さ、将来にわたり生み出すキャッシュ・フローが大きくなるか否かはどこで分かれるのでしょう。キャッシュの生み出し方はガートナーが提唱するバイモーダルITでいうところの攻めのIT、守りのITによって大きく分かれます。守りのITは業務効率の向上などコスト削減が主となり、キャッシュ獲得の不確実性が低い、攻めのITは競争優位の確立など売上増加が主となり、キャッシュ獲得の不確実性が高いと考えられます。

守りのITはどこのコストをどのように削減するのかという正解が定義できます。正解があればその実現は比較的容易で、あとはその効果の最大化を目指すだけです。経年で維持・運用を肥大化させない、ソフトウェア品質を維持できるシステムが資産価値が高いといえます。

攻めのITはどのようにしたらマーケットからキャッシュを獲得できるか、正解の定義が難しいです。競争優位性のところでも述べたように敏捷性をもって情報を獲得していくしかありません。機敏に変化できるシステムが資産価値が高いといえます。

企業のデジタル・トランスフォーメーションが叫ばれる中、如何にこの攻めのITの割合を増やしていくかということが焦点となっています。ただ攻めのITにだけ投資すれば変革できるものではありません。従来からある守りのITの資産価値を高めること、つまり、ソフトウェアの内部品質・プロセス品質を高める力を得ることが俊敏性にもつながり、攻めのITの資産価値を高める礎となっているのです。

資産価値の高いシステムはキャッシュ獲得の効果が持続的、もしくはキャッシュ獲得のための多くの情報を獲得できているシステム。
それらを実現する高い開発力は、良質な内部品質・プロセス品質の土台の上に敏捷性を持てている。その結果、攻めのITの割合も大きくなる。

まとめ:経営の求める開発力とは何か、何を生み出すか

ビジネスにとってITが「あると便利」から「必要不可欠」そして「一体で中核」になってきました。それと共にITはコスト削減だけでなく、売上獲得を担い、さらには顧客の行動データの獲得を狙って「顧客との関係性」を築き上げた巨大なプラットフォーマーがマーケットを寡占する状況まで出てきました。

このような戦況の中で、私たちが手に入れるべき開発力は「敏捷性(アジリティ)」です。

これまで述べてきたように、敏捷性は従来のITから求められている持続的なコスト最適化だけでなく、その先の競争優位を生む情報獲得に繋がります。敏捷性を高めるためには、内部品質、プロセス品質の継続的改善と、自律・分散したチームが協調することで変化への対応力を手に入れることが必要です。

「システム構造は、組織の構造を反映させたものになる」というコンウェイの法則が有名ですが、自律・分散・協調したチームは自律・分散・協調した一つずつがコンパクトなシステム構造(マイクロサービスアーキテクチャ )に繋がることも期待しています。コンパクトなチーム、コンパクトなシステムは内部品質、プロセス品質の改善も行いやすいからです。

内部品質、プロセス品質向上のための「見えないIT投資」は、事業のROI投資などに対して優先順位が劣後しやすいです。それは可視化の難しさや、短期的な効果でなく中長期的に複利で効いてくる性質のためです。分かりやすい投資はどこでも自然と最適化されます。しかし、優位性の差分がどこで生まれるかというと「見えないIT投資」です。これが見えている開発組織は指標化に力を注ぎ、これが見えない経営や事業組織は理解に歩み寄ることが大事です。

このようなソフトウェア開発の土台の上で「敏捷性(アジリティ)」を認知することが、デジタルトランスフォーメーションの旅の第一歩です。

思いの外長くなってしまったので、この「敏捷性(アジリティ)」の指標化や向上のアクションについてはまた別の機会にしたいと思います。

スクリーンショット 2020-09-03 17.16.52



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