2017年09月12日

組織の開発スタイル


今回は開発スタイルというか組織のタイプのような話です。歯切れが悪いのは組織論のようでありつつ設計などの開発の内容にもかかわる話だからです。

組織のタイプ


多くの組織を見比べて来たという訳ではないので想像という事にはなるのですが、開発のスタイルとしてはどうも大きく次の二つのタイプがある様に思えます。

突進型

まず最初のタイプはとにかく前進あるのみという感じのタイプです。
以下の様な特性があります。
・停滞しないで常に動いている
・こまめに軌道修正を繰り返して結果に至る
深く考えて悩むよりはとりあえず先に進もうというタイプです。このタイプの場合以下の様な能力が必要とされます。
・判断の速さ、正確さ
・多くの課題を解決して行く行動力
つまり直感的な判断でガンガン進むので次から次へと課題にぶつかる訳ですけど、それを乗り越える力、また乗り越えられる程度で収まる判断力が必要という訳です。

理性型

突進型が理性が無い訳ではないのですが、こちらのタイプは今日の千円より明日の二千円を取る様なタイプです。
以下の様な特性があります。
・事前に深く検討する事で全体をスムーズに進める
・将来に向けて先行投資をする
とりあえず目の前の事をこなすというよりは長期的な視点で損得を判断するタイプです。このタイプの場合以下の様な能力が必要とされます。
・検討の精度の高さ
・机上で全てを詰め切る思考力
つまり最初に理性的に色々考えてその後の行動はほぼそのプランに従うというスタイルになるので最初に精度良く見切れる必要があります。

勿論実際の組織としては100-0でどちらか一方というのではなくある割合でどちらかの傾向が強いという感じになるのだとは思います。

イメージ


二つのタイプの違いは以下の様なイメージです。
53N029_001.jpg
横軸が時間で縦軸が成果です。左下からスタートして右上の旗がゴールです。開発開始と終了(リリース)と考えてもらってもいいと思います。
本当は成果の上側に行くというのはちょっとおかしいかもしれませんが、最短コース(赤線)に比べてふらついている事を表現していると理解してください。

上が突進型です。
一歩一歩の歩幅は小さいですけど速く歩いてゴールに辿り着くというイメージです。
そんなに先々を見通している訳でないので少し歩みはよろよろします。それでもとにかく進むという事です。

下が理性型です。
歩幅が大きくて一遍に進むというイメージです。
あまりコースから外れる事は無くスムーズです。本当はスタート時点で検討している間は横ばいに近いですがこの図では主に歩幅の違いを表現しています。

現実的な問題


理性型で行ければ効率がいいですが多くは突進型の傾向があるように思えます。やはり小難しい事を深く考えるよりは目の前の事をどんどん片付けて行く方がやり易いとは思います。「今日の千円」を我慢するより直ぐ手を伸ばす方がストレスも無く、誰しも自然な情動だと思います。

しかし意識して選択しているのと「なってしまっている」のは別物です。
今一度上の図を見ていただくと分かると思いますが両者の違いはやり方の違いだけであって成果は同じです。本来この両者は組織のタイプではなくて対象とする事案における進め方の違いなのです。なので本当はプロジェクト毎にどちらか寄りの進め方を選択するという事になるはずなのです。しかし現実は多くの組織がやり易いやり方に流れて行って結果として固定的な組織のタイプの様になっているのではないかと思われます。

「成果が同じならどちらでも良いのでは?」と思うかもしれません。勿論そうなのですが常に大事な事は損益がプラスにならなければならないという事です。例えば突進型で以下の様にあまりにもよろよろし過ぎたらどうでしょう?
53N029_002.jpg
この図にはコストは表現されていませんが、見立てが大きく外れてしまって修正するのに大きなパワーがかかり、しかもそれを繰り返してしまっているような状態です。こんな状態ではどうにかこうにかゴールに辿り着いたとしてもプロジェクト全体のコストは膨らみ赤字です。潔く赤字で済ませてくれればまだましですが、下手をすると法律(36協定)を破って長時間労働をさせたり、コスト削減(?)の為に残業をつけさせないとかブラックな事も起きかねません。そして何よりもよろよろした代償としてコードが見るも無残な姿になってしまって将来性、つまり今後のバージョンアップに大きなコストがかかるようになってしまうという事が起きます。
つまり素早くガンガン行くと言っても「拙速」では駄目だという事です。

理性型でも同様です。
53N029_003.jpg
理性型の場合もなかなか悲惨です。スパンが長いので軌道修正自体が難しいです。なのでゴールのレベルを下げる(図の上)とか、途中から何でもありで突進型に切り替える(図の下)とかになってしまいます。そういう事にならないように事前に良く検討する訳ですが検討に時間がかかり過ぎてはその後の時間が無くなってしまってやはりブラックな事になりかねません。
つまり「巧遅」でも駄目だという事です。

何を目指すべきか


実はここからが今回述べたいポイントなのです。
今回この組織のタイプの話をしたのは、前回まで設計の汎用性について述べていた訳ですけれども、中には「そんな事意識してないけどうまくやってる」または「うまくやってる例を知ってる」という人が居るかもしれないと思ったからなのです。
今回のタイプ分けで言えば資産として汎用性を目指そうという組織は理性型です。なので突進型でうまくやっているという話です。でも今見た様にどちらのタイプにしてもうまくやるにはそれぞれ固有の能力が必要です。
特に突進型はスピードが重要ですから直感的な判断力みたいな才能的な能力が必要です。
そういう属人的な要素の強い能力ではもし今うまく行ってるとしてもたまたまかもしれません。果たして自分の組織にそういう能力が将来にわたって十分確保できているのかは考えてみる必要があるのではないでしょうか。
理性型も勿論能力が求められます。
しかしこちらは汎用性の話の中で述べて来た様に蓄積が可能です。毎回毎回のプロジェクトの中で検討の内容というより検討の仕方、プロセスのようなものを文書化して少しずつ溜めて行くという事が出来ます。そうすれば少しずつでも能力が高まって行きます。

外から眺めているだけなのであくまで推測にすぎませんが、いわゆるIT列強と呼ばれるGoogleやマイクロソフトなどのアメリカのIT大手は結構突進型が多いのではないかという気がしています。なぜなら仕様を見ていると用意周到に検討し切ったような感じもしないですし、長期的に盤石なものにも感じません。なので割とガンガン行っている印象を受けます。
最も成功している企業達がもし突進型だとしたらお手本にしたいような気もします。しかしおそらくそうではないのです。それらの企業達には優秀な人材が沢山集まっていてそれ故に可能なのです。そうではない普通の組織が同じ真似をしようとしてもおそらく難しいのです。
ですから一般的には現状がどうであれ自分達の能力と相談しながら理性型を少しずつでも志向して行くべきではないかと思うのです。

一覧


メニュー

関連


外注の形態と必要な能力
ソフトウェア開発のトップに必要なある条件
一体それは誰の問題なのか


記事を広める



posted by 善 at 18:51 | Comment(0) | | このブログの読者になる | 更新情報をチェックする
スポンサーリンク
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。