何もかも完璧なシステムなんてないのである
顧客の要求を正しくとらえるのは難しい
システム開発の難しさでよく紹介される絵がありますが、やっぱり、何年やっても難しいなと思います。
しんどいわー。
難しい理由はいくつかあるのですが、業務システムという観点から言うと、こんな感じ。
とくに、業務システムなんぞにいるとですねー。「こんなこと、当たり前でしょ?」ってよく聞くんですけどね。
全然当たり前じゃないの。
それ、あなたの部署のルールなの。
その言葉、他の部署だと別の意味で使われているの。
なので、もめるのあたりまえなんすよ。
素朴な疑問を徹底的に追及する
開発をしていると、「ん???」と思うことがあるわけです。
そこで掘り下げると、結構致命的な矛盾や認識違いが見つかったりするんですけれど、これ結構情シス内部でも、経験が浅い人だったりすると「なんで?」って言われたりします。
もう、自分たちの方で要求をまとめて合意までもらってるんだから、あとは作るだけなんだから面倒な確認なんかして掘り下げなくてもいいでしょっていう理屈ですね。
わかるー。
でもそれじゃあユーザとの信頼は確立できないし「本当に価値あるシステム」なんてできやしないのですよ。
大事なのは、システム開発の5ステップを正しく踏むこと
実は、システム開発のプロセス自体は決まりきっていて、つきつめるとこの5ステップでしかありません。
ただ、そこには「ヒト・モノ・カネ」の3つの要素が入ってきて、さらに「ビジネス」という要素が入ってくるので、難しいことになります。
で、だいたいもめるシステムについて話を聞くと、1→2のところをおろそかにしているか、4.のところがきちんとできていないかどっちかですね。
あと、残念ながら、上流工程の人と下流(製造)の人との認識齟齬なんていうものもよくあるし、技術が足りずに言われたことを作り切れないなんて言うこともある。
さらに最近あるのは、外部のサービスを使ってるんだけど、そこで思っていたような性能が出なくて使い物にならなかったり、特定のユースケースに対応してなくてスクラッチで作らざるを得なくなったりとかね。
だいたい、外部のシステムを使うというのは、製造は簡単になるんですけれど、上流側の方はハイレベルのスキル必要なんすよ。正しく理解しないといけないからね。
ビジネスは変わる、要求も変わる。
あと事業会社の情シスで大事なことは「ビジネスは変わる」「要求は変わる」ということですね。
情勢が変われば考え方は変わるし、要求は進化したりする。
そのときにうまくさばけないと、システムが矛盾しておかしなものになったりするので、どう打ち返すかを考える必要があります。
一方的に断っても「前向きじゃない」とか言われるし、
出来上がったシステムが矛盾していたら怒られるしね。
このあたりは、PMの腕の見せどころだと思います。
システム開発には絶対的な正解はない
システム開発は、さまざまなフレームワークが用意されています。
開発プロセスだって決まってるしね。
上流工程だって、成果物の定義はだいたい決まっているので、これを抑えて動けば、何かしら動くシステムは作れますよ。
そのうえで問題は「ビジネスで成功する」ことがゴールだということで、誰か一人の人が「これやりたい」って言ったことを実現することがゴールじゃないってことですね。
これが、いわゆるコーポレートエンジニアの難しいところでもあり、面白いところでもあるなあと思っています。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?