fc2ブログ

システムで一番大切なものは「人」

 私がシステム屋として仕事をする上で、常に心がけている事があります。それは、システムは人が一番重要だと考え、常にシステムを使う人の心を最優先する事です。システムは人間のためにあるのですから、人間の心を重要視するのは当然のことです。
 優秀ではないシステム提供会社は人を見ず、流行りの技術や、自社にとって都合のよい技術と都合だけでシステムを構築しようとします。そんな事をすれば当然システム導入は失敗します。システムを使うのは人間であり、人間の事を考えていないシステムが役に立たないのは至極当然です。
 私がシステム構築をする時は、極力お客様と会話をし、可能な限り業務を見学します。日本のIT産業は多重請負構造なのでそれが叶わず、仲介会社から間接的に聞き出す羽目になる事も多いのですが、お客様の業務をシミュレートできれば、システム導入の成功率が高いと断定できます。システム開発成功の鍵は、どれだけお客様の立場に立てるかだと言えるでしょう。
 私がシステムを構築する際には、お客様と会話をするのと同時に、頭の中でシステムを分析・設計・実装を行い運用までシミュレーションをします。このシミュレーションの鮮明さでシステム開発の成否が初めからわかります。これがシステム屋の必須能力であり、技術力とはお客様の要望を具現化する力というのが私の持論です。
 シミュレーション能力が役に立つ理由は、もちろん精神論ではありません。システム開発が失敗する一番の理由は、仕様書の不備広い意味での開発環境の不備です。情報が足りなければよいシステムが作れるはずがありません。お客様と会話するのと同時に、システム開発の全てをシミュレーション出来れば、あらかじめ足りない情報が分かりますので成功率が高くなります。
 この記事を読んでいる人の大半はサラリーマンであり、日本の産業構造からお客様の声を聞き難い状況に居る事でしょう。しかしながら、その状況を甘んじて受ければプロでなくなります。何故ならば、お客様が望むシステムが作れなくてプロとは呼べないからです。
 日本のIT産業は余りにも酷い状態ですが、常にお客様の事を考え、プロとして恥ずかしくない生き方をするよう心掛けましょう。そうすれば、自分という人間の存在意義を見出し、心残りのない人生を送れます。
スポンサーサイト



テーマ : ソフトウェア開発
ジャンル : コンピュータ

開発プロセスは数直線

 私が常日頃疑問に感じている事があります。それは、IT業界の人間が開発プロセスをぶつ切りにして考えている事です。その現れとして、設計は実装を知らないシステムエンジニアが担当する、実装は設計を知らないプログラマが担当する・・・などという情報処理技術の性質を無視した人事が行われています。その行為がどれだけ日本のIT業界を駄目にしているか・・・その損害は計り知れません。品質を低下させ、生産効率を下げる事に尽力していると言っても過言ではありません
 システム開発の全プロセスを体験すれば分かりますが、開発プロセスは独立して存在しているのではなく、厳密に区切られるものでもありません。開発プロセスは数直線と同じく途切れることなく続いています。むろんこれは私だけが言っている事ではなく、オブジェクト指向方法論の大家達も同様の事を言及しています。
 そもそも開発プロセスは、あくまでも作業内容が分かりやすい様に工学的な考えで作られた概念です。開発プロセスが独立して存在しておらず、数直線のように途切れなく続いています。ですから、開発プロセスの全段階を把握しておかないとよいシステムは作れません。そこをどう誤解したのか、システムエンジニアはプログラミングが出来なくてもよいなどといった、開発プロセスを独立したものとして考える人や会社が多々存在します。
 具体例を挙げます。オブジェクト指向分析が終了した事を厳密に証明する普遍的な方法はありますか?もちろんそんな方法などありません。仕様の正しさを数学的に証明できないのですから、オブジェクト指向分析の終了を厳密に証明する事など出来ないのです。実際のところ「そろそろ分析を終えて設計をしよう」といった人間の感覚で開発作業は進みます。
 開発プロセスが定義されている理由は、あくまでも、開発作業を明確化し、集団作業がやりやすいように便宜的に定義しているものだという事を忘れてはなりません。開発プロセスは曖昧で、設計に近い分析段階、実装に近い設計段階・・・等といった状態があり、その状態を無視するとシステム開発は失敗します。
 開発プロセスには名前が付けられ作業が定義されています。しかしながら、物事は断片的に存在せず、全ての事象は連続して起こっています。人間である我々技術者はそれを踏まえて柔軟に対応しましょう。

テーマ : 情報処理技術
ジャンル : コンピュータ

プロフィール

インドリ

Author:インドリ
みなさん、はじめまして、
コンニチハ。

ボクは、無限の夢(infinity dream)を持つネタ好きな虹色の鳥インドリ(in dre)です。
色々な情報処理技術を啄ばむから楽しみにしてね。

http://twitter.com/indori
は別人による嫌がらせ行為です。
私とは関係ないので注意して下さい。
次はなりすましブログなどをするかもしれませんが、ここ以外でブログをするつもりがないので、ここ以外にインドリのブログがあったとしても無視してください。


何度言っても分からない人がいるので、ここにコメント欄へ書き込むときの注意事項を書きます。


一、社会人としてのマナーをわきまえましょう。
一、妄想に基づく書き込みを止めてください。
一、暴言の類は書かないで下さい。
一、某誹謗中傷サイトの書き込みは彼らの妄想に基づく書き込みですから無視して、ここへ書き込まないで下さい。
一、コメント書く前に他のコメントよく読んでから行って下さい。
一、言いがかかり等の行為を禁止します。
一、その他常識的に考えて迷惑なコメントはしないで下さい。


以上のルールを守れない人のコメントは削除します。



利用上の注意
ここに紹介してある文章およびプログラムコードは正確であるように心がけておりますが、内容を保証するものではありません。当サイトの内容によって生じた損害については、一切の責任を負いませんので御了承ください。


執筆したCodeZineの記事


【VB.NETで仮想CPUを作ろう】

  1. VB.NETで仮想CPUを作ろう
  2. レジスタの実装
  3. 仮想CPUのGUI化
  4. テストドライバの改良
  5. CPUの基礎動作の実装
  6. MOV命令の実装
  7. ADD命令実装
  8. SUB命令実装
  9. INC命令&DEC命令の実装と命令長
  10. MLU命令の実装とModR/Mについて
  11. DIV命令の実装とイベント設計について
  12. 機械語駆動式 関数電卓を作ろう!
  13. 機械語駆動式 関数電卓を作ろう! 解答編(前半)
  14. 機械語駆動式 関数電卓を作ろう! 解答編(後半)


【仮想ネットワーク実装でTCP/IPを学ぼう】
  1. TCP/IPの基礎と勘所
  2. ネットワークアクセス層の勘所
  3. インターネット層の勘所
  4. トランスポート層の勘所
  5. アプリケーション層の勘所
  6. セキュリティの基礎と仮想ネットワークの仕様
  7. GDI+と独自プロトコルの定義



【並列化】
インテル Parallel Studioを使って並列化プログラミングを試してみた
並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」


【TBBシリーズ】
  1. インテル スレッディング・ビルディング・ブロックの概要
  2. インテルTBBから学ぶループの並列化
  3. スレッドセーフとインテルTBBのコンテナ
  4. インテルTBBのスレッドクラス


【OpenMPシリーズ】
  1. OpenMPの基礎構文
  2. OpenMPの実行時ライブラリと並列ループ
  3. OpenMPのメモリモデルとfork- joinモデル

最近の記事
最近のコメント
月別アーカイブ
カテゴリ
Ada (9)
COBOL (5)
C (9)
C++ (11)
C# (370)
D (25)
Java (8)
Perl (1)
Ruby (14)
PHP (2)
Boo (2)
Cobra (2)
LISP (6)
F# (33)
HTML (0)
XHTML (0)
CSS (0)
XML (0)
XSLT (0)
Scala (4)
WPF (0)
WF (2)
WCF (0)
LINQ (4)
MONO (5)
Linux (0)
MySQL (0)
ブログ内検索
リンク
最近のトラックバック
RSSフィード
ブロとも申請フォーム

この人とブロともになる

QRコード
FC2カウンター