現役組み込みソフトウェアエンジニアの竹です。
企業がDX(デジタルトランスフォーメーション)という言葉に飛びつき、DX推進の責任者を立て、DX推進部門を設立する、というブームが去ってしばらく経ちます。皆さんの現場は変わりましたか?実はうまくいっていないという方も多いのではないでしょうか。新技術や開発環境の変化を受け入れることは、案外難しいことだと思います。
DXに限らず、これから先も何年かおきにこういった変革が求められるタイミングは必ずやってきます。こういった起こり続ける環境変化を個人ではなく組織で乗り越えるポイントは何なのか、個々の現場に依存しないように考え方のレベルでまとめてみました。
時代遅れの開発現場たち
秀丸・SVN・Word・Excel・終わらないコンパイル
ソフトウェア開発環境技術は多岐にわたり、IT技術進歩に伴って、またはそれらを牽引する形で技術進歩してきました。一方で、その発展が極めて鈍足な界隈の一つが大手メーカーの組み込みソフト開発の現場でしょう。彼らはいまだに、そしてこれからも設計資料をWordとExcelを駆使して再利用性の低い資料を作り、Subversionに大量のコミットをしてデグレに悩み、秀丸のコンフィグレーションを脈々と受けついでコード可読性向上に涙ぐましく努力し、低スペックPCのローカル環境で1時間かけてコンパイルしてたりします。DXという言葉が出回ってからかなり立ちますが、このような時代遅れのソフトウェア開発現場はまだまだ掃いて捨てるほどあります。
※上述の引き合いに出したツール類を貶める意図はありません。開発者・愛用者各位、お許しを。
「変化はリスク」という呪い
なぜDXは言葉だけが上滑りし、時代遅れの開発環境を払拭できないのでしょうか?
例えば、脈々と秀丸やサクラエディタでコーディングして作業者個人のローカル環境で検証を回すような開発現場に「VScodeとか、もっと優れたエディタいっぱいありますよ!検証やテストもCI/CDにしていきましょうよ!」などと言っても響きません。彼らにとっての最重要事項は現状の開発が回っていることであって、多少の効率改善に目がくらんでやり方を変える方がむしろリスクと認識しています。もしくは、そういった派閥が多数派になった結果、変化の必要性に気が付いている少数派まで身動きが取れなくなっており、DXが進まないのも頷けます。
あらためて、DXとは?
デジタルトランスフォーメーション(英: digital transformation)は、(いくもの定義法があるが、ひとつの定義法によると) デジタルテクノロジーを使用して、ビジネスプロセス・文化・顧客体験を新たに創造(あるいは既存のそれを改良)して、変わり続けるビジネスや市場の要求を満たすプロセスである。
デジタルトランスフォーメーション – Wikipedia
DXという言葉の意味をあらためて調べてみると、単にデジタルテクノロジーをこれまで以上に導入することを推奨する意味に留まらないことが分かります。DXが目指す姿はデジタルテクノロジーを駆使して「ビジネスプロセス・文化・顧客体験を新たに創造する」ことです。これは、歴史的に過去を振り返ると幾度となく起こってきたパラダイムシフトと似た性質だと考えられます。
パラダイムとパラダイムシフト
パラダイムとは
ここで用語の確認をしましょう。
「社会を構成する基本的価値観」を「パラダイム」と呼びます。
評価経済社会 著者:岡田斗司夫 FREEex
最近目を通した書籍の中で一番パラダイムを端的に説明しているフレーズを紹介しましたが、他に言い換えるとするなら「ある時代において皆が一般的だと感じている共通の考え方」などでしょうか。前節で述べた実に現状維持歓迎な現場が「変化・改善」よりも「現状維持・安定」の方が望ましいとする価値観にまとまっている点から、そこには1つのパラダイムがあると言えるでしょう。
パラダイムシフトとは
はるか昔には「神様がそのように決めたからだ」というのが物事のすべての理由だとするパラダイムの時代がありました。そのうちに科学技術が発達して、物事には科学的な根拠があるとするパラダイムに時代が始まりました。パラダイムの変化は社会システムや政治、経済、その他あらゆることに変化を起こします。このような大きな社会を変えるほどのパラダイムの変化を「パラダイムシフト」といいます。ではどうしたらパラダイムシフトを起こせるのか?が次の節のテーマになります。
パラダイムシフトを起こすには
イノベータ理論とキャズム
上図はイノベータ理論を説明する際に用いられるグラフで、イノベータ理論とは、イノベーション(新たな製品・商品・サービス)の市場における普及率を示すマーケティング理論のことです。まずはこの図の見方と登場する用語を解説しましょう。市場に新たな製品が投入されると、その採用者は時間経過と共に増加しますがその内訳は以下のような5段階に分類に当てはまると考えられています。
- イノベータ:新しい技術やアイデアを好み、利益やメリットはあまり考えずに積極的に採用する人々
- アーリーアダプター:新しいプロダクトやサービスを積極的に開拓し、比較的早い段階で取り入れる人々
- アーリーマジョリティ:新しい技術に対してやや慎重派であるものの、全体としては早くに取り入れる人々
- レイトマジョリティ:新しい技術に対してより慎重で、全体の過半数が取り入れ始めると徐々に受け入れるようになる人々
- ラガード:新しい技術への関心が非常に薄く、変化を嫌う保守的な人々
もう一つ説明しておかなければならない用語として“キャズム(深い溝)”があります。 イノベータ理論を前提としたキャズム理論では、早期に新しいものを受けいける層(イノベーター・アーリーアダプター)と、比較的慎重に新しいものを受け入れる層(アーリーマジョリティ~ラガード)とでは、受け入れに至るまでに大きな時間的な差があるとされており、その溝をキャズム(chasm)と表現しています。
古のソフト開発現場に当てはめると
本記事の冒頭で述べたような時代遅れの開発現場にイノベータ理論を当てはめてみましょう。
お題は「先進的なソフトウェア開発環境を浸透させ、パラダイムシフトを起こすこと」とします。
単に新しい開発環境の導入を提案した場合、イノベータ理論によると積極的に採用してくれる割合は組織全体のたったの16%です。もし多数決で採用・不採用を決めるようなことをすると最悪で、残る84%に押し切られて確実に不採用となるでしょう。この状況を打開するには、キャズムを超えて、メイン市場の賛同を得る必要があります。ではどうしたらキャズムを超えて、現場にパラダイムシフトを巻き起こすことができるでしょうか。
パラダイムシフトを起こす3つのポイント
キャズムを超えてメイン市場を巻き込み、現場全体でパラダイムシフトを引き起こすにはどういった戦略が必要か。私が思うにポイントは3つあります。
ポイント1:こっそりやる
スモールスタートと言い換えてもいいでしょう。新しい環境を構築したら展開する先は、受け入れを検討しやすい性質を持っているイノベータやアーリーアダプターまでにしましょう。そうしたら、それ以上の大々的なアナウンスや過度な広告を避けましょう。「試験的にやってるだけだよ」とか「あなたたちの仕事の仕方を侵略しようとしているわけではないですよ」という構えを取り、メイン市場を占める人たちの機嫌を損ねないようにしておく方が後々都合がいいです。
ポイント2:やりすぎない
イノベーターとアーリーアダプターたちとその新環境を使い始めると、こんなことが起こります。
「もっとこういう機能があった方がいいよね」とか「今回の案件とは関係ないかもしれないけど世間で話題の〇〇って取り入れられないかな?」など、イノベータやアーリーアダプターたちは様々な助言(?)をくれるでしょう。彼らは目新しさや最新技術に貪欲ゆえに意欲的に環境のアップグレードを提案してくると考えられますが、それらを全て鵜呑みにして機能を追加できても、メイン市場に提案するハードルが上がってしまいます。大事なのはイノベータやアーリーアダプターを優先することではなく、全体に浸透するものを作り出すことですから、メイン市場がドン引きしない程度に革新を制限するブレーキが必要となります。
ポイント3:ちょっと待つ
再び、図:イノベータ理論、キャズムを見て頂き横軸にご注目頂きたいのですが、キャズムを埋めていくために必要なことのひとつは「時間」です。キャズムは時間が埋めてくれます。逆に言えば、環境を作りこみを終えたら、以降のちょっとした変更や機能追加をぐっと堪えて、ユーザが使っている様子を注意深く見守ることが必要になります。
そうすることで自然な浸透を促すことができます。先行組のイノベータやアーリーアダプターは新しい環境を当たり前に使いこなすようになり、キャズムの向こう側にいるアーリーマジョリティがそれに興味を持ち始めます。こうやって徐々に浸透させていくことで、最終的に全体を巻き込む変化に成長していきます。
コメント