Press Enter■: 冷たい方程式(10) 誰がためにマネジメントはある
やはりというか、当然というか、10月1日までにすべての仕様書は完成しなかった。正確には、ホライゾンシステムさんの必死の努力によって、仕様書自体は送られてきていたのだが、渕上マネージャが、片っ端から「不備を指摘」して差し戻したため、「完成」にならなかっただけだ。
それでも、10月1日から実装開始、というスケジュールは動かせなかったので、仕様書の仕上げはホライゾンシステム内の別のエンジニアが引き継ぎ、ムツミさんは予定通り、ITマネジメント課で常駐を開始した。
「今日からお世話になります。よろしくお願いします」
ずらりと居並ぶITマネジメント課の社員たちの前で、ムツミさんは緊張の面持ちで短く挨拶し、全員の拍手を受けて、頬を紅潮させた。
初日は、社内施設の案内や、臨時入館証の登録、開発環境の構築や、実装の進め方の打ち合わせといった事務的な些事で、慌ただしく過ぎていった。Eclipseのプロジェクトは、あたしが作成済みだし、テーブル設計に合わせたentityクラスも亀井くんが作成してある。テンプレートのHTMLは、管理系については、一応すべて作成済みだった。細かい部分は、ムツミさんに実装しながら、手を加えていってもらうことになる。
常駐2日め、ムツミさんの常駐は本格的にスタートした。これまでの打ち合わせなどを通して、ムツミさんが自分から積極的にコミュニケーションを取る人ではないと分かってきていた。エンジニアの中には、他人と協調することで数倍の力を発揮する人もいるが、ムツミさんは明らかにそのようなタイプではないようだ。それでも、不明点を自分で勝手に消化したりせずに、きちんと質問してくるので心配はしていなかった。
午前中、ムツミさんはEclipseの環境を自分好みに変更した後、職位マスタメンテナンス画面の実装を開始した。さすがに最初はいくつか質問をしてきたものの、すぐに早いペースで実装を進め出した。Teedaの経験はないと言っていたけど、今日までに訓練してきたらしく、見た限りでは実装方法で戸惑っている様子はない。
あたしはひとまず安心し、自分の仕事を進めた。最近になって現場から上がってきた機能追加要望を、すでに設計済みの機能に組み込めないか検討していたのだ。亀井くんは、まだ少し残っているテーブル設計を片付けていた。渕上マネージャは何をしているのか分からないが、しきりに何かを入力していて、ムツミさんの作業に口を出そうとはしなかった。
正午少し前に、あたしとムツミさんは作業の手を止めた。今日はムツミさんと食堂をランチを取ることにしていたので、混み合う前に席を確保しようと思ったのだ。それを見て、亀井くんも慌てて立ち上がった。
「ご一緒します」
いつもは同期の連中と外に食べに行く亀井くんも、今日は同行した。放っておけば、毎日でも同行しそうな顔だ。
あたしたちは、テーブルの1つに陣取り、ゆっくりランチを楽しんだ。亀井くんは、しきりにムツミさんに話しかけ、ムツミさんも口数は少ないものの、それなりに楽しんでいるようだった。
「ここの食堂は安くておいしいですね」パスタセットを選んだムツミさんは、うれしそうに言った。「うらやましいです」
日曜大工の招待状
「じゃあ、いっそ、このままうちの社員になったらどう?」亀井くんが馬鹿なことを言い、ムツミさんは困ったように笑った。
それでも、ムツミさんの緊張も多少は解けたようで、ITマネジメント課に戻ってきたときには、口元に笑みが浮かんでいた。それを見た亀井くんもうれしそうな顔だった。
あたしたちが席に着こうとした途端、渕上マネージャの鋭い声と重量感のある視線が、ムツミさんの笑みを消し去った。
「君が午前中にコーディングしたソースはどこにある?」
あたしたちは顔を見合わせた。ムツミさんは、首を傾げながらも素直に答えた。
「PCのディスクの中にあります」
「なぜソース管理システムにコミットしないのか」
「はい、あの……」ムツミさんが口ごもったのは、質問の意図が読めなかったからだろう。「……まだコーディングの途中ですので……」
「食事に行く前に、きちんとコミットしたまえ。常識だろう、そんなことは」
――どこの世界の常識だ?
困った顔で立ち尽くしているムツミさんを見て、あたしは助け船を出した。
「すみません。まだ使い方を伝えていないんです」
「君は何を考えている。なぜ真っ先に教えない?」渕上マネージャの矛先はあたしに向けられた。「プロジェクト・マネジメントというものが、まったく分かっていない」
あたしは小さく深呼吸して心を落ち着かせた。
「あの、帰り際でいいかと思っていたのですが」
渕上マネージャの目が光った。
「今まで、そうやってきたのか」
「ええ、まあ」
あたしは素知らぬ顔でうなずいたが、正確ではなかった。コンパイルエラーが残っていたり、コーディングの途中で切り上げるときなどは、不完全なソースをコミットしないことの方が多い。また、帰り際にバタバタしていて、コメント入れてコミットしている余裕がない日などは、そのまま帰宅してしまったりする。これは亀井くんも同じだ。
「では、それをこれから改める」渕上マネージャは宣言した。「本日より、昼の休憩前、15時、退社前に、各自、そのときのソースをコミットすること」
あたしたちは再び顔を見合わせた。
「途中でもですか?」亀井くんが訊いた。
「例外はない」反論の余地なし、という冷徹な口調だ。「亀井くんに、タイムキーパーを任せる。時間になったら、全員にコミットを促したまえ」
亀井くんは、ちょっとイヤそうな顔をしたが、取りあえず従順にうなずいた。
「分かりました」
まあ、確かに、夕方にいきなりHDDが壊れて、1日分の実装結果が泡のように消えてしまう、という悪夢のような事態も考えられなくはない。あたしたちが使ってるPCには、RAIDなどというぜいたくな機能はついていないのだから。亀井くんには気の毒だが、安全性が高まったと思えばいい。
と、あたしは好意的に解釈したのだけど、次の渕上マネージャの言葉で、その評価を考え直した。
「その際、誰が何のソースをコミットしたのか、台帳に記録しておくこと。記録したら、私に提出したまえ」
――そんなことして、どんな利点があるんだか……
「あの、管理メニューで、変更履歴の一覧がダウンロードできますけど」
そう言ったのは、ひょっとして、ソース管理システムの管理方法をよく知らないのかもしれない、と思ったからだったが、渕上マネージャの目的は違っていた。
「これは君たちに作業の区切りを意識させるためだ。その時間には、可能な限りキリのいい状態でコミットしてもらう。もちろん、コンパイルが通っていることは最低限の前提条件だ」
この人の言っていることがまったく理解できないのは、あたしの頭が悪いからなのか? あたしはそっと亀井くんとムツミさんを観察してみたが、どちらの顔にも、「理解不能」の文字が張り付いていた。それどころか、2人ともあたしに何かを期待するような視線を注いでいる。
あまり気は進まなかったけれど、聞いてみることにした。
「すみません、渕上さん。それは何が目的なんでしょうか」
「私が君たちの作業の進捗状態をチェックするためだ」
「……よく分からないのですが」
「君たちが理解する必要はない。これは高度なマネジメントの手法だ」
――マネジメントときたか
そういえば……あたしは渕上マネージャがやってきて数日後のことを思い出した。
渕上マネージャの机の上には、本がずらりと並んでいるが、あたしの席からは背表紙が見えない。その日、たまたま渕上マネージャが先に退社したので、あたしは好奇心に駆られて、どんな本を愛読しているのかと題名を確認してみた。プログラミング関係の書籍かと思いきや、ほとんどに「マネジメント」という単語が入っていた。その前後に「徹底解説!」とか「実践手法」とか「効率的」などの踊り文句が付いている。
「プロジェクトというものは」渕上マネージャは、わざわざ解説してくれた。「プログラマの自由裁量に任せていると、必ず失敗する。強力なリーダーが的確な指揮を執って、はじめて高品質なシステムが完成するのだ。経験の浅い君たちには、まだ分からないかもしれないが」
そのとき、磯貝課長がのんきな顔で、ランチから戻ってきた。缶コーヒーと雑誌を手にしている。そのまま自分の席に向かおうとしたところで、あたしたちと渕上マネージャの間に漂う緊張感に気付いたようだ。関わり合いになるのはごめんとばかりに、そのまま回れ右して出て行きかけたが、渕上マネージャの低い声に呼び止められた。
「磯貝課長」
やむなく足を止めた課長は、顔をしかめて振り返った。自分に予知能力がないことを悔やんででもいるんだろう。
「はい、なんでしょう」
「今まで、開発グループはどうやって開発や保守を進めてきたのかね」
何を目的とした質問なのか分からない課長は、深く考えることもなく答えた。
「どうやってと言われても……空いている人に、適当に業務を振っているだけですが」
「仕様書のチェックは?」
「仕様書ですか」磯貝課長はわざとらしく笑った。「やってませんよ。いやいや、そもそも仕様書なぞ、ろくに作ってませんでしたからねえ」
「では、コードレビューは?」
「やってませんね」
「進捗管理は?」
「毎週のグループミーティングで報告してもらってますよ」
「つまり、週に1度しか確認していないということか」
「たまに忘れますけどね」
磯貝課長はまた笑ったが、誰も同調しなかった。
「では、スケジュールに遅れが発生した場合、どのような対応を取ってきたのかね」
「対応もなにも」課長は肩をすくめた。「遅れてしまったものは仕方がないです。インフラグループの手伝いとかもありますし、突発的なトラブルもありますから。たぶん、グループ内でやりくりして進めているんじゃないですかね」
「つまり、プロジェクトマネジメントらしいことは、何1つやっていないわけだな」
「マネジメントですか」磯貝課長は首を傾げた。「いや、こんな少人数のチームで、そんなことをする必要はないですよ。各自に任せた方が結局、早いですからね」
渕上マネージャはゆっくりうなずいた。
「それは怠慢というものだな」そう言うと、あたしたちの顔をにらみつけた。「これまでは、君たちも大したシステムを作ってきたわけではないから、それで問題がなかったのかもしれない。しかし、この勤怠管理システムはとても重要なシステムだ。これまで通りの、いい加減なやり方では、失敗するのが目に見えている。やはりしっかりしたマネジメントが必要なようだ」
渕上マネージャは、ゆっくりと立ち上がった。
「システム開発の8割は失敗だと言われている。これまで私はそんなはずはないと思っていたが、今、考えを改めた。いい加減なマネジメントしかできていないか、まったくマネジメントをしていないから失敗してきたのだ」
とうとう演説モードに入ってしまったようだ。背が高いから、演台に乗る必要がないのは便利だ。
「考えてみれば、君たちは不幸だった。今まで、まともなマネジメントをしてくれる管理者がいなかったのだろう。それで、独自色が強く、統一感がなく、計画性もない貧乏たらしい開発のやり方が染みついてしまったのだ」
――貧乏たらしい?
「だが、心配はいらない。私は本社でERPパッケージの導入の責任者として、多くの担当者と業者を統括する立場にいた。これまでの導入はすべて計画通りに完了しており、各部門の部門長や、担当役員の方々から、絶大なる信頼を得ている。それがなぜだか君たちに分かるかね?」
分かるもんか。あたしは心の中でつぶやいた。もちろん渕上マネージャは、あたしたちに答えを求めてなどいない。
「それは私が確固たるプロジェクト・マネジメントの思想を持って進めてきたからだ。私の言うとおりにやれば、必ず成功することを保証する」
文字にすると熱弁をふるっているかのようだけど、実際には、渕上マネージャの顔は無表情のままで、声も単調だった。眉間にしわが寄っているのが、わずかに見せた感情の片鱗だろうか。
――この人、開発で苦労したことないんだな
渕上マネージャの演説を聞いて、あたしはそう思った。
マネジメントが、システム開発の正否を分ける面があるのは否定できない。指揮官がクズだと、できるシステムはクズ以下になってしまう。
でも、この人、分かってないなあ、と思ってしまうのは、システム開発はマネジメント"だけ"で決まるものではない、と知っているからだ。マネジメントだけで決まるなら、世の中のプロマネさんは、こぞってPMBOKやCMMIを勉強しさえすればいいことになる。
前の会社では、さんざんな目にあったあたしだったが、1つだけ学んだことを上げるとすれば、システム開発はダイエットに似ているということだ。一定以上の規模のシステム開発になると、「~だけでいい」ということはあり得ない。
リーダーシップあふれるマネージャだけでもダメ。
神業プログラマだけ揃えてもダメ。
高価な開発ツールばかり買ってもダメ。
実装能力だけ優れたメンバーばかりでもダメ。
コミュニケーションスキルだけ高いメンバーばかりでもダメ。
オブジェクト指向だけ究めていてもダメ。
SQLばかり得意でもダメ。
男ばっかりでもダメ。
女ばっかりでもダメ。
etc……
とはいえ、渕上マネージャに、そんなことを話してもムダだということも、イヤになるぐらいはっきり分かっていた。そんなのは、取るに足らないあたしの経験でしかないんだから。「参考になった」ぐらいのリップサービスを受けるのがせいぜい、といったところだろう。
渕上マネージャは、あたしが考えている間も、あれこれ話していたが、やがて唐突に言葉を止めた。
「まあいい」そうつぶやくと、腰を下ろした。「とにかく私のマネジメント方法に従ってもらう。まずは、ソースのコミットルールを徹底すること」
もし徹底しなかったらどうなるのか、とは、聞く気にもならなかった。
「次のコミットは15時だ」渕上マネージャの視線が亀井くんを突き刺した。「やることは分かっているだろうな?」
亀井くんは、ガクガクと首を縦に振った。それを合図に、あたしとムツミさんも自席に座った。ランチで醸し出した和やかな雰囲気は跡形もなく消え去っていた。
これを皮切りに、渕上マネージャは、あたしたちの開発作業に本格的に介入し始めた。それはもう、ウンザリするような毎日の始まりでもあった。
(続く)
この物語はフィクションです。実在する団体名、個人とは一切関係ありません。また、特定の技術・製品の優位性などを主張するものではありません。
0 コメント:
コメントを投稿