2009/03/09

オブジェクト指向とマネジメント

えーっと、前回のエントリで書いた「仕事の経験や実績を重視する人が陥る罠」の説明ですが・・・「楽しみに待っています」というコメントを頂いたので、早速ですが、書いてみます。(笑)

エントリをしてスグにコメントをもらっちゃうと、ついつい頑張っちゃいますね。

では、早速書いていきますが、ひとつ注意点を。

これからオブジェクト指向など専門的なものが出てきますが、都合のよい解釈、定義で書いていきます。
理由はアカデミックな厳密さよりも、普段の仕事に活かせることに重きを置いているからです。

つまり、それによって普段の仕事が今よりもちょっとでも良くなるならば、適当な理解でもOKというスタンスで行きます。

従って、これって厳密に言えばオブジェクト指向じゃない・・・と思われる方は、スルーした方がいいと思います。

では行きまーす。

前回のエントリでも書きましたが、MacとWindows、両方を使っていく中でソースコードがどういう思想で書かれているのかわかるような気がしています。

簡単にいえばMacはオブジェクト指向。従って、何か処理をする時に都度インスタンス化して対応します。

一方、Windowsはあらゆる状況をすべてソースコードに書いているような気がします。

従って、Windowsはソースコードが長いので、処理が遅い。

何か修正があると、修正箇所が多かったり、影響範囲がわかりにくい、スパゲッティソースになりやすいなどなどいろいろと問題がありそうです。

一方、Macはシンプルにクラス化されていそうです。
ですから修正などの変化も強そうです。

(プログラムの経験がない方へ、ごめんなさい。かなり端折って書いています。ここまで書いてきて理解できないのはわかっていますが、オブジェクト指向の説明はあまりにも長くなってしまいますので・・・。)

では、これを一般的なビジネスパーソンに例えて話をしてみます。

例えばMacなビジネスパーソンは親クラスに「約束を守る」というソースコードが書かれています。
そして子クラスに「アポイントの場面」や「成果物の提出」などのビジネスシーンが書かれています。

従って、Aさんと仕事をする時には、アポイントの場面ではインスタンス化して「約束の時間の10分前に到着する」という処理を行います。

また成果物の提出では、「納品前に1回上司にレビューを受ける」など都度インスタンス化して対応します。

一方、Windowsなビジネスパーソンは、あらゆる状況がソースコードに書かれています。
今回の場合ですと、「Aさんと会う時には約束の時間の10分前に到着する」、「Aさんと仕事をする時には納品前に1回上司にレビューを受ける」と書かれています。

一見、同じに見えるのですが、両者には違いがあります。

例えば、Bさんと仕事をする場合、Windowsは「Bさんと会う時には約束の時間の10分前に到着する」と同じ内容を記述しないと動きません。

一方、Macはインスタンス化すればいいので、ソースコードの変更はいりません。

ここがMacなビジネスパーソンとWindowsなビジネスパーソンの分かれ目です。

Windowsなビジネスパーソンはソースコードに書かれていなければ処理ができません。
従って、ソースコードに書くのですが、成果物の提出では、重要度と緊急度を判断してそれぞれに違った処理を施していたりします。

相手の立場にたった重要度と緊急度ならば大きな問題にならないですが、自分が抱えている仕事の中で、重要度と緊急度を判断したりします。

そうすると、相手にとって重要かつ緊急なのに、自分が重要ではなく緊急ではないと判断して納品が遅れた処理を行ったりします。

Macなビジネスパーソンにすれば親クラスに「約束を守る」というソースコードが書かれています。
従って、重要度と緊急度がどうであろうと「約束を守ろう」とします。

この差が処理結果に響いてきます。

このように考えると面白いことが出てきます。

例えば業界経験や実績。

Macなビジネスパーソンは親クラスに仕事で成果を出すための原理原則が書かれてあるので、他の業界でも応用ができます。

一方、Windowsなビジネスパーソンは、その業界に対する経験が書かれていないと、全く実行ができません。

「愚者は経験に学び、賢者は歴史に学ぶ」という言葉がありますが、まさにMacなビジネスパーソンは自分の経験や他者の知恵から、自分なりに親クラスを作っていきます。
(この親クラスを作るのが大変ですね。抽象化をしないといけませんので。個人的には仮説として親クラスを作って検証しています。)

一方、Windowsなビジネスパーソンはどんどん経験を積むしかありません。
経験を積むということは、それだけソースコードを書くことになるのですが、書けば書くほど処理は遅くなるし、ソースコードの内容もどんどん細かくなっていきますよね。

突然ですが、私はMacな動きをしています。

それはなぜか?

コンサルティングという仕事をする時に経験で勝負をしたらお客様に勝てないからです。
当然ですが私が社会人になる前から現場の最前線でバリバリやってきた方に、経験で勝とうなんておこがましいです。

では、そのような中でどうやったら結果を出すことができるのか?

そう考えると必然的にMacな動きをせざるをえません。

幸か不幸か私は結果論としてMacな動きをしています。
(はじめから狙って行っていたわけではないので、凄いだろという自慢をするつもりはないです。)

それでは本題に戻ります。
上記2つの違いがある中で「仕事の経験や実績を重視する人が陥る罠」を考えてみましょう。

仕事の経験や実績を重視する人は、ほぼ間違いなくWindowsなビジネスパーソンです。

このような方は「ソースコードにどれだけ詳しく書かれてあるか」、「同じようなソースコードがどれだけたくさんあるか」が大事です。(量と細かさですね。)

従って、マネジメントの立場でWindowsな部下に仕事を任せるならば、できるだけ似たような経験を流用して書き加えるような流れを作ります。

ただその仕事で得たことを抽象化して他に応用することは本人は苦手だと思いますので、そのようなことを期待して任せるのは避けた方が良さそうです。

また、新しい取引先を増やそうという時には、Windowsな方は業界や実績を重視します。
が、同じ業界でも会社が変われば、状況は大きく違います。

従って、業界経験や実績が多いから・・・とお願いすると、100%失敗します。
それを防ぐためにも、「例えば、このような場合で自社はどうなるか?」という質問を繰り返しながら、自分達に当てはめて考えることをおススメします。

一方、Macなビジネスパーソンですが、注意しないといけないことがあります。

それは「Macな動きをする方は少ない」ということを認識することです。
これはどういうことかというと、私の経験を紹介して説明します。

私は今までお付き合いする会社を見極める時にMacな考えを使っていました。

例えば親クラスに「約束を守る」というのが書いてあります。

そうすると提案時における打ち合わせで5分遅れた時にこう考えていました。

「一事が万事。打ち合わせに遅れた・・・ということは、仕事の納期もいい加減かもしれない。」と注意していました。

しかし・・・。

Windowsなビジネスパーソンだと「打ち合わせの時間を守ること」と「納期を守ること」は別物です。
打ち合わせの時間はいい加減なのに、仕事としてお金を払うとしっかりと納期を守っていたりします。

とにかく別物です。

自分の親クラスでもってあらゆる状況をみると、都度処理結果が異なって混乱します。

ですから、非常に面倒だと考えてしまいがちですが、あらゆる場面で都度見極める目が必要になります。


と、長々と書いてきましたが、最後にひとつ。

MacなビジネスパーソンとWindowsなビジネスパーソンをどのように見極めるか?

正直、ここはチェックリストか○×で判定できればいいのですが、この分け方自体、最近考えたことでまだこれといった見極め方法はありません。

そのような中で個人的な経験を踏まえると、Macなビジネスパーソンの親クラスには、基本的なことが書かれています。
「約束を守る」、「挨拶をする」、「相手の立場に立つ」など、躾と言われるレベルぐらい単純かつわかりやすいことが書かれています。

そのような単純なことを、複雑な仕事の中で一貫して徹底できている方はMacな感じがします。

また、何かを行おうという時に・・・

Macなビジネスパーソン・・・抽象化しようとする、本質を見極めようとする。
Windowsなビジネスパーソン・・・具体例、詳細例を確認する。

といった傾向があるかもしれません。(あくまでも印象論ですが・・・。)


ちょっとダラダラ長々と書いてしまいましたが、お話はここまでです。

どこまで伝わったでしょうか?

もう少し時間が経って整理ができてくると、もっとわかりやすく書けるかもしれませんね。

と言って、駄文に対する言い訳をしました。
自分の頭が整理されていないことをこういった言い訳でごまかそうとするのは良くないですね。

私自身、まだまだ精神的に甘い所があります。

反省しています。

ということで、異論、反論、大歓迎です!
そういった意見を頂いたりする中で、自分の頭が整理されてきますので、フィードバックがあると嬉しいです。

よろしくお願いします。


<独り言>
Windowsを貶めているような印象を受けられる方がいらっしゃるかもしれませんが、そのようなつもりは全くありません。

両者の対比を鮮明にするためにちょっと強調して書いてある所があります。
(実際Windowsのソースコードがどう書かれているか知りませんし・・・。)

従ってMacな動きをした方がいいよ、Windowsな動きをした方がいいよ・・・というつもりもありません。

自分の得意な型を徹底的に磨いていくのがいいのかなーと考えています。

1 Comments:

Blogger gluelogics said...

早速ありがとうございます。
「Mac派」「Windows派」って、ラーメンズが出演した
MacのCMを思い出しました(笑)

私は状況とか立場によってMacとWindows、
どちらかに変化してます。
と言うとポジティブな表現ですが、
そうせざるを得ない場合の方が多いと言うか…。
後は、やっぱり物事を自分の頭の中で整理出来てないと
Windowsになりがちです。

ひとつ難しいなあと思ったのは、仕事の任せ方です。
個人的にこれまでの上司は基本Macだったので、
任せ(られ)方=Macが、当たり前になっていました。
でも、一般的に多いのは恐らく↓の順の組みあわせなんですよね。

  上司   部下
1.Windows > Windows
2.Windows > Mac
3.   Mac > Windows
4.   Mac > Mac

特に大変なのが2のケースだと思いますが、この場合は
Windowsに合わせるというのが得策なのでしょうか。
また、3の場合、無理にMacになってもらう必要はないのでしょうか。

3/10/2009 1:01 午前  

コメントを投稿

<< Home