多事想論articles

ソフトウェア設計 -ソフトウェア設計のあるべき姿-

(5/6)

 前述の事例をみると成功している組織では、ソフトウェアの共通化と上級マネジメント層の支援がキーのようだ。
 まずソフトウェアの共通化についていえば、不変部と可変部を明確にしたソフトウェア構造にすることが前提になる。さらに、再利用時には可変部だけを変更することを徹底し、その構造を維持しなければならない。また、すぐに使わなくなるソフトウェアを共通化しても効果は少ないため、将来にわたって利用できる機能を不変部としたソフトウェア設計が当然ながら大事になる。このようなソフトウェア設計は一時的な負担になるかもしれないが、組織全体とし開発効率を向上できる最適な設計となりうる。これはソフトウェアが大規模化、複雑化しようとしている現状を乗り切る唯一の切り札といえるのではないだろうか。

 次に上級マネジメント層の支援についていえば、ソフトウェア構造を維持したくても納期を優先せざるを得ない開発者を支援し、必要な措置を行なう上級マネジメントが必要だということである。
 前述のテレビ番組「大改造!!劇的ビフォーアフター」では将来の家族のために住宅の中身が大きく変貌を遂げる。リフォーム前の状態でもかなり不便だが我慢すれば住むことはできる。だが新しく生まれる子供のためや年老いた両親のために高い投資の決断をしている。ソフトウェアの場合もソフトウェア構造が崩れ、次第に開発が困難になった場合に、見直しを行なう決断が必要になる。一度に見直しを行なうか、少しずつ見直し構造を維持するかで方法は分かれるがどちらにしても投資が必要で、上級マネジメント層の決定が必要になる。また、見直し後は目先の開発を優先する現場に対し、ソフトウェア構造の維持を指導するリーダーシップも必要になる。

資料ダウンロードはこちら