う~ん。
今回は綺麗なウォーターフォールの仕事だ。
基本設計書フェーズから入って今は詳細設計書を作っている・・・。
さて、順を追って話すと。
今回のプロジェクトは汎用機で動いていたものをWeb系に移行する仕事だ。
実際やるのは初めてだが、よく聞く仕事だった。
そこで、入ったときに何かの説明があるわけではなくとにかく資料を読んでくれとのこと。
いや、読んでくれと言われたのではなく読まなければ仕事が出来ない状況に置かされたと言った方が正しい。
なので、入った時はとにかくドキュメントを読んだ。
そして、それを見ている雇い主は
ドキュメントを読んだから理解している
と勘違いしていた。
正直、
「この人は頭がおかしいのかな?人間はそんなに頭良くないですよ。」
なんて思いながら、仕事を続けていた。
あ、ちなみに自分の名誉のために・・・
俺は読んで分からないことでも自分なりの解釈が出来るところは勝手に解釈して、それでも分からないところはそのことを知っていろうな人に聞きに行って仕事を進めるタイプだ。
そう、例え殆ど面識が無い人でも物怖じせずに話し掛けれるのが自分の強みであり、デスマーチを防いできた武器でもあるのだ。
(考えを纏めるために人を使う くらいなのでw)
さて、相変わらずドキュメントだけを読んで仕事を進めていくスタイルは未だに続いていた。
(その間説明は殆ど無かった。)
そして、事件が起こった・・・。
もし、これが
ドキュメントではなくプログラムソース
ならばこのようなことは起きなかっただろう。
事件とは・・・
全然意味が違うものに同じ用語が使われているドキュメントが出てきたのだ。
俺は自分が知っている用語だと思ってドキュメントを解釈していたのだが、、、
読めば読むほど意味がわからなくなっていく・・・。
そんな状況なので、俺は・・・
とりあえず雇い主(リーダー{俺よりちょっと年下})に聞いた。
すると、
「そのことは既に知っていると思っていたのですが・・・、と言うかその概念を知らないで作らないで欲しい」
との回答。
同じ言葉で意味が違うことなんて聞いて無かったのと、言い方がなんかこうカチンと来る言い方だったので
「いえ、知りません。しっかり説明して下さい。(同じ用語なら同じ意味だと解釈するのですが・・・。)」
と反論。
そもそも、あんたまともに説明したこと無いでしょ??
ドキュメントのありかを教えておけば、膨大な情報量の中から探し出せるとでも思ったのかな?
むりっだつーの!
結局、他の人経由で俺の所に来るはずの情報が途中で途切れていたためにこのようなことが起こったことが分かった。
理由がわかったので、他の人の作っているドキュメントをチェックしたら・・・
その人も俺と同じ解釈をしていた。
そりゃそうだろう。
システム知っている人ならとにかく、こっちは業務もシステムも知らないんだ。ドキュメントだけの情報で調べるのは不可能に近い。
しかも・・・
現行(旧システム)のドキュメントを読み進めていくと
矛盾が多い
プログラムに修正がかかるたびに、設計書を合わせていたことが分かる内容だった。
ドキュメントが間違っているのは自明の理だった。
こんな状況でプロジェクトを進めようとするなんて正気の沙汰じゃないと思うのですが・・・。
本当に考えてるのかな??
ま、まぁ、しょうがない。
今回は自分の勉強のためのプロジェクトだ。
J2EE、純粋なウォーターフォール、金融系・・・どれを取っても自分のキャリアに必要であり、経験をしておきたかったから。。。
それにしても、J2EEは良く出来すぎている分致命的な欠点がある。
上手く使えば凄い威力を発揮すると思うが、使い方を誤まると
何も考えない形式ばったことしか出来ない上流工程SEを大量生産する
ことになるからだ。
こうすれば出来る。という考え方を植え付けるのではなく
何故こうする必要があるのか?
を考えさせるようにしなければいいシステムは出来ないだろう。
P.S.
一番正しいドキュメントはプログラムである。
今回のドキュメントがプログラムソースでIDEが用意されていれば、プログラムソースを追っていくことによってこのような勘違いは起こらなかっただろう。
まぁ、汎用機のプログラムを追うのは正直ごめんだが・・・。
ところで、オブジェクト指向で開発しているならプログラムソースを詳細設計書にすればスケジュールに余裕が出来ると思うのだが・・・。
あ、あと・・・
今働いている人、、、
WebシステムなのにSQLインジェクションを知ってる人がいない・・・。
SQLインジェクションの考慮はしなくていいのですか?と聞く方がアホみたいなので聞くのやめました。
あと、リレーショナルデータ-ベースも知らなかった・・・。使用するデータベースはOracleなのに・・・。
あまりへたに色々聞かない方がいいみたいです。