ソフトウェアを使っていて、何でこんな変な仕様になっているのかと不思議に思うことがあると思う。最初は「いい加減な仕様だ」と思っても、よく調べてみると「変な仕様」の多くは、開発者が機能を割り切った結果だということが多い。変な仕様だと気づかせずに仕様をまとめるのがベストではあるが、「変な仕様だ」と言われても、仕様を割り切った結果として多大な効果を生んでいるものもある。 Lotus Notes では、一つの文書を同時に編集・保存してしまった場合「競合文書」というものが作られる。共有データベースの宿命として、どうしても同時に編集してしまうケースが発生する。何の対処もしないと、後から保存した文書が前に保存した文書を上書きしてしまい、前の文書の内容は消え去る。この問題を避けるため、通常のデータベースでは最初の人が編集を始める段階で、その文書を他の人が同時に編集できないようにロックするなどの手段がとられる
![製品作りには機能の割り切りが必要:Software Development:オルタナティブ・ブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/0d93b6190892529c93446cafe8c1994534989ecb/height=288;version=1;width=512/https%3A%2F%2Fblogs.itmedia.co.jp%2Fmt-static%2Fsupport%2Fassets_c%2Fuserpics%2Fuserpic-42-100x100.png)