応援してる "A" にもデメリットはあるよ

今日はシンプルな話。

とある日常の風景

A か B か?
どっちにしようか決めていて...

seaさん「Aだー」
landさん「Bだー」
piariさん「Aだー」
bonvoさん「Aだー」
dstoreさん「Bだー」
ambaさん「Aだー」

seaさん「うむ、Aだね、やった!」
landさん「bonvoさんもAなら仕方ない」
piariさん「これで幸せがやってくるね」

dstoreさん「まあ、じゃあAはAでいいとして、
Aの苦手な部分をどうするか考えないと」

seaさん「えっ!?」
piariさん「まだAにケチつけるの?」
amba「もう決まったことじゃんよ」
dstoreさん「いや、そうじゃなくて...」

seaさん「ギラ!」
dstoreさん「ぐはぁ」

...

まあ、さすがに実際はこうかもですね。

seaさんとかみんな「Aだー、Aだー」
dstoreさん (...)
seaさん「あら、dstoreさん、どうしたのかしら?」
dstoreさん「あっいや、なんでも...Aで良かったね」
seaさん「おーーーー、ホッホッホ」

失敗するのはAでもBでもない

まず、言います。

すべての選択肢にメリット、デメリットがあります。

これを絶対に忘れてはいけません。デメリットのない選択肢なんてありません。

A が B のすべてを包含していること...まあ、あり得なくはないですが、その場合は大抵の場合、議論にすらなっていません。それなりに議論することになった A と B は、互いに良いところを持ち、互いに悪いところを持っていることでしょう。

場合によっては、AでもBでも、どちらでもそこまで大きな違いがないこともあります。

もし、失敗するとしたら...

選んだほうのデメリットに目をつぶって、ただボーっと使うこと

それはシンプルなこと

わたしたちがやるべきことは、A か B か最適な方を選ぶために分析をし、A だろうが B だろうが、決まったら決まったらで、

決めた方のメリットを最大化し、
デメリットを最小化するだけ

最大化する施策も必要だし、
最小化する施策も必要です。

でも、seaさんたちのように、デメリットには目を背けがちです。でなければ、せっかく選んだ A を、つぶしてしまうことになります。

もし、あなたが A を応援しているのであれば、A になったことを喜んでる場合ではありません。A のデメリットによる問題が発生しないような、施策を考え実施するのです。

それこそが、A のためになるのです。

dstoreさんは、最初 B を推していましたが、A になったらなったで、ちゃんとプロジェクトが成功するように、デメリットの部分をリスクヘッジしようとしていたわけですね。

分析は終わっているのだろうか?

A か B を議論しているときは、みな政治的な理由でメリットばかりを強調し、いつしかデメリットに目を背け、それを忘れるようにすらなっています。それが落とし穴です。

jfluteは、数多くの現場と関わる立場上、Aか?Bか?の議論に巻き込まれることが多い立場です。最近ではすっかり、この話ばかりしているように思えます。

昨今は多様化も進み、多くのツールの品質も上がり、どのプログラミング言語でも、どのフレームワークでも、"使い方を誤らなければ" 失敗するようなことはほとんどないでしょう。

個人的には、当然「A がいいなぁ」とか「B がいいなぁ」とか、あれこれは持っていますが...

すっかりそこよりも...

A でもいいから B でもいいからそのツールの思想と特徴をしっかり捉え、最大化と最小化の施策を明確に行うことに重点を置いて欲しい

その思いが強くなりました。

そのプロジェクトにフィットするかどうか?という点においても何も変わりません。フィットする部分、しない部分を見極め、真摯に対処をしていくのです。

もし、それができないのであれば、そもそも「Aにする?Bにする?」の判断自体も正しくできていないと思われます。

さいごに

さて、このブログを読んでいるかもしれない、DBFluteのユーザーのみなさんへ。DBFluteを使って頂きありがとうございます。とっても嬉しいです。

マニアックなDBFluteを使っているということは、"周囲からの大変なプレッシャー" の中で選んだことでしょう(^^。DBFluteの良さを理解して頂いている証拠です。感謝感謝です。

ただ、DBFluteのデメリットも見つけてください。そのプロジェクトに合わない部分もあるはずです。そして、大きな問題にならないようにするための施策を考えてください。そうすれば、メリットがもっと活きるでしょう。

それがプロジェクト成功の鍵です。

...

【追記】こちらにも通じる話ですね。
 => フレームワーク選定という寂しい工程と一つの希望
 => フレームワークの思想、意識して使っていますか?

f:id:jflute:20180930132208j:plain