上流工程を目指すネットワークエンジニアへ:設計フェーズで求められるスキル

1.上流工程とは
上流工程とは要件定義、基本設計(外部設計)、詳細設計(内部設計)と大きく3つに分かれており、
それぞれの内容を紹介していく。

・要件定義
要件定義とは、顧客のニーズ(実現したいこと)と、エンジニア側でコストを含め実現可能な範囲を
擦り合わせて、合意を形成していく作業のことを指す。
要件定義に必要な項目として、主にシステム概要、業務要件、機能要件、非機能要件、人員、
予算、スケジュール等が挙げられる。また、要件定義のフェーズでは「機能要件」と「非機能要件」を明確化する必要がある。上記の項目を通じて顧客と認識の擦り合わせを行う。
ここで認識が少しでもズレてしまうとスケジュールの遅延や、顧客のニーズに合わないものが
できてしまう可能性が高いので、慎重に進めなければいけないフェーズである。
全てまとめて顧客に要件定義書というものを成果物として納品する。
リプレース案件であれば既存機器の要件定義書があり、それを元に作成が可能である。
それに対して新規機器導入案件では、既存機器がないのでリプレース案件と比較すると難易度が上がってしまう傾向がある。
※機能要件とは、システムが「何をするか」を定義したもので、開発チームが主体となって定義するのが
一般的である。
※非機能要件とは、システムが「どのようにあるべきか」を定義したもので、システムの性能や信頼性、
安全性などを考慮したうえで決められる。
・基本設計(外部設計)
要件定義で決まった内容をもとに、システム全体の構成や機能の大まかな設計を行う工程である。
具体的にはシステム構成、ハード/ソフトウェア構成、機能設計要件、セキュリティ設計概要等がある。それらを更に具体化していくフェーズでもある。ネットワークの観点で例えると、
どの機器にするのか、構成図にするとおおよそどうなるのか、運用保守はどういったことをするのか等に
少しずつ明確化する。
こちらも要件定義と同様に基本設計書というものを成果物として納品する。
・詳細設計(内部設計)
詳細設計とは、基本設計フェーズで決めたルールをもとに各システムに規定値を設定していく工程
である。
詳細設計では、具体的にネットワークの観点で例えると、構成図(論理、物理)、機器のパラメータや、
IPアドレス管理表など、ネットワークを構築していく上でエンジニアたちが知る必要がある情報全てを
記載する必要がある。また、ネットワークは一つだけとは限らないので、例えば社内LANと社外に接続
できるWANがある場合は、LANの詳細設計書とWANの詳細設計書がそれぞれ必要となる。
ネットワークの詳細設計書はネットワーク構築における環境設定などの工程が記載されていることもあるので「手順書」と呼ばれることもある。
設計構築は、詳細設計に含まれる場合もありここのフェーズで私は論理構成図、物理構成図、パラメータシート、構築手順書、configの作成、機器にconfigの流し込み等を現場で行っていた。
要件定義書でも述べたように、リプレース案件であればひな形となる資料があるのでそれを元に作成が可能である。
2.設計フェーズで求められるスキル
設計フェーズで求められるスキルを述べる前に、設計フェーズとは要件定義を除く基本設計(外部設計)と詳細設計(内部設計)の構成を総称して指す。
ここでは私の体験談も交えながら、設計フェーズにおいて求められるスキルを挙げていく。
・設計書作成スキル
設計書はプロジェクトの開発チーム全体で共有される重要なドキュメントである。そのため、設計書を
明確かつ詳細に作成する能力は、設計フェーズにおいて非常に重要だ。設計書にはシステムのアーキテクチャや各機能、インターフェースの詳細、データフローや処理の手順などが含まれる。設計書作成スキルには、技術面について正確に表現する能力だけでなく、情報を分かりやすく伝える表現力も含まれます。設計書は、技術者だけでなく、プロジェクトマネージャーやステークホルダーにも理解されなければならないため、専門的な知識がない人々にも理解してもらえるような内容と構成が求められる。
上流工程の中で最も経験したのが詳細設計(内部設計)だった。初めは資料(構成図、config作成、作業手順書、パラメータシート等)作成方法や見方が分からず非常に苦戦した。業務に携わってから約3か月程度で概ね一人称で(既存資料を元に作成した)行えるようになった。
要件定義や基本設計と比べて、経験が浅くても既存資料があれば何とかできるので機会があれば是非挑戦してみてはどうか。
・ITに関する幅広い知識
設計フェーズに携わるエンジニアには、案件規模にもよるが構築スキルだけでなく最新のIT技術や業界のトレンドに関する幅広い知識が求められる。
テクノロジーの進化が早く、新しいツールやフレームワークが次々に登場しているため、
常に知識をアップデートしていくことが重要だ。
知識をつけることで、クラウドサービスやAI技術、ビッグデータなど、プロジェクトにピッタリな技術を
選択して、それらを上手く組み合わせる能力につながる。IT知識は現場でも増やすことができるが、
ネットワークの観点で考えるとベンダー資格多く座学でも増やせるので現場の状況を見て積極的に
知識向上を目指して欲しい。
参考文献