NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

変化の時代を生き抜くSIerの思考法 ~状況に応じたシステム開発スタイルの選択~


こんにちは、林です。ブログ投稿は久しぶりになります。

突然ですが皆さんは、ウォーターフォールやアジャイルといった多様な開発方法論、さらにはDX(デジタルトランスフォーメーション)やDevOpsといったWebビジネスのアジリティを加速させる概念が登場したことで、「どの開発方法論が最適なのか」「DX推進のために、どのようなアプローチを取るべきか」といった判断に迷うことはありませんか?

今回のブログでは、「バイモーダルIT」という概念を起点に、複雑化するシステム開発プロジェクトに対してどういったアプローチが必要になるのかについて、個人的に考えたことを書きたいと思います。



バイモーダルITとは

「バイモーダルIT」とは、2015年にガートナーが提唱した概念で、企業のIT戦略を2つのモードで推進する考え方を指します。具体的には、安定性や効率性を重視する「モード1(守りのIT)」と、俊敏性や柔軟性を重視する「モード2(攻めのIT)」に分けるという考え方です。

  • モード1(守りのIT)
    • 安定性、信頼性、効率性を重視し、既存のシステムを維持・運用します。
    • 基幹システムや情報システムの保守運用、データセンターの管理、セキュリティ対策などが該当。
  • モード2(攻めのIT)
    • 俊敏性、柔軟性、創造性を重視し、新しい技術やサービスを開発します。
    • Webサービスやスマートフォンアプリの開発、AIやIoTを活用した新規事業の創出などが該当。

モード1においては、顧客ビジネスの安定運営に貢献するため、SIerには高い品質と信頼性が求められるシステムを計画通りに構築・運用する能力が期待されます。一方、モード2においては、顧客ビジネスの変革を支援する役割として、顧客のビジネスニーズを深く理解し、迅速かつ柔軟にシステム開発を推進する能力が求められます。

SIerにとってバイモーダルITに対応することは、お客様の多様なニーズに応え、長期的な信頼関係を築くためにもとても重要です。モード1とモード2の両方のIT戦略に対応できる体制を構築し、それぞれのモードに最適なスキルを持つ人材を育成する必要があります。

「バイモーダルIT」という言葉は2015年に生まれたものであり、少し古いイメージがありますが、この考え方は、現在のIT戦略における重要な潮流である「DXの推進」「アジャイル開発とDevOpsの普及」「クラウドコンピューティングの利用拡大」のベースになっていると考えることができます。

  • DXの推進
    • DXを成功させるためには、既存システムの刷新と並行して、新しいデジタルサービスを迅速に開発・提供する能力が不可欠であり、これはバイモーダルITの「モード1」と「モード2」の両輪を回すことを意味します。
  • アジャイル開発とDevOpsの普及
    • アジャイル開発やDevOpsは、高品質なシステムを迅速にリリースするための取り組みです。これらの手法は、バイモーダルITの「モード2」を実現するための重要な手段となります。
  • クラウドコンピューティングの利用拡大
    • 必要な時に必要なだけITリソースを利用できる柔軟性を提供し、企業のビジネス変化への対応力を高めるため、バイモーダルITの「モード2」を支えるための強力な基盤となります。


バイモーダルITに対応するために着目した2つの軸

SIerがバイモーダルITに対応するためには、システム開発プロジェクトにおける開発アプローチの方法と課題の性質を正しく理解し、適切に判断する必要があります。そこで、開発に対するアプローチとして「エンジニアリング」と「ブリコラージュ」という考え方の違いに、課題の性質として「技術的問題」と「適応課題」という考え方の違いに着目をしました。

システム開発へのアプローチの違い

  • エンジニアリング
    • 設計図を描き、計画通りに、高品質で再現性の高いものを築き上げます。
    • 計画的で体系的なアプローチであり、高い品質、信頼性、保守性を確保することに重点を置きます。
    • 大規模システムや基幹システムなど、長期的な安定性が求められる開発に適しています。
  • ブリコラージュ
    • 手元にあるもので、臨機応変に新しいものを生み出します。
    • 手元にある既存の資源を最大限に活用し、柔軟かつ創造的に問題解決を行うアプローチです。
    • 新しいWebサービスのPoCのように、短期間での検証が求められるプロジェクトにおいては、既存のAPIやライブラリを組み合わせて迅速にプロトタイプを開発します。

SIerは、エンジニアリングのアプローチにおいて、要件定義から設計・開発・テスト・運用まで、システム開発のライフサイクル全体を管理し、効率的に問題解決を目指すことが求められます。また、ブリコラージュのアプローチにおいては、既存の技術やツールを組み合わせてプロトタイプを迅速に作成したり、PoC(概念実証)を行うなど、変化への対応力や即応性が求められます。

課題の性質の違い

  • 技術的問題
    • 明確な問題定義と解決策が存在する問題のことを指します。
    • 技術的問題に対しては、既存の知識や技術を適用することで効率的に解決を目指します。システムのバグ修正や既存機能の改善などが該当します。
      • 例えば、システムのパフォーマンスを向上させるために、データベースのクエリを最適化する作業は、技術的問題に分類されます。
  • 適応課題
    • 問題定義や解決策が明確でなく、組織の価値観や行動様態の変化を伴う複雑な課題です。
    • 適応課題に対しては、関係者との協調や試行錯誤を通じて、新たな解決策を生み出すことが求められます。新規事業の立ち上げや、組織文化の変革などが該当します。
      • 例えば、新しいビジネスモデルを支援するシステムを開発する場合、SIerは、顧客企業の経営層や現場担当者と協力して、システムの要件を定義し、開発を進める必要があります。

「考え方や関係性の変化が必要な問題に対して既存の知識や技術を用いて解決しようとして、なかなか解決の糸口が見つけられずにプロジェクトが思うように進まない」といったことにならないよう、解決すべき問題(課題)がどういった性質のものなのかを見極める力が求められます。


SIerにおける開発スタイルの整理

前項では、「エンジニアリング的思考とブリコラージュ的思考」という開発への根本的なアプローチの違い、そして「技術的問題と適応課題」という問題の性質の違いを説明しました。

しかし、2つの違いを理解するだけでは、多様な開発現場の状況を正しく捉え、適切にシステム開発プロジェクトを推進するまでには至りません。どうにかしてこの2つの違いを活用して、プロジェクトに応じた最適な推進方法を選択する手助けとなるものができないかと試行錯誤を繰り返しました。その中で「この2つの違いを軸として掛け合わせてみてはどうか」と考えました。

その結果、下図のような4つの開発スタイルが見えてきました。



  • 第1象限:計画的システム開発(エンジニアリング x 技術的問題)

    • 明確な目標と計画に基づき、効率的かつ確実にシステムを開発するアプローチ。
    • 高い品質と信頼性を確保するために、要件定義、設計、開発、テスト、運用保守等のライフサイクルを重視します。
    • ウォーターフォール型開発などが該当。
    • 例: 銀行の勘定系システム
      • 要件が明確で変更が少ないシステム開発。SIerは、詳細な要件定義を行い、厳格な設計とテストを経て、システムを構築します。
  • 第2象限:適応型システム開発(エンジニアリング x 適応課題)

    • 変化の激しい環境や、要件が流動的な状況で柔軟に対応しながらシステムを開発し、チームのコミュニケーションやコラボレーションを重視するアプローチ。
    • 変化に対応するために、継続的な改善とフィードバックを重視します。
    • アジャイル開発などが該当。
    • 例: 顧客の要求が変化し続ける新規Webサービス開発プロジェクト
      • アジャイル開発手法を用いて、顧客との密なコミュニケーションとフィードバックを繰り返しながら開発を進めます。
      • 変化を恐れず、常に新しい技術やツールを取り入れる柔軟性が求められます。
  • 第3象限:即興的システム開発(ブリコラージュ x 技術的問題)

    • 既存技術を組み合わせて、短期間でのPoCやプロトタイプを開発するアプローチ。
    • 開発スピードと即応性を重視し、現場主導の技術選定と実装を推進。
    • 例: 新しい技術やアイデアのPoC
      • 既存のAPIやライブラリを組み合わせ、迅速にプロトタイプを開発し、技術的な実現可能性を検証します。
  • 第4象限:共創型システム開発(ブリコラージュ x 適応課題)

    • 激しい変化や未知の課題に対して、多様なステークホルダーと協調しながらシステムを開発し、新たな価値創造とイノベーションを目指すアプローチ。
    • 顧客やユーザーとの協働を重視。
    • 例: 新規事業を支援するシステム開発
      • 顧客企業の経営層、現場担当者、エンドユーザーなど、多様なステークホルダーと協力して、システムの要件を定義し、開発を進めます。
      • 創造的な発想と、関係者を巻き込むコミュニケーション能力が求められます。

この4つの開発スタイルに整理することで、システム開発プロジェクトにおける開発アプローチ方法と課題の性質に応じた最適な推進方法を選択する手助けとなるフレームワークに落とし込むことができました。これにより、冒頭で提起した「どの開発方法論が最適なのか」や「DX推進のために、どのようなアプローチを取るべきか」といった判断の迷いに対して、より適切なスタイルを選択し、顧客のビジネス要件に正しく対応できるようになるのではないでしょうか。

1つの開発プロジェクトが1つの象限だけであるということはなく、フェーズや状況に応じて複数の象限を行ったり来たりすることもあります。そのため、常に、「どのアプローチが最適なのか」「どういった問題を解決する必要があるのか」を考えながら、適切な開発スタイルを選択し続けることが大切になります。


さいごに

ここまで、バイモーダルITという概念を起点に、多様化するシステム開発におけるスタイルについての考察を整理してきました。今回ご紹介した開発スタイルは、日々の業務における個別の課題に直接的な解決策を提供するものではありません。しかし、変化の激しい現代において、SIerとして私たちがどのようにプロジェクトを捉え、どういった開発スタイルで推進していくのかよいのかを考える道しるべを作れたのではないかと思います。

バイモーダルITへの対応は、一朝一夕に実現できるものではありません。専門知識の習得、資格取得、そして日々のプロジェクト経験といった、継続的な努力の積み重ねが不可欠です。私たち一人ひとりが、現在携わっている業務に真摯に向き合い、経験を積み重ねていくことではじめて、バイモーダルITへの適応(正しい開発スタイルの選択)ができるようになるのだと考えています。

最近、SIerって今後どうなるのかなと考えることもあります。ですが、バイモーダルの「モード1」は、SIerとしてのこれまでの経験を活かすことができる領域です(逆を言えば、SIer以外はなかなか経験ができない領域でもあります)。その強みを活かしつつ、さらに「モード2」の強みを得られたとき、SIerは新たな価値を発揮できる存在になれるのではないでしょうか。

システム開発の現場では、予期せぬ要求や複雑な判断が求められる場面も少なくありません。だからこそ、私たちSIerは、個人として、そしてチームとして、さらには組織全体として、お客様の期待に応え、それ以上の価値を提供できる存在であり続ける。そのために日々の努力を積み重ねていくことが大切なのだなと、今回のブログを執筆することで改めて感じることができました。

それでは、また。

執筆者林晋一郎

Webシステム開発部門のマネージャをしています。

X(旧:Twitter):@shin16884

Amazon 著者ページ:林晋一郎:作品一覧、著者略歴 - Amazon.co.jp