TOPプロジェクト管理> 汗だくの実装
踊るエンジニア 〜システム開発現場の風景
踊るエンジニア 〜システム開発現場の風景

第1回:初心者SEと最初のプロジェクト

著者:ビーブレイクシステムズ  鹿取 裕樹   2005/2/25
前のページ  1  2  3
汗だくの実装

   仕様が確定し、いよいよ実装を開始することになりました。とはいってもいかんせん初めてのJava開発プロジェクトであり、Java自体独学で1ヶ月ほど勉強した程度の実力です。当然、非常に苦労することになりました。

   Javaのライブラリもほとんど知らず、StringやCalendarといった限られた武器をやたらと振り回しました。その結果、無駄に長いソースがどんどんと作られていきました。また、ループをネストしてしまう、ループの中でSQLを発行するなどパフォーマンスが全く考慮されていませんでした。

   このような状態ですから「オブジェクト指向」などもってのほかで、1つのクラスにばらばらの目的のメソッドが詰め込まれ、似たような機能がいろいろなクラスに散在するという、「不吉な匂い」がぷんぷんとするソースになってしまいました。もちろんこの時はリファクタリングという言葉など知る由もありませんでした。

   この頃の弊社の事務所は面積がわずか4畳半ほどで、窓が一つも無いという密室でした。そして季節は真夏です。ただでさえあせっている上にこの暑さです。汗がだらだらと流れ、その不快感が余計に気持ちをあせらせるという悪循環に陥っていました。

   その中で上司に「全然ダメ!」とお叱りを受けながら、スケジュールを守るのに毎日必死でキーボードをたたきました。

   そして何とかスケジュールどおりに実装することはできました。次はデータ移行、ユーザ説明会と続いていきます。しかし、何かが抜けています。そう、テストです。実装までに予定以上の工数がかかり、しかし納期は延ばすことができないためテストがおろそかになるというのは、よく聞く話です。このプロジェクトもまさにそのパターンに陥ってしまいました。

   機能単体では動くように見えますが、複数の機能にわたる結合テストは、ほとんど行うことができませんでした。単体についてさえ、十分なパターンでのテストを行っていないため、どんなバグが潜んでいるかも分かりません。このような状態で本稼動に突入しようとしていました。


電話におびえる日々

   データ移行を終え、ユーザ説明会も何とか乗り切り、とうとう本稼動を迎えました。

   本稼動1日目の朝、事務所の電話が鳴りました。「もしもし○○の浜田ですが。」浜田さん(仮名)はユーザ側の担当者です。トラブル発生か、と身構えたところ、ログインの仕方を教えて欲しいという内容でした。筆者は胸をなでおろし、説明して電話を切りました。

   しかし、ほっとしたのもつかの間、また電話が鳴りました。相手はやはり浜田さんです。今度こそトラブルか、とまた身構えると、その予想は的中してしまいました。「画面にNull何とかというメッセージが出ているんですけど…」とのことです。その後は毎日のようにトラブルの電話がかかってきて、1週間はその対応に追われることになり、「プルルル」と電話が鳴るとびくっと反応するようになってしまいました。

   この時、テストの重要性を身をもって痛感しました。それまではパッケージソフトの導入を行っており、パラメータの設定が主でした。そのためバグが発生する危険性は作りこみに比べると圧倒的に少なかったのです。テストのやり方も当然ですが、パッケージソフトと作りこみとでは大きく異なります。こうしたテストのノウハウ不足、テスト軽視がトラブルにつながりました。

   この間、ユーザの担当者である浜田さんには度重なる不具合にも辛抱強く我慢していただきました。他のユーザからのトラブル報告を一身に受けていただき、不具合が続発することによるユーザの不満も抑えていただきました。この時のことは本当に感謝しています。


失敗を越えて

   しばらくの混乱期の後、このシステムを安定稼動させることができました。お客様には大変な迷惑をかけてしまったのですが、はじめて1つのシステムを0から作り上げ、稼動させたことは大きな自信になりました。まだまだ、しらないことだらけでしたが、ようやくエンジニアとしての第一歩を踏み出せたというこの時の喜びは、今でも鮮明に覚えています。

   失敗はお客様にも会社にも迷惑をかけてしまうので、失敗して当たり前というつもりはありません。しかし、失敗してしまった時にどうリカバリーするか、失敗から何を学ぶかが非常に大事だと思います。

前のページ  1  2  3


ビーブレイクシステムズ
著者プロフィール
株式会社ビーブレイクシステムズ  鹿取 裕樹
オープン系ITコンサルタント。SAPジャパン社にて、ERP導入コンサルティングを行い、そのユーザ企業の現場でJava及びオープンソースの躍動を感じ、それらに興味を持つ。その後、会社を設立。オープンソース及びJavaを用いたシステム提案活動を行い現在に至る。専門分野はSAP R/3と連携するWEBシステムのコンサルティング。


INDEX
第1回:初心者SEと最初のプロジェクト
  はじめに
  キックオフミーティング
汗だくの実装