「仕様」と「設計」

    制作部の里山です。
    普段何気なく「仕様書」や「設計書」などという言葉を使っていますが、
    この二つは全く異なるものだと考えています。

    言葉は生き物であるという観点から見れば業界や企業の文化によっても変わるので一概に言えませんが、
    自分が学んできた限りでは、以下のように異なります。

    仕様:やりたいこと(What)
    設計:どうやるのか(How)

    要求仕様の言語化(要件定義)が苦手な顧客の場合、それを制作会社サポートすることもありますが、
    たいていの顧客はやりたいことをある程度認知しているので、
    要件定義において”大きな”齟齬が発生することはそんなにありません。

    制作会社に顧客が求めているものは設計の部分だと捉えています。
    やりたいことは何となく決めているけど、
    自分たちでは作れないから制作会社に相談するのであって、当然といえば当然です。

    簡単にデータを追加できると思っていたのに、プログラム直さないといけないの?
    エラーが起きたときにリトライしてくれないの?といった問題や齟齬が起きる場合、ほぼ確実に設計に起因します。

    ところで「設計」にも様々な設計があります。

    1.インフラ設計
    2.データベース、API設計
    3.業務ロジック設計
    4.UIデザイン
    5.プログラミング

    これは気の持ち方になりますが、プロジェクトの上流工程で行う設計だけでなく、
    PhotoshopやXDでデザインを作るのも「設計」そのものだし、
    JavaやPHP、Swift、HTML、JavaScriptなどを組むのも「設計」そのものです。

    経験の浅い人や、設計の重要性を教えてもらえなかった人の場合、
    作れればいい(「仕様」通りに動けばいい)という思考になってしまうことがありますが、
    作ったけど保守性や拡張性が悪かったりすると、回りまわって不具合となり顧客に迷惑が掛かります。
    目先の成果に直結しにくく、制作現場にいない人はピンとこないかもしれませんが、
    ここが一番大事で気を付けないといけない部分だと思います。

    単にデザインを作るだけでなく、裏付けを考えながらUI(色、フォント、配置などなど)を設計する必要があるし、
    単にプログラムを作るだけでなく、共通化と分離を適切に行い保守性の高いプログラムを作るのも必要です。

    実装の一部は何年も前からフレームワークが肩代わりしているし、
    デザインにおいてもAdobeさんがAIであれこれできるようにしてくれていますので、
    技術面でもクリエイティブ面でも「モノを作る」よりも「モノを設計する」を強く意識したほうがよさそうです。

    意識すべき点が変わるとワークフローや成果物も変わりますし、
    ひいては各領域の働き方を抜本的に見直したほうがいい時期に来ていると思いました。

    では。