ソフトウェアアーキテクチャ博物館AtMuseum
FAQ


第2話 アーキテクチャ設計した方がよいの?

委託元が要求しないので、アーキテクチャ設計をしなくてもよい?

システムの全体構造を設計するアーキテクチャ設計は、システム開発に不可欠な工程です。依頼元が要求しないのであれば、出さなくてもよいだけです。

複数の開発者が参加するような規模の場合や、IoTシステムのように、異なる技術の専門家が一緒に開発を進めるような場合は、システムの全体像を明確にし、関係者間の合意のもと開発を進めることが不可欠です。そのための道具がキテクチャ設計です。アーキテクチャ設計は、開発効率や品質の向上だけではなく、開発のマネジメントにも役に立ちます。アーキテクチャ設計の無い開発マネジメントは、所謂、感と度胸のマネジメントになります。

前職でも大規模な組込みソフト開発を経験しましたが、小規模だった頃のように全体構造の設計をせずに開発者間で相談をしながら作っていくような体制では、いくら残業をしてもいつまでたってもバグは収束せず、あげくは体調を崩す人が続出するなどまとも開発はできませんでした。アーキテクチャ設計は、言われてやるようなものではなく、自分たちの命を守るために必要不可欠な工程であることを開発者全員が身に染みることになりました。

最近では、既存コードを修正するだけが仕事のような開発が多いようですが、このようなことだけを続けているとソフトウェア技術者としてのスキルは上がりませんので、既存コードを修正する仕事の中であっても、システム全体構造に目を向けて欲しいと思います。全体が難しいようでしたら、自分の担当するブロックの全体構造でもよいので、まず、考えてみてください。確実に、普段の仕事の質が上がると思います。