酷いとは 聞いていたけど 酷すぎる2011年08月22日 22時27分13秒

今月に入ってから取り掛かっている大きな案件として、サービス中であるWEBコンテンツのスマートフォン版を作成するという依頼がある。
発注元が知名度もある大きい会社である事に加えて、モバイル版に続いてスマートフォン版の作成に入るほど客入りのコンテンツという事もあって、従業員3人の会社としては重圧さえ感じるほどの案件となっている。
案件の出所がG社長のコネという事もあって易々と切り捨てられる心配がない上に、スマートフォン版は諸事情によりシステム設計から見直す事になっていて、現状は俺が一人で既存のシステムを見直して状態だ。
要するに作業を行っている開発要員が俺だけであり、案件の大きさこそ理解されていても重圧まで共有している印象がないため、また俺だけが案件のプレッシャーに怯えている状況と言える。
もっとも他の2人は手間が掛かる割に納期の短い案件を受け持っていて、俺はそちらの苦労に関わっていなくて悲鳴しか聞いていないからお互い様なのだろう。

スマートフォン版は現行でサービス中のモバイル版をベースに開発する事になっており、モバイル版の造りが悪くて機能追加の際に余計な苦労を強いられているらしく、その辺りの状況も改善したいとの事だった。
何処まで雑なのかと造りをしているのかと好奇心を持って取り掛かったのだが、最初に抱いていた気分の高ぶりは1日と保たずに燃え尽きてしまって、後には絶望くらいしか残っていなくて軽く心が折れていた。
システムがどのような手順を踏んでいるのか理解するだけでも一苦労な状態で、機能追加で余計な苦労を強いられているという意味だけ早々と思い知らされて、苦笑する気力さえも萎えてしまった。

システムの流れを難解にしている大きな要因はプロセスの住分けが全くできていなくて、システム開発の基本知識を持っているのかも疑わしいと愚痴を漏らすほど酷かった。
プロセスの住分けが何を意味するのかと言えば、システムは「入力された情報を処理して出力する」という携帯を基本として、入力・処理・出力という3種類のプロセスを踏んで出来上がっている。
問題のプログラムはこれらのプロセスが入り交じった格好で作られていて、「何処で発生したデータなのか」や「何に使われる情報なのか」といった部分が不明瞭で、全体を見渡せずに1つずつ紐解くしかなかった。

そんな難解なこと極まりないプログラムを必死に努力して解析した後、今度はどう再構成したものかと頭を悩まされる羽目となって、試行錯誤を繰り返して今日までに1つ目の機能のリメイクが概ねに完了した。
これで開発が軌道へ乗ってくれたなら良いのだけど、未だに未開の機能が山積しているので、今の設計で最後まで走りきれる保証がなくて、不安の種というか爆弾は依然として抱えたままとなっている。