本業がSIer(システムインテグレーター)なので、ジャケ借り。やっぱり人月ビジネスは限界ですよね。ただ、私の会社の方向性は正しいことを再確認。

私たちシステム屋さんの仕事はこんなプロセスで進みます。

私たちシステム屋さんの仕事はこんなプロセスで進みます。
- お客様のやりたいこと・要望をよーく聞く。ただし、すべてを鵜呑みにしない&言われたこと以外に過不足がないかも考え、確認していく。
- システムとしての実現案を考え、提示する。どこまでシステム化するかに応じて松竹梅の3個くらい考える。
- それぞれの案について、どのくらいのプログラム規模になるかを見積もる。プログラム規模はコードの行数であるStep数や機能の数であるFunction pointで見積もるのが主流。過去実績や類似機能をベースにざっくり見積もる。
- お客様と会話し、どの案を採用するか決定する。
- 概要設計→処理フロー図→プログラムコードのように段階的に詳細化し、モノを作る。
- 出来上がったプログラムをソース単位・機能単位などで試験する。
- お客様に使い勝手を見てもらい、納品する。
家を建てるのと同じように、戸建てがいいのかマンションがいいのかを聞き、物件案を複数提案し、間取り図を合意したら実際に家をトンテン建てて、内覧してもらうという感じです。手戻りを避けるために工程がかっちりしているのが特徴ですが、反面、時間がかかるというデメリットもあります。これをウォーターフォール型の開発モデルと呼びます。
Fintechやデジタル化の時代にはウォーターフォールやシステムインテグレーションビジネスは淘汰されるという議論を耳にしますが、僕は違うと思っています。確かに、Fintech・AIなどのデジタル技術は今後大きく伸びると思いますが、たとえば銀行の勘定系(お金を預けたり、借りたりするときに動くシステム)は今後も残るでしょう。今後のITビジネスを俯瞰するには、既存の重厚長大な基幹系システム(SoR: System of Recordsとも呼ばれます)と新規領域であるデジタル系システム(SoE: System of Engagementとも呼ばれます)を分けて考える必要があるとわかりやすいでしょう。
●基幹系システム(SoR)
- 各企業の根幹として動いているシステムです。
- メインフレームやCOBOLをベースに作られており、築30年を超えていることもざらです。
- 企業活動の肝となるため、高い安定性・信頼性が求められるので、従来のウォーターフォール型のプロセスが適しています。
- 将来的にクラウド化など抜本的なコスト削減が進む可能性が高いので、SoRに過度に依存するとビジネスリスクが高まります。
- 現在の稼ぎ頭なので、ここで上げた収益をSoEや新規技術開発に振り向け、将来のビジネスの芽を多く作ることが大切です。
●デジタル系システム(SoE)
- スマホやPCなどでユーザーが利用する差別化・競争力の源泉となるシステムです(AIを使った投資のロボアドバイザーなど)。
- オープンサーバーやクラウド上で稼動しており、JavaやC#・Pythonなど比較的新しい言語で書かれています。
- マーケットインまでのスピードが命なので、アジャイル開発のような”走りながら考える”系の開発プロセスが適しています。
- 今後爆発的に成長すると予測されるので将来性は高い一方、不確実性も高いため”小さく生んで大きく育てる”POC(Proof of Concept:実証実験)を行いながら商用化することが有効です。