使いこなしてないAと使いこなしてるA

ん?

二個目、Bの間違いじゃない?
って一瞬思いそうですが、Aです。両方ともAです。

同じAですが、まるで別人のようです。。。

あるあるマンガ

ちょっとおもしろいショート漫画を見つけました。

The problem is not the tool itself | CommitStrip

MySQLが遅くて限界だから、NoSQLにしようと。
ちょっと待って、Index貼ってみるね。
あっ、20倍速くなった。。。

目の前の道具、ちゃんと使ってる?

似たような話、リアルで現場にあります。

別に NoSQL はそれはそれで必要な道具です。それが向いてるケースもたくさんあるし、RDBとハイブリッドで使う現場は幾らでもあります。

って、今日はそういった議論をしたいわけではなく、焦点は...

目の前の道具、使いこなしてますか?

ということ。

その別のツールも使いこなす?

「使いこなしてないMySQL」と「使いこなしてるMySQL

つまり、

「使いこなしてないA」と「使いこなしてるA」そこから生み出される価値には大きな差があります

...
...

「使いこなしてないA」で問題があるから、別のツール B を導入してみよう!

みたいな。。。

その流れ、とても不安です。その B も、使いこなすことができますか?別の場面で、その B に対して同じようなことを言い始めたりしませんか?

すると今度は B が、かわいそうです...

こなす、ってほど大げさでもない

もちろん、完全に使いこなすのは大変だし、完全に使いこなす必要もないだろうとは思います。

要は「程度の問題」です。

だから議論が難しい。一般に、程度によって結論が変わる類いのものを議論することはとても難しいことです。

例に出た、MySQLのインデックスの話は、RDBに対してほんの少し突っ込んで学べばわかること。ちょーど、こんないいブログが。。。

サイバーエージェント公式エンジニアブログ:
 => MySQL初心者に贈るインデックスチューニングのポイントまとめ2014

漢のコンピュータ道
 => OSC広島と中国地方DB勉強会に参加しました。

基本的なチューニング問題を解決できずに、新しい道具を連れてきても、先行き不安に感じても不思議ではないでしょう。

実際は複雑でも、結局は...

まあ、ここまでわかりやすく単純過ぎるケースは、それ自体あり得ないだろうと思うかもしれませんが、マンガとして複雑な要素を排除したわかりやす過ぎるモデルにしたに過ぎないでしょう。

実際はもっと複雑で、雑音的なセオリーも多く、パッと理解するのが難しかったり、何が論点かはっきりしないケースが多いでしょう。

しかしながら、複雑にカモフラージュされていても...「よくよく考えると、Aを使いこなしてないだけ」なんて、ケースが多いのです。

そう、この二人の A は、全くの別人です。

立体的なセオリーを導く

導いたセオリーから A が限界と言えるなら、そのときは遠慮なく B でしょうね。

o そもそも、そのビジネスに合わなかった
o もしくは、その役割を終えようとしている
o というか、使いこなすつもりがなかった (今後もない)
o ...などなど

そのセオリーはとっても立体的になるはずです。様々な選択肢を見つけてシミュレーションを繰り返します。それで出た答えが B ならば。。。

ちゃんとしたねぎらいの言葉をのせて、A を気持ちよく送別してあげましょう。そして、B もしっかり使いこなしてあげてください。

...
...

でも、もしかしたら、その B ってのは、使いこなした A なのかもしれません。AとBをハイブリッドにしたのが、Bなのかもしれません。

60億分の1を決めてるわけじゃない

ツールの選定というものは、非常に多岐にわかる要因から導き出されます。

今のその状況、その組織、そのビジネスに向いているかどうか?
を議論しているのであって...

「どっちが強いのか?」

って、世界最強を議論しているわけじゃないです。

道具ドリブンで強い方を選ぶわけじゃなく、要件ドリブンでフィットする方を選ぶもの

なので、マンガのような本当にそんな単純なものじゃないし、逆に、A の機能でその問題が回避できるからといって、B のセンがなくなったわけでもないでしょう。

よく勘違いされるので、しっかり書いておきますが、将来のスピードのためや土台構築のためなど、とある道具を使うこと自体に意義のある場合は、それはれっきとした「要件ドリブン」です。道具自体がちゃんと要件を持っている。そういう道具を作れるようになりたいですね。

そのとき、その状況で何を大切にしているのか?

...
...

ぼくらは、「技術者として使いたいと感じる道具」と、「ビジネスとしてそこで使うべき道具」との狭間で、葛藤しながらも仕事人としてバランスをとって、ビジネスの成功に貢献するのです。

...
...

# jflute自身への戒めとして、こうブログに書いてみました。
# 仕事人のアーキテクトとして見誤らないようにと。

...
...

【追記】何を大切にしてますか?
あなたの大切にしたい開発スタイルTOP5は?

【追記】そのツールを現場にフィットさせるためには?
応援してる "A" にもデメリットはあるよ