システムエンジニアの仕事
システムエンジニアと一言で表しても、仕事内容はさまざま。システムを作る工程に注目すると、要件定義・設計・開発・テスト・納品・保守といった流れがありますし、技術面に注目すると皆さんの目に触れるシステムの画面や機能を作る「アプリケーションエンジニア」、データの貯蔵庫とも言えるデータベースを作る「データベースエンジニア」、システムをインターネットに繋げるための設計や構築を行うような「ネットワークエンジニア」など、多くの分野や職種が存在します。
ウォーターフォール型開発
ウォーターフォール型開発とは、上流工程から下流工程へ、開発ステップを一つずつ上から順番に確認しながら開発工程を進めていく手法です。事前にどのような機能をもったシステムを作るかを明確にした上で、決められた手順通りに開発が進むため、完成したシステムの品質が安定し、スケジュールや進捗状況の管理がしやすい点がメリットとしてあげられます。一方、開発をする前の要件定義をじっくり行うため開発期間が長期化しやすく、また、次のステップ進んでしまうと後戻りがしにくいというデメリットがあります。
アジャイル型開発
アジャイル開発とは、作りたいシステムを大まかに決めた後は、短い期間で「要件定義⇒設計⇒開発⇒テスト⇒リリース」を繰り返しながら開発工程を進めていく手法です。小さな単位で一連のサイクルを繰り返して工程を進めるため、仕様が変更になっても柔軟な対応がとりやすく、リスクを最小化させることができる点がメリットとしてあげられます。一方、要件定義段階では詳細な仕様を決めずに着手することが多いため、システムの方向性がブレやすいのが難点です。また、システムの全体像が見えにくく、スケジュールのコントロールが難しいというデメリットがあります。