アプリケーション開発経験の無い者が詳細設計をするな

4月になってから新体制で仕事をすることになりました。
与えられたミッションがお客さんに直接ヒアリングした内容と、微妙に異なることに不安を覚えつつ、仕事をこなす日々です。
さて、先日、近々リリースされる共通ツールがテストを行うというので、(お客さんから直に)プログラム構造のチェックをしてほしいとの依頼がありました。
急な依頼であったため、とりあえず関係者にソースコードを送付してもらいチェックに入りました。
プログラムは全部で9本ありほとんどが100行以下の簡単なものでしたが、1本目を数行読んだところでこいつはちょいとまずいのでは?と思い始めました。
これはデータベースに蓄積されたジョブ情報に従って処理を実行するものですが、ジョブ情報の読み出し、実行、更新がばらばらのアプリケーションで処理されており、失敗時のリランポイントがどうもあいまい(…というか復活できるのかが不安)な印象を受けました。
こいつはもしかして成功時のみを想定した設計なのでは…?と思い、担当者に連絡しようにもすでに17時を大きくまわっており、関係者は帰宅した後でした。
できれば明日(ちゅーか今日)にでも修正をかけたいところですが、残念ながら私は名古屋へ出張で1日不在。
どうするべ?と少し考え出張中のリーダーに電話をかけて、テストを一旦中止してレビューをすることにしました。


この設計を行ったメンバーは、計算機運用をメインの仕事をしているため、本気でアプリケーションなどを作ったことはないとのこと。
一度でも痛い目に遭わなければ、このようなことは思いつかないのかもしれません。
そう言う意味では、詳細設計を行うには、やはりアプリケーションの知識が必要ということなのでしょうか。
#それ以前に、設計した後でそれが要件に合致しているかどうかきちんとチェックしろと言いたいですが…。


プログラムを書いたことのないSEが詳細設計を行うことの危険性をあらためて感じた今日この頃です。


おそらく1日、2日あれば、修正(どころか作り直し)は可能と思いますが、せっかく作ったものを全否定される身になれば非常に辛い。しかし、指摘する方がもっと辛いことを理解いただきたいものです。