実装より設計を楽しめ:過去の自分に教えたいデータ構造と一括処理UI/UXの重要性

以前の私は、とにかく「実装」に集中していました。作りたいものを作るためには、難しいコードを書く必要があり、それが何よりも大事だったからです。

しかし、AIが登場し、頭で考えたものが一瞬で実装できてしまう現代において、私の価値観は完全に逆転しました。実装のしんどさが減った分、「あぁでもない、こうでもない」と設計を考えている時が一番楽しいのです。
それはまるで、ウィンドウショッピングで欲しいものを調べて、あれこれ想像している時の楽しさに近い気がします。

データ構造をしくじると後戻りは地獄

設計の段階でキーの持たせ方や正規化をサボると、実装してテストが終わった後に「間違っていました」と発覚し、修正するのが信じられないほどしんどくなります。同じような名前の項目が複数テーブルにまたがって存在し、「どっちが正?」と混乱したり、パフォーマンスが出なかったりと、解決に手間のかかる不具合を大量に抱えることになります。

例えば、承認系のシステム。
ユーザーテーブルやトランザクションに、「主任」「係長」「課長」「部長」「本部長」のような列を横持ちで持たせてしまう設計です。一見分かりやすいですが、人事異動や承認ルートの変更が発生した瞬間、過去データの管理や洗い替えが地獄になります。なまじ他の機能もこの横持ち設計を踏襲していたりすると、直すのが本当に面倒くさい。
承認用のワークフローは専用のテーブルを「縦持ち」した方が、運用も修正も圧倒的に楽で、無駄な列を持たずに済みます。

複雑さは悪。シンプルさがすべてを解決する

設計においてもう一つ絶対に意識すべきなのが「シンプルさ」です。
複雑な設計は、理解・実装・修正・保守のすべてのフェーズに悪影響を及ぼします。逆にシンプルな設計であれば、実装者が仕様を瞬時に理解でき、実装スピードが上がり、バグが起きた際の調査や修正対応も劇的に速くなります。数ヶ月後、数年後の保守フェーズで「過去の自分のコードを呪わずに済む」のも大きなメリットです。

「遅い」は悪。アクションに対するリアクションは数秒以内

遅いシステムは、尋常じゃないストレスを生みます。
検索スピードが1~2秒返ってこないだけで、急いでいる時は特にイライラします。「別の作業をすればいいじゃないか」と思うかもしれませんが、「待たされる現実」に人間は腹が立つのです。サクサク動いて、アクションに対するリアクションは数秒以内じゃないと、システムとして使えないと感じています。

一件ずつ処理させるUIは「怠慢」である

パフォーマンスに関連して、データの登録や編集を「1件だけ」を前提にするUIは、よほどの理由がない限り作るべきではありません。業務システムにおいて、大量データを扱う状態が当たり前だからです。

例えば、日に100件の承認作業がある業務で、1件1件画面を開いて承認ボタンを押させるシステム。100回画面を開くなんて明確に無駄です。
だからこそ、最近の私は絶対に「1件の作業」と「一括の作業」の両方を作るようにしています。データ編集も、一覧画面から複数件を一度に処理できるUI/UXを設計の段階で必ず考慮します。

AIのおかげで、実装のハードルは極限まで下がりました。
だからこそ、私は実装作業ではなく、「データ構造はどうあるべきか」「ユーザーのストレスを無くすUI/UXとは何か」という、設計そのものを徹底的に楽しみたいと感じています。

コメント

タイトルとURLをコピーしました