なんだかとんでもなく「何書いてあるのか理解できない」設計をするSEと話した時に。
彼は設計の手を抜いているわけではなく、思考パターンそのものが設計に反映しているのだと気がついた。
私の中では大まかに[要件]-[基本設計]-[概要設計]-[詳細設計]ごとに確定すべきものが決まっていて、隣接するフェーズ同士は干渉するけれども、間を置いたフェーズは直接的には干渉しないように努めているのね。
だから、たとえば客先から何らかの要求があがった場合は、要件を修正してそれはそれで完了。修正した要件に関連づいた部分の基本設計を修正してそれはそれで完了。あと「修正した基本設計に関連づいた部分の概要設計」「修正した概要設計に関連づいた部分の詳細設計」と流れていくわけで。
でもって、なるべく上下流に影響する部分を少なくするように各フェーズで考慮するわけで。
逆に実装上で問題が出てきたときにはなるべく詳細設計の変更までで抑えたいわけで。
って整理しとくと各フェーズ、およびその中の各要素がおのおの限定されていくので、一度決めたら原則としてブラックボックスとして考えていけるでしょ。
必要な時に必要最小限の箱だけ開ければいいんだし。
こんな感じで要素分けしておかないと、なにか起こるたびに要件を変えてみたり基本設計を変えてみたりでむやみに影響範囲を広げてしまって、不要な作業ががんがん増えていくことになってしまうわけで。
さて。
冒頭のSE氏はちょうどこんな感じの把握の仕方をしているのね。
みそもくそもいっしょに頭の中に散乱しているもんだから、何かあるたびにどこをいじるべきかいじらないべきかの推敲から話が始まる。
設計書もさみだれに、「あれも書いとかなきゃ」「これもあったよな」とランダムに列挙。
本人は一所懸命なんだけど、全パターンをなめて検証できるように情報が整理できないので、提示されたロジックは穴だらけ。
物事の整理の方法から学び直せよ、とむかっ腹立ててみたりもしたんですが。
そこで思い出したのが、某コンサル(シンクタンク系)のプロジェクトに参加した際。
プロジェクトそのものの管理手法もエラくがっちりしてたんだけど、リードするプロパーの人らの思考の回転がむちゃくちゃ速いのよ。
打ち合わせてても、向こうさんの判断と確認と同意のテンポがこっちの倍速くらいで、何を言っているのか理解するのがやっと。
こっちが何かを報告しても、「ああそうですかでは私の方ではあれをこうしておきますのであなたはいつまでにこれとあれを調査して報告してくださいいいですかできますよね大丈夫ですか?」までを息継ぎなしで返してくれちゃったり。
いやこっちは報告に至るまでの調査や検討に半日かかってるんですけど。なぜにそんなにすばやく判断できますかね。
しかもその判断と指示が小憎らしいほど的確だったり。
つまりだ。
仕事の処理能力やレベルとして、
コンサルSE氏 → 私 → 冒頭のSE氏
のような気がしてきましたのよ。
これは単に「その手法を知っているかどうか」の問題ではないわな。
では訓練の成果か?と考えると、いったいどんな訓練を受けたら(あるいは自分で施したら)コンサルSE氏のような速度と判断力を持てるようになるのか、見当もつかんす。
つか、あれはもともとの素養なのではないかしら。
例えば、足の速い人がいたとして。
自分だって訓練すれば今の自分よりはそこそこ速くなれるだろうけれども、当然上限があるわけでしょう。
でなかったら、そこらへんの誰でも捕まえて最上級の訓練を施せば、必ず世界新を出せるということになってしまう。
やはり訓練なしでもともと足の速い人を探し出して、その人に訓練を施した方が世界新への期待は持てますよね。
つことで、個々人の身体能力には訓練を施してもおのおのの上限があるのではないか、という仮定に立ってみると。
個々人の頭脳にも訓練の結果到達できる上限があるのではないか。
思考速度も、どれだけ高次の概念を理解活用できるかの能力も。
私はどうがんばっても、きっと上記のコンサルSE氏のような「頭の速さ」は得られないと思う。
てことは、翻ってだ。
冒頭のSE氏の仕事は、あれは彼なりのいっぱいいっぱいなのではないか。
フェーズに分けろだの要素ごとに管理しろだの、それは彼に「世界新の速度で走れ」と願うようなものではないのか。
いつだったか、ソフトウェア工学の最新を考えている人に基本的な概念の説明を求めた人がいて、ひとしきり噛み砕いて話してくれて、それでもまだピンと来ないでいると、「すいませんがこれ以上やさしく話すことができません」と言われた、という話を聞いたことがあって。
たぶんその人の中では一番低レベルの思考要素(本人にとっては実感を持って認識できる具象的な要素)が、聞いている側にはまだ曖昧模糊とした抽象概念にしか思えなかったんだろうと思うのね。
てことで、人によって思考の元となる要素のスケール自体が違うんだろうなあ、と思ったことがある。
私の数学センスを例にすると、三角関数は実感できているけど行列はピンと来ない。ので行列を根底とした思考は無理。
もう一度学べば行列くらいまでは実感できるかもしれないけど、ガロアの著作なんかはきっといつまでたっても絶対無理。
そんなところかなあ。
つことで、先日冒頭の件に関しては某氏から「説明して教育してコンサル料もとっちゃえ」と金のなる木のようなナイスアドバイスをいただいたんですが、たぶん無理だと思います。
そんな説明がしみこむような理解力は相手さんにはない、と判断しました。
でもって、現在もっと平易に理解できそうな簡易モデルを模索中。
そのへんはどんなものなのか。