コンピュータシステムの雑談
コンピュータシステムの開発は、
(基本設計)業務分析、概要設計、基本設計、詳細設計(ファイル、コード、入出力)、モジュール分割
(プログラム設計)プログラム仕様書
(プログラミング)コーディング、デバッグ
(テスト)単体テスト、結合テスト、総合テスト、並行ラン
(保守)、障害復旧、バグ対処、機能改善
(作業管理)、工程管理
などの作業によって行われる
これらに携わるものを、ソフトウェア技術者と総称する。
また、分析を行うものを、システムアナリスト。
設計を担当するものを、SE(システムエンジニア)。
プログラムを作成するものを、プログラマ、その中でプログラム設計もするものを、上級プログラマ。
などとも呼ぶ。
一般に、ソフトウェアを開発する部門においては、これらが全く独立している場合は少なく、順番に継承されて行くことが多い。
また、作業工程において、設計作業を上流工程、プログラミングを下流工程と言う場合もある。
ソフトウェア技術者も、プログラミングから始めて、順次設計知識も吸収してSEになる場合が多い。
ここで、誤解されやすいのだが、SEは、プログラマを兼ねる訳ては無い。
「優秀なSEはプログラマ2人分のプログラミング能力がある」なとと言うことは、関連性の無い話だ。
プログラミング能力があるほうが、設計時に都合の良いことも多いのだが、逆に、プログラミングでの制約から、システム設計自体を曲げてしまうと言う、本末転倒の要素も含んでいる。したがって、SEにプログラミング能力を付与しないという、ソフト開発部門も存在する。
質の低いソフトウエア開発会社に置いては、とにかく仕事をしなければならないと言う観点から、しゃかりきになる事情もわかるのだが、この程度の基本的認識ができていない程度では、その生産物の品質など知れたものである。
一般にSEと称する者の多くは、実は「上級プログラマ」に過ぎない。
単に、プログラミング用の設計書をプログラマ自から作成していたと言う事だけで、SEの能力があるわけでもない。
ちんけな会社でも、1人は社長だし、人数割りで、部長、課長など管理職を割り振る事も多いが、技術職は、割り振っただけで、能力は伴わない。
欧米では「全社員プログラマでSEが居ない」と言う会社も立派に存在しているが、日本の場合「SEが居ない会社は開発作業ができない」と言う誤った評価がなされるため、社員の肩書きにSEをつけてしまう。むろん能力に連動していないから、実質的には同じなのだが…。
極端な話、航空会社入社しても、営業部門の人は、通常何年たっても飛行機の操縦はしない。職種が違うのである。
職業の貴賎上下があるわけではないのだが、とかく、上流感覚に浸りたいためか、背伸びをしたがるので困ってしまう。
日本人は、成果よりも経過を重んじる。
いかに努力したかが尊ばれる。
例えば
予定通りに進捗したプロジェクトは、特に話題にも上らないが、
遅れているプロジェクトは、納期前に作業が集中し、残業徹夜も増えてくる。
ここで、後者は「残業、徹夜も厭わず、良くがんばってくれた」と高く評価される。
一概には言えないが、スケジュール管理をきっちりして安定した作業をするより、適当に進めておいて、最後に頑張ったほうが、良いわけだ。
また、品質の高いソフトウェアは、トラブルが少ないから、客先でバタバタと作業をすることが無い。
しかし、品質の低いソフトウェアは、トラブルが多発し、客先で頻繁に作業をすることになる。ここで、毎日毎日トラブル対応に駆け付ける方は「直ぐに対処してくれる」「夜遅くまでやってくれる」と高く評価される。
冷静に考えたい。ソフトウェアは、安定して動作することが目的だ。
技術者が、現場で長く居ることに価値は無い。
トラブルがあると言うことは、正常に動作していないわけだ。如何に対応してくれようが、本来、正常動作へのペナルティではないか。
ビデオデッキを買って来たが、録画ができなかった。お店に言うと直ぐ交換してくれた。「あそこのお店は、毎日毎日もう100回も交換してくれたよ」と喜ぶだろうか。毎日毎日録画できず、交換の手間がかかっていることは大変な問題だ。例は極端だが、要はそう言うことなのである。
どうも、日本人は、こう言った本質的な認識が欠如し、見えかがりの評価しか出来ないことに問題がある。
新規作成日:2000年7月12日/最終更新日:2000年7月12日