製造業のエンジニアリング手法をいかに活用するか『システム開発のすべて』

上流・下流工程から改善・監査までわかる システム開発のすべて「システム」という言葉は、本来、情報システムだけではなく仕事の仕組みまでを含みます。

本書は、「システムとは何か」、「情報とは何か」というように、コンピューターシステムの位置づけを明確にしながら基本からスタートし、システムの導入から計画、設計、監査にいたるまで、まさに「システム開発のすべて」について理解できる構成となっています。
著者の北村充晴氏は、(株)プライドに所属するコンサルタント。システムの使い手であるユーザー企業に向けて業務改善やデータ分析、プロジェクトコントロールをするだけではなく、作り手であるSI企業に対しても技術教育やプロジェクト診断などのコンサルティングを手がけています。

いくら素晴らしいシステムが完成したとしても、そのシステムを使いこなさなければ価値は生まれません。著者は、中立的な立場でシステム開発に携わっているだけに、開発プロセスや開発技術に偏ることなく、運用設計や業務マニュアルの作成、移行設計など、システム化を成功させる肝と言える部分にもスポットライトを当てています。

古くからある管理手法をシステム開発に活用

IE」と言えば、InternetExplorerを思い浮かべる方が多いでしょう。しかし、本書では古くからあるIndustry Engineering(生産工学)を指しています。

IE は、「設備や人、方法などをいかに効率よく組み合わせて、モノづくりするか」を追求し、日本の製造業の現場で改善活動をサポートしてきた重要な管理手法の一つです。このような管理手法は、IEに限らず、QC(Quality Control)やOR(Operations Research)なども存在します。

システムインテグレーションは、ソフトウェアという形に見えにくいモノを作るとしても、実際にはソフトウェアの製造業そのものです。自動車産業などの製造業によって鍛えられたエンジニアリング手法が活躍できる場面は少なくありません。

たとえば、源流管理の考え方によれば、後工程に問題を持ち込んではいけません。これは、いわば「先憂後楽」であり、ソフトウェアの品質管理においても、品質を先作りする視点に立てば同じことが言えます。

また、IEにおけるワークデザインは、次のコンセプトにしたがっています。
・真の目的を明らかにする
・目的をブレイクダウンし機能展開する
・機能の一部を選択しシステムを対応させる
・システムの実現に必要な、インプットとアウトプット、変換手順を整理する
・制約から離れて理想的なシステム(理論的な理想システム、究極の理想システム、技術的に実現可能なシステムの3段階)を設計する
・理想システムから後退させ、実現するシステムを設計する

上記の考え方は、業務機能の問題を解決する際に活用できます。本書では、このような管理手法の考え方や方法を、いかにシステム開発に活用すべきかについて、多くの紙面を割いています。

また、システムが真に効果を発揮するためには、システム化本来の目的を達成できているのか、改善点はないかを評価し、継続的に改善していくことが大切です。本書では、この手の本にしては珍しく、システム監査による評価についても触れています。

一方、他の本にありがちな、オブジェクト指向アジャイルなど、最新手法の紹介にはあまりページが割かれていません。あくまでもオーソドックスに、システム開発の本質を説く、「硬派」な内容となっています。

読んでみればわかりますが、この本自体が、まさにエンジニアリング的なアプローチで書かれており全てに理屈があります。隙がなさすぎてやや息苦しくなるかもしれません。しかし、それは、理屈を無視して割り切って仕事を進めてしまっている自分に問題があるからではないか。そう思わせる内容でした。

会社で用意されているシステム開発の方法論は一通り身につけたが、そこからさらに一歩、二歩、レベルアップしたい。そんな方におすすめしたい、読みごたえのある一冊です。

上流・下流工程から改善・監査までわかる システム開発のすべて』目次

1.コミュニケーションギャップとシステムへの誤解がシステム開発の課題
2.システム開発プロセスの全体像を鳥瞰する
3.“金食い虫”にさせない システム化構想
4.“あるべき姿”に業務を具体化するシステム化要求分析
5.人手とコンピューターのバランスをとるシステム機能設計
6.業務運用手順に注目した業務マニュアルの作成
7.本番につなげる詳細な移行手順を設計する
8.もう、システム運用設計を後回しにはできない
9.3歩先を予測し、1歩先を準備してアーキテクチャを設計する
10.最適なソフトウェアコンポーネントに分割したソフトウェア実装設計
11.バグを最低限にまで抑えるソフトウェア詳細設計と製造方法
12.ソフトウェアユニットを効率よく組み立てる統合テスト
13.計画どおり設計されているかをチェックするシステムテスト
14.ユーザー実証テストでユーザーのシステムへの“真”の要求をつかむ
15.モレ・ムダのない現行システムから新システムへの移行
16.システム運用時のシステム改善活動
17.リスクを見通して未然に防止する内部監査人のシステム監査
18.課題特性や開発条件に合わせて開発プロセスをテーラリングする