ソフトウェアデザイナーとは・・・
ナップザックはソフトウェアデザイナー
お客さまのビジネスを成功へと導く総合的なデザインを描く
ソフトウェア開発者の肩書きには、いわゆるSEと呼ばれるシステムエンジニア(ソフトウェアエンジニア)やプログラマー、最近ではソフトウェアコンサルタントやアーキテクトの呼称も使われます。そしてしばしばソフトウェア開発の現場では、SEとは最新のソフトウェア技術を熟知せず、時代遅れの方法論で上流工程を担当する邪魔者。一方、プログラマーは顧客とのコミュニケーション能力に欠けた曲者といった議論が繰り広げられることもあります。またソフトウェア開発者が目指すところはプログラマーだ!いやシステムエンジニアだ!と互いの主張をぶつけ合う論調も目にします。しかし今の時代に求められているものは、このどちらの能力をも兼ね揃えた、“ソフトウェアでお客さまのビジネスを成功へと導く総合的なデザイン能力”だとナップザックは考えます。そしてそのような能力を備えたソフトウェア開発者が、「ソフトウェアデザイナー」だと考えています。
ソフトウェアをデザインするとはどういうことか? 要件に則した仕様を考えること。これは誰もが認めるソフトウェアのデザイン(=設計)です。そしてその仕様を実装し、テストし、納入する。加えて、その開発過程をプロジェクト管理し、要件を定義し、見積を作成する。おおよそこれら一連の作業がソフトウェア開発者の職務でしょう。これらをSEとして取り組むのか、プログラマーとして取り組むのかはさておき、ソフトウェア開発者が習得しなければいけない能力です。しかしこれらの能力を習得してつくり出したソフトウェアが、お客さまのビジネスを成功へと導くソフトウェアになるとは限りません。そこにはお客さまのビジネス環境を分析し、コスト面や機能面、そしてクリエイティブ、プロモーティブな面で魅力的なソフトウェアを生み出さなければならないからです。そのことを意識してソフトウェアをつくり出す人がソフトウェアデザイナーであり、建築デザイナーや工業デザイナーと同じく人それぞれ個性が現れるものだと考えています。ソフトウェアを発注するお客さまのすそ野が広がり、ソフトウェアがお客さまのビジネスに直結する存在になるにつれ、このようなソフトウェアデザイナーが強く求められることでしょう。ナップザックは、要件に則した仕様を満たすソフトウェアを生み出すだけではなく、お客さまのビジネスを成功へと導く総合的なデザインを描く者として、「ソフトウェアデザイナー」の肩書きを掲げています。
