役割:
|
ソフトウェア アーキテクトは、ソフトウェア アーキテクチャに責任を持ちます。プロジェクトの設計や実装全体に影響を与える主要な技術的決定も、ソフトウェア アーキテクトの責務です。 |
|
|
ソフトウェア アーキテクトは、主要な技術的決定を行うすべての責任を持ちます。この主要な技術的決定がソフトウェア アーキテクチャです。一般的に、システムの要求、設計、実装、導入などの「見通し」を含む、システムのアーキテクチャ上重要な側面を識別したり、文書化する責務も含まれます。
アーキテクトは、これらの決定に対する根拠の提示、さまざまな利害関係者の意見の調整、技術的なリスクの削減などを行い、決定に関するやり取り、検証、厳守が効果的に実施されることを保証します。
ここでは、この役割に関連する追加情報へのリンクを示します。
「理想的なアーキテクトとは、文学、数学、歴史研究、哲学、音楽、医学、法学、天文学、および天文学的演算に詳しい者である。」— ウィトルウィウス (紀元前 1 世紀のローマの建築家)、紀元前 25 年頃
ソフトウェア アーキテクトはバランスがとれ、成熟し、開発構想を持ち、完全な情報がなくても問題を迅速に把握し、経験に基づいて重要な判断を下すことのできる深い経験を持った人である必要があります。具体的には、ソフトウェア アーキテクトまたはアーキテクト チームのメンバーには次のスキルが必要です。
技術的な面では、ソフトウェア アーキテクトは、すべての役割: 設計者の能力を備えている必要があります。ただし、次の点で設計者と異なります。
アーキテクチャ チームを編成するほどプロジェクトが大きい場合は、さまざまな能力を保持し、幅広い経験範囲を網羅し、ソフトウェア開発プロセスの共通の認識を共有することが目的となります。アーキテクチャ チームは、さまざまなチーム、領域、契約者の混成にする必要はありません。ソフトウェア アーキテクチャはフルタイムの職務であり、常に専任の人員が配置されます。
小規模なプロジェクトでは、プロジェクト管理者とソフトウェア アーキテクトの両方を 1 人で担当する場合もあります。ただし可能な限り、これらの役割にはそれぞれ別のメンバーを割り当てるべきです。一方の役割の作業に時間がかかり、もう一方の役割がおろそかになる可能性があります。
ソフトウェア アーキテクチャについて詳しくは、参考資料を参照してください。
Rational Unified Process
|