ジュラルミンの日々 2nd

はてなダイアリーからはてなブログにお引っ越し。DTM関連多めに充実出来たらと思います。

包丁で釘が打てなくなると言ったら怒られた

何かといえばソフトウェアテスト関連の話である。まあここまでぶっ飛んだ話ではないが。

webアプリケーションは基本的に大きな仕様変更はしない。BtoB向けの業務アプリケーションであればなおさらだ。BtoBの場合業務フローがガッチガチに決まっているので、検索フィールド一つ変えるのも慎重にならなければならない。

先日、とある修正で客観的に正しいと思われる仕様へと変更した。しかしこれが地雷だった。システムが動かなくなるお客さんが続出し、あわてて元に戻す事態になった。

もう散々同じ経験しているので、お客さんの利用パターンが最優先される事は承知していたが気がつかなかった。もはや顧客の利用パターンを把握することはできず、どうやっても防ぎきれない。それでも品質を保つにはどうしたらいいのだろうか?

  • 最初にちゃんと作る

まず間違いなくこれ。システムに穴を作るとそこから浸食されて、やがて身動きが取れなくなる。
十分な調査、仕様検討と幅広いテストが必要。テストはユーザーの斜め上をいくようなテストまで幅広く。たとえ開発に嫌われようとも。

  • 裏技を提案しない

無理難題を言われても、システムの裏技を使わない。それは保障されていないのでやがて動かなくなる。この動作を保障しに行くと、システムの変更ができない。包丁で釘を打つような提案をしてはいけない。釘を打ちたいと言われたらカナヅチを作ろう。

  • 見切り発車しない

十分に検討していない機能は穴が多くなる。工数がなくなったら規模を縮小するしかない。テストで手を抜くと隙を突かれる。

  • いらない機能を捨てる

もう使われなくなった機能は多少強引にでも捨ててしまえ。ずっと前からアナウンスし続ければきっと大丈夫。断舎利とか言っとけ。

  • 何を開発しているか営業にも把握してもらう

どんな機能を開発しているか把握してもらう。簡単な使い方ガイドも用意して、あたかもそれしかできないような説明をする。
要件が発生してきたら、「ちゃんとプロセス通して」とかいって断り続けろ。

いろいろ羅列したがなんか普通の事ばっかりだった。まあこの普通が難しいという事か。。