あ~SIerさんむけ番組ですな。これ(^^;)
なぜ、案件が失敗するか、要件定義のどこが問題があるのか、長瀬さんが長短時間で教えてくれます。
フジテレビのフラジャイル、お医者さん(病理医)の話なんだけど、前回
第6話 2016.2.17 OA
http://www.fujitv.co.jp/FG/story/story06.html
そこに載っている話の先の話だと思うんだけど(ごめん、自分も途中から見たので・・・)
ある医者が、子供を難病であると診断する。
そして、その難病であれば、こどもをここで手術して治療するのがいい
という話に対して・・・
岸先生(長瀬さん)が、
・シンプルに考えればいいんですよ、お母さんが望んでいるのはなんですか?
→子供(実際には、名前を言った)が元気になること
・それには、治療の前に完璧なる診断ですよ!
つまり、ゴール指向分析で記述するとこうなる
![](https://blogimg.goo.ne.jp/user_image/37/64/7d65079efbf447690349591faf8bb2f5.png)
トップゴールは「子供が元気になる」という状態を表している。
ここで、難病治療の先生は、
・この子は難病です
・その難病を治すには、手術が必要です
・私は手術が完璧です
・だから手術しましょう
というロジックで持っていく。そうすると、まるで、この先生にかかったほうがいいような気がする
しか~し。ちゃんと、状態で分解してみよう。
治療は、あくまでも、診断が正しい場合にのみ、通用する。
診断が間違っていると、必要ない治療をしてしまう。
そして、正しい診断をするためには、必要な検査が居る。
実際には、検査が足りてなくて、この子は難病ではなかった(栄養失調だった)
おかしな手術をして、むしろ命の危険にさらされるところだった・・・
・・・でも、一般の人には、「治療が必要です!」といわれると、そのように聞こえてしまうし、
そのあと、もっともらしいことを言われると、そう思ってしまう。ここで、「治療の前に
診断が必要だ」というのは、プロでしか気がつかない
【教訓】
要求分析は状態分解が完璧であること(診断→治療というようにStartからENDまで状態が繋がっていること)
→かなり初期の段階でこれは教わります。
ある一箇所を取り上げ、そこを深堀りしていくと、まるで、それが達成すれば、ゴールができるように思えるが
→営業ががんばれば売れる
→いい製品を作れば売れる
→いい治療を行えば直る
その前工程、後工程が成立していなかったり、情報不足だと、ゴールに達しない
おなじ現象がSIerでも起こっている。
なんでも、「クラウドですよ、JavaEE7でしょ」とか来ているけど、
そうじゃない。それを判断するのは、
・機能要件(データの流れ)が完璧に出来ていて
・機能要件に基づく非機能要件(性能、UXなど)が完璧に出ているとき
であり、非機能要件を出すには、チェックシートで一応チェックしないといけない
しかし、それに気づくのは、開発のプロでやっている人になる。
ってことで、営業にそそのかされ、クラウド(プライベートorパブリックの差があるが)
つかいましょ、最新のフレームワークを使いましょ、それには、うちの会社が実績ある
からいいですよ・・・となる。
しかし、UXに期待するなら、Javascriptがんばんないといけないから、
Javascriptが、がんばれるフレームワークでないといけないし(JavaEEでJSFの場合、JSとの相性は微妙)
パフォーマンス的に、クラウド・・・どうなの?もっと軽いフレームワークでいいんじゃない?
ってことがある。結果、無理してデスマーチになる・・・っていうのが、いまの世の中
(=つまり、SIerには、診断をろくにしないで、手術したがる先生多すぎ・・)