ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。

イノウーの憂鬱 (17) 変更仕様書

»

 ぼくがサードアイから給料をもらっていた頃、ユーザ企業のシステム部門担当者と話をする機会が何度かあった。新人の頃は、システム部門に所属しているぐらいだから、システム構築やプログラミングについての知識も、それなりにあるのだろう、と勝手に想像していたものだ。その認識が事実で上書きされるまで、それほど長い時間を必要とはしなかった。
 ユーザ企業のシステム部門の主な業務は、社内インフラに関するハードウェアの調達、OS やソフトウェアの導入、ネットワークやセキュリティの設定などで、システム開発は含まれないことがほとんどだ。最近では内製化を推進している企業もあるが、大規模開発が可能な開発部門を自社内で維持し続けることはコストの面から困難と判断されることが多い。
 恥ずかしい話だが、サードアイ時代のぼくは、心のどこかで、そんなシステム部門に対して優越感にひたっていた。実際にシステムを構築しているのは、プログラミングのスキルを持つプログラマと、業務を知るエンドユーザであって、打ち合わせに退屈そうな顔で同席しているだけのシステム部門ではない、と。
 転職したマーズ・エージェンシーもIT 企業だったせいか、これまでユーザ企業にいる、という意識はなかったが、この会議室においては、ぼくはまさに「ユーザ企業のシステム部門」の人間である、ということに気付かされた。
 「いや、これは失礼を」古橋さんはそう言いながら三津橋さんを目でたしなめた。「見積の詳細は、社に戻り次第、すぐにお送りさせていただきます」
 三津橋さんは、ムダなことを、と言いたげに上司を見たが、それ以上何も言わず、退屈そうな顔で会議テーブルの上に置いたペンを眺めた。
 「えー、他に何かございますか」
 少し躊躇った後、ぼくは小さく手を挙げた。
 「この見積ですが、どれぐらいの改修率を見込んでいらっしゃいますか」
 これは、本来なら伊牟田課長に向けられて然るべき質問だ。ぼくたちが、ダリオスの改修を行う件を知らされたのは昨日だ。財務課からの正式オーダーも来ていないので、作業工数の見当などつくはずがないが、現にマギ情報システム開発は見積を出してきている。まさか当てずっぽうで算出したはずはないから、必要な工数の前提になる情報を得たはずだ。伊牟田課長がどのような前提条件を伝えたのか知りたかったのだ。
 「えーと、改修率と言われますと」
 「つまりですね」ぼくは補足した。「既存システムの仕様書とソースをチェックして......」
 「え、え、え?」古橋さんは目をしばたいた。「ソースのチェックと仰るのは、どのような意味でございますか」
 どのようなも何も、「ソースのチェック」という短文に、それほど多くの意味があるだろうか。ぼくは内心首を傾げながら、説明を追加した。
 「まだ改修範囲がはっきりしませんが、今回の改修は下請法への対応がメインとなると聞いています。手を加える必要がない画面もあると思いますし、逆に、作り直した方がいいぐらい大幅に手を入れる機能もあるはずです。その判断を行うためには、既存システムのJava ソースをチェックして、改修範囲を決めますよね。そのあたり、どれぐらいの認識なんでしょうか」
 古橋さんは困った顔を三津橋さんに向けた。
 「ソースのチェックですか」三津橋さんは怒ったような声で答えた。「そういう話は聞いてませんがね」
 「え?」ぼくは驚いた。「じゃあ、どうやって改修作業を......」
 「御社から変更仕様書とテスト仕様書を出してもらえるという話でしたが」
 三津橋さんは、そうですよね、と古橋さんにボールを戻した。古橋さんはお伺いをたてるように伊牟田課長を見た。
 「もちろんです」伊牟田課長は力強く断言した。「うちで作りますよ」
 いやいや、そんなことを勝手に決めんじゃねえよ。ぼくは罵倒したい衝動を必死に抑え付けた。変更仕様書をシステム開発室で作成するということは、全ソースをチェックし、影響範囲を調査しなければならない。テスト仕様書はもっと手間がかかる。テストケースを過不足なく考えるのは、システム構築の中で最も脳を酷使する工程だ。加えて、テスト仕様書を作成するということは、改修内容のクオリティに責任が生じるということになる。
 「ですよね」古橋さんがハンカチで顔を仰ぎながら大きく息を吐き出した。「ああ、びっくりしました。もう一度、見積を見直すことになるんじゃないかと思いましたよ。ソースの解析からとなると、大きく変わってきますもんでね。仕様書、いただける、ということで間違いありませんよね」
 「あたりまえだの柿の種」伊牟田課長は笑った。「ちがった。柿の種じゃなくてクラッカー」
 「いやあ」古橋さんがすかさず応じた。「冗談はよしこさん」
 二人の年配者は、廊下まで響くような笑い声を上げた。

 ◇ ◇ ◇ ◇ ◇

 「変更仕様書作るなんてあたりまえだろ。あたりまえだのク......」
 「それはもういいです」
 伊牟田課長が上げかけたバカ笑いは、木名瀬さんの冷たい口調によって打ち消された。
 顔合わせが終わり、ぼくたちはシステム開発室に戻ってきていた。着座する間もなく、木名瀬さんが変更仕様書の件を伊牟田課長に問い質している。
 「いいですか、伊牟田さん......いえ、課長」木名瀬さんは抑制された口調で説いた。「変更仕様書とテスト仕様書を作るのは、実際のプログラミングよりも多くの工数を必要とします。それなら同じ工数を使って、内製した方がいいじゃないですか」
 「だって内製するにしても仕様書作るだろう。だったら......」
 「作りませんよ」
 「はあ?」伊牟田課長はわざとらしく顔をしかめた。「何言っちゃってんの。仕様書作らないでどうやって開発するんだよお」
 「現に検温登録フォームは、仕様書など作らずリリースしています」
 伊牟田課長はバカにしたように鼻で笑った。
 「そらあ、あの程度だったら、できんべさ。うちの受発注業務の根幹になるシステムやで。さすがに仕様書なしってなわけにゃあいかんべ?」
 どうでもいいが、そのごっちゃな方言を多用するのは止めてほしいものだ。
 「そんなことは......」
 「ああ、もう、うっさいなあ。とにかく変更仕様書作れ。これ、ギョーメイだから」
 ギョーメイが何なのかわからなかったが、ぼくは木名瀬さんを援護すべく声を上げた。
 「あの、最近はもう仕様書作ってプログラマに指示を出すやり方は、しなくなってるんですが」
 「最近なんかどうだっていいんだわ。ちゃんと仕様書作るのが俺のやり方。そいつが俺のやり方」
 語尾はどこかで聞き覚えのあるメロディに乗っていた。ぼくと木名瀬さんが顔を見合わせていると、伊牟田課長は「おっとっと。三課行かなかんわ」と言い残し、鼻唄を歌いながら出て行ってしまった。
 「で、どうするんですか」マリが少し投げやりに訊いた。「本当に仕様書作るんですか?」
 「何しろギョーメイらしいですから」木名瀬さんは皮肉な口調で言った。「部門長が作れというなら、作るしかないでしょうね」
 「回避方法って何かないんですか?」
 ぼくは木名瀬さんの社内政治力――もちろん、伊牟田課長とは別の意味で――の行使をほのめかしたが、返ってきた答えは期待とは違っていた。
 「私だって一介のサラリーマンです。コンプライアンスに反しているとか、明らかに効率が悪いとかならともかく、正当な業務命令に対して、どんな理由であれ、サボタージュするようなことはできません」
 「あ、ギョーメイって、業務命令か」斉木室長が呑気な声で言った。「ずっと考えてたんだよね」
 「いや、そこちゃいますやん」マリがクスクス笑った。
 「前にも言ったと思いますが、あのお方は面子だけは売るほど持っています。仮に、あくまでも仮にですよ、何らかの穏当ではない手段で命令を潰したりしたら、一生解けない呪いを背負い込むことになります」
 「じゃあ、作るしかないってことですか。工数と期間的に間に合わない気がしますが」
 「できるだけ簡単な仕様書にして、不明点は質問してください、と逃げるしかないでしょうね。どちらにせよ、財務課が変更内容をまとめるまでは、完全なものはできません。まずは下請法対応の部分からとりかかりましょう。これは以前に監査から出された、要改善内容レポートがあります」
 少し相談した後、まず、ぼくが変更仕様書のひな形を作成し、それを参考に粒度を調整することとなった。
 「お願いします」木名瀬さんは言った。「今週中でいいですよ」
 「......いいですよって、今日、木曜日なんですけど」
 「では月曜日の朝までで」
 つまり週末も仕事をしなければならない、ということだ。ぼくは諦めて首肯した。
 「マリちゃんは、予定通り、m2A の方を進めていてください。ただしスケジュール的に余裕がなくなりそうなので、勉強を兼ねて、というわけにはいきません。不明点があったらずっと悩んでないで、イノウーくんに質問してください。いいですね」
 マリはぼくを見て小さく頷いた。
 「それから」木名瀬さんは続けた。「マリちゃん、再来週、年休予定でしたね。今のうちに申請出しておいてください。伊牟田さんは、ギリギリに出した勤怠申請は、9 割以上の確率で無視するという評判です」
 「わかりました。今日中に出しておきます」
 「では、仕事に取りかかりましょう。私と斉木さんは、財務課で要件とりまとめの進捗状況を確認してきます」

 ◇ ◇ ◇ ◇ ◇

 ぼくは金曜日、土曜日の大部分と、日曜日の午前中を費やして、変更仕様書のひな形を作成した。マーズ・エージェンシーには、マーズネット時代から伝わる仕様書のテンプレートファイル一式が存在している。変更仕様書もその中に含まれているが、プログラミングを知らないシステムエンジニア視点で作られたものらしく、実用に供するには不足部分、あるいは不要部分が多すぎた。ぼくはプログラマとして「自分が受け取って実装する」という前提で、新たに変更仕様書のレイアウトを考えた。
 旧バージョンで大きなスペースを取っていたI/O 関連や、変数名やメソッドの定義は全て削除し、代わりに実装のゴールを箇条書きで記述するエリアを追加した。プリントアウトする予定はないので、ページ設定も不要だ。ひな形がある程度完成したところで、サンプルになる下請法適用対象チェックの追加部分の変更仕様を記述していく。
 月曜日の朝一番で、作成した変更仕様書をTeams で共有した後、全員でレビューを行い、そこで出た意見を反映し、ブラッシュアップを続けた。主に木名瀬さんとぼくが修正を加え、斉木室長とマリが、マギ情報システム開発のプログラマというロールで、理解できるかどうかを主眼にチェックを行う。このさじ加減は意外に困難だった。仕様書の記述が詳細すぎれば、作成するぼくたちの負荷が増大するが、簡略でありすぎても、質問や確認のコストが膨れあがる。
 ランチ休憩を挟んで14 時を過ぎた頃、ようやく全員が満足する仕様書のひな形ができあがった。エミリちゃんを膝の上に乗せた木名瀬さんは、画面に指紋を付けようと繰り出される手を優しく払いのけながら、最後の確認を終えて頷いた。
 「こんなところでしょう。では、次、マリちゃんで試してみましょうか」
 「え?」マリはキョトンとした顔を上げた。「あたしですか?」
 「これを参考に、別の機能の変更仕様書を書いてみてください。そうですね、一覧表作成機能に、下請法対応を適用した変更仕様にしましょうか」
 「えー、できるかな」
 「イノウーくんばかりが仕様書を作成するわけにもいかないでしょう。マリちゃんも戦力になってもらわねば」
 「......やってみます」
 マリは1 時間ほどで変更仕様書を作りあげ、「お手柔らかに」と言いながら共有した。Java の実装が未経験なので、プログラマの視点からすると変更内容が曖昧な部分があったが、何度かリトライする間にコツを掴んだようだった。
 「だんだんわかってきました」マリは言った。「でも、これぐらいの改修だったら、直接ソース修正した方が効率的な気がするんですけど」
 「それを言っちゃあ」木名瀬さんは苦笑した。「おしまいよ、ってなものです。社会人の仕事は、その大部分が前例と慣習で構成されています。それらが満たされた後、余裕が残っていれば、そのとき初めて効率が考慮されるんです」
 「それは、まあ、あたしも大人で社会人なんでわかるんですけど。でも、うちの会社って一応、IT 企業ですよね。効率の優先順位が高くてもいいんじゃないかと思うんですよね」
 「効率が何より優先されるなら、IT 業界のピラミッド構造なんて、とっくに崩壊しているでしょうし、システム開発はもっと簡単になっていたはずですね。もちろん、例のあの人が開発部門の指揮を執るなんてこともありえないでしょう。誰かが最初にちょっとだけ選択を間違えたんですね」
 カール・セーガンは著書の中で、アレクサンドリア図書館が紀元前に消失しなかったら、今頃、人類は恒星間航行を実現していただろう、と述べている。科学技術文明の開花が初期段階で潰されてしまったことに対する嘆きだろう。初手の誤りは、後工程でリカバリーできないことが多い。Java でも最初のバージョンから存在しているクラスやメソッドには、どう考えても、深く考えないで命名/設計しただろ、と思わされるものが少なくない。HTML のタグも同様だ。後方互換性を無視してリビルドできれば話は単純だが、現実はそうできないことがほとんどだ。ぼくたちが住んでいるのは、キングスクロス駅9 と3/4 番線で行ける世界ではなく、トラブルは「エクスペクト・パトローナム」の呪文で解決できるわけでもない。
 「とはいえ、どんなにムダだと思えることだって、いつか必ず何かの役には立つはずです」
 「だといいんですけど」
 「本音を言うなら」木名瀬さんは悪戯っぽく笑った。「そうとでも思わないとやってらんねえぜ、ってとこですけどね」
 全員が声を上げて笑った。マリも楽しそうに大きな口を開けている。こんな屈託のない笑顔は久しぶりに目にした気がする。ビデオウィンドウの中で、エミリちゃんも意味がわかるはずはないのに、母親と一緒になってニコニコしていた。
 いい雰囲気を最後に、ぼくたちは作業を切り上げた。明日の定例ミーティングで、伊牟田課長に見てもらい、問題がなければマギ情報システム開発にサンプルとして提示する予定だった。
 だが、ぼくたちが苦労して作り上げた変更仕様書のひな形が、実業務に生かされる機会は、当面先送りとなることになった。火曜日の朝、定例ミーティングの場で、ぼくたちを前にした伊牟田課長が、あっさりと方針転換を告げたためだった。
 「変更仕様書の件だけどな、やっぱうちで作るのなしな」
 その言葉を聞いたぼくたちは絶句し、しばらくの間、システム開発室には沈黙が満ちた。主観時間では数分にも感じられる長い時間だった。

 (続)

 この物語はフィクションです。実在する団体名、個人とは一切関係ありません。また、特定の技術や製品の優位性などを主張するものではありません。

Comment(15)

コメント

ななし~

無駄なやらされ仕事ほど、モチベーション下がるものはないですよねホント...

木名瀬さんの科白「そのとき始めて効率が考慮」
 →初めて、でしょうか。

匿名

この方針転換は殺意湧くw

匿名

今でも、特に大企業ではウォーターフォールが神格化されてるのかどんな状況であっても必ず詳細な仕様書作成→レビューで指摘0になるまで繰り返しが必須となっているところは少なくないですね。
たとえ不明な仕様があってもやるせいでどれだけ手戻りが発生したことか・・・

匿名

毎度思うけど、誤字を指摘するんだったら断定調で書きなよ。
◯◯でしょうかとか中途半端な書き方するくらいなら書くな。

匿名

また月曜日の午前から憂鬱になる話の展開だ…

匿名

毎回、思うのですが、
誤字・脱字を指摘するお方は、どのような気持ちで指摘しているのでしょうか?
解釈の違ってしまうような誤字とかならわかりますが、
ほとんどの指摘が、解釈の違いとならないようなことで、
どんな気持ちで指摘しているのか気になります。

ちゃとらん

10:59の匿名さんへ。

私もコラムを書いている以上、誤字脱字には気を付けているつもりですが、どうしても完璧にできません。そんな時に、


「そのとき始めて効率が考慮」→初めて だろ!


とか、断定調で書かれると、「ひえー怒られた。ゴメンナサイ」って、枕を濡らすことになってしまいます。


なので、誤字脱字を指摘する方も、結構気を遣うものなので、中途半端・・・ではなく、気を使ってると解釈していただけると、うれしいです。


リーベルG

ななし~さん、ご指摘ありがとうございます。

誤字・脱字について、コメントをいただきましたが、作者としては、どんな形であれ、間違いを指摘していただけることには感謝しかないです。
ときおり、表現について「~の方がいいのでは」というようなコメントもいただきますが、その意見に納得すれば修正していますし、最初に書いた表現の方がいいと思えば修正はしていません。修正しない場合でも「こういう表現はわかりにくいこともあるのか」と勉強になるので、ありがたく読ませていただいています。
いつか書いた気がしますが、作者にとって許容できないのは、特定の個人や集団に対する誹謗中傷や差別のたぐいだけで、それ以外はどんなコメントでもウェルカムです。

ほげ

まー、登場人物の心情やら伏線やらの議論の前にまず誤字脱字の指摘と
コードやら資格やらの議論でコメントが埋まる面倒くせー感じが、如何にもエンジニアライフの小説ぽくていいんじゃないの(酷)

つかイノウーはちゃんと休出手当と代休を取れるのか、そっちのほーが心配だわ。

匿名D

ネット上のことは、自分が読んだこと、自分が投稿したことがすべて。
ディスプレイの向こう側をどうのこうのしようとしなさんな。


アウトプットはどんどんやれ、フィルタリングは自分でやれ、ってね。

育野

何度か誤字脱字の指摘を(もっと余計な口出しも)したことがあります.
そういうのが気にかかる性分なのもありますが,コラム(小説)とはいえ技術者向けサイトで,ちょっとした間違いでもそのままになっているのはどうかなと考えるのが理由です(私が書いた物なら放置したくない).
せっかく紙と違って訂正がしやすいWebメディアなのですから,単純なミスはさっさと直してしまえば,
読んでて気になる人は減り,書いた人もミスが「さらされる」時間が短くて済む.
どっちにもメリットがあるのではないかと考えて「余計なお世話」をしております.
#「口調」については,作者が意図的にやってる可能性が否定できないからではないかと
# 断定すると今まさに楽しませてくれてる作者さんの意図を否定することになりかねないので

育野

「メンツなんざ犬にでも喰わせろ」が今回の感想.
常々思っていることですが,あるべき自分になるためにプライドは必要だと考えますが,
「メンツを通す」ことだけに固執するのは本人(組織含む)が満足する以外にはほぼメリットがない.
伊牟田課長はメンツにはこだわる一方で,プライドは持ってないように見える.
最低限自分の発言に責任を持つという「プライド」があれば,朝令暮改のような真似を堂々とはできないはず.
#「自分の間違いを間違いとして認められる人である」が私のプライド
# もちろん指摘を無条件に受け入れるのではなく自分が納得するのが条件
## 他は「善良」「誠実」かな

なんなんし

財閥系の人とお仕事すると
「私のメンツが〜」
って口にされる(´・ω・`)

お客もこっちの提案をボロクソに否定したのに
2週間後に思いついた案が
その案と類似しているけど
財閥系の人はお追従(´・ω・`)

メンツで仕事される現場は
道理が引っ込むのでやりにくいですな

匿名

何度か誤字脱字系でコメントしていますが
①自分が知らない表現や誤解しているだけという可能性がある
②いくらか丁寧に言おうとすれば「○○は△△でしょうか」という感じになる
ので私も断定的な表現はしていなかったかと思います。
粗探しをするつもりで見ては居ませんが何か気付くことがあれば
「より良くするために」というとあれですが何か力になれればという感じです。
単純に気になるという方も居れば私のような考えだったり色々かと?

tako

誤字の指摘で一番大きいのは、小説が出版された際に多くの目で校正された状態で、手元に届くこと。

だからあれ?と思う部分があればコメントすべきだし、リーベルGさんも問題があれば素直に修正してくださる。いままでの指摘でも、意図的な部分はしっかりリジェクトされています。

おかげでレッドビーシュリンプの憂鬱はつっかかることなく読める。(笑)


作者が全知全能の文神で、あらゆる部分が意図的だったと気分を害しているなら別ですが、そうではないのが今回明示されたわけで。誤字か意図的なのかをコメントで確認できるのは、まさにデジタル小説ではならではないでしょうか。

コメントを投稿する