情報システム関連の業務に携わるようになる前まで、筆者はIT産業の人たちをコンピュータ遣いの達人だろうと考えていた。それにしても腑に落ちないことがあった。ソフトウェアを作る人たちが、どうしてコンピュータを駆使しないのかということである。言い換えれば、ソフトウェア生産の機械化がなぜ行われないのだろうかという、単純な疑問である。
製造業などでは自動化は当たり前
製造業も建設業もサービス業も常に機械化や自動化、部品化を進めている。依然として人手に頼らなければならないことも多いが、機械化やロボット化を進める合理化努力は止まない。
かなり以前のことだが、ある造船所を訪問した際にその一端を見たことがある。鋼板から最も経済的に部品の板を切り出す“板取り”や“切り出し”を自動化し、船体に組み上げる溶接もロボットで自動化していた。これらの制御はコンピュータで行われており、そのプロセスでは人手を極限まで省いていたのだ。溶接の熱による歪み分も計算済みなので、仕上がりの寸法検査は必要ないという。こういうコンピュータの使い方こそ、本来求めていたものではないかと感銘を覚えた。
ひるがえってIT産業を見ると、ソフトウェアの生産は相変わらず人力頼みで、機械化や自動化の進化が見られない。これはどうしたことなのだろう。
「アジャイル開発」といわれる開発手法のカテゴリーがある。アンチ・ウォーターフォール型の手法で、「XP(eXtreme Programming)」や「スクラム」など反復型の手法を用いて、要件変更に柔軟に対応し、早期に高品質のソフトウェアを構築する開発手法を総称している。この中にはソフトウェアのコンポーネントを再利用するようにしてセミオート化するRAD(Rapid Application Development)ツールやCASE(Computer Aided System Engineering)ツールなど古くからある手法も含まれるようだ。
しかしここで言うソフトウェア生産の機械化・自動化は、ソースコードの自動生成を指す。RADツールやプログラムパターンを使って部分的に再利用するのではなく、設計書からソースコード全体を自動生成するアプローチである。2001年に提唱された「MDA(Model Driven Architecture:モデル駆動アーキテクチャ)」が、最も近いイメージだ。
もちろん製造業でも、微小レンズの研磨や船舶プロペラの最後の仕上げは熟練工である匠の技が求められる。だが、通常のソフトウェア開発におけるプログラミングでは匠の技は不要だ。ロジックに基づいて書かれるものだから、設計書に基づいて機械化できるはずの領域である。それによって労務集約型の生産モデルも変えられる。ITエンジニアがデザインに集中することによって早く、安く、品質の良いシステムを作れるようになるはずだ。
会員登録(無料)が必要です
- 1
- 2
- 次へ >
- 幕末の藩教育から学ぶべき教育の本質(2025/01/07)
- 最近の選挙から民主主義とデジタル社会を考察する(2024/12/04)
- DXを推進するなら「情報システム部門」を根底から見直せ!(2024/10/30)
- 「建設DX」の実態と、厳しさを増す持続可能性(2024/10/02)
- 過剰なハラスメント意識が招く日本の萎縮(2024/08/27)