テスト駆動開発プロジェクトの経験(3) [時の流れ]
(前回のつづき)
本来、テスト駆動開発では、すべてのテストの実行は短時間に終わらせるようにすることが必要です。しかし、開発が進むにつれて増えていく機能とテストコードにより、徐々に、テスト実行時間が長くなっていきました。
ある修正が他の機能に影響を与えていないかを、すべてのテストを実行することで、検証しようとすると1時間以上要するようになってきたのです。これは、単体テストではなく、システムテスト的に全体を動作させながらのテストの時間です。
開発者は、何らかの機能追加あるいはバグ対応の修正がシステム全体に副作用を与えていないかを確認するために、すべてのテストを実行します。そうなると、テストが完了するまで、待ちになってしまいます。なぜなら、自分の開発用PCですべてのテストを実行するからです。
そのような待ち時間に、次の開発(機能開発や障害調査)をできるように、開発用PCは一人2台(Windows用PCとは別)になるように購入していきました。開発者にとって、開発用PCは重要な道具であり、節約する部分ではないと思っています。古いPCを使用させることで経費を削減しているつもりでも、それによる開発効率の低下が、結果的に残業などの人件費の増大を招きます。その増加した費用は、PC1台の費用をはるかに上回ってしまいます。
その意味で、2009年9月に転職して、与えられたPCの性能の悪さは衝撃的でした(「開発環境(2)」)。たぶん、そのPCを一年以上使用していたと思います。現在は、Core i7(Quad Core)、16GBメモリ、1TB HD、23インチディスプレイのPCを(Windows用PCとは別に)、グループのメンバー全員に開発用に用意して、開発してもらっています。
(つづく)
本来、テスト駆動開発では、すべてのテストの実行は短時間に終わらせるようにすることが必要です。しかし、開発が進むにつれて増えていく機能とテストコードにより、徐々に、テスト実行時間が長くなっていきました。
ある修正が他の機能に影響を与えていないかを、すべてのテストを実行することで、検証しようとすると1時間以上要するようになってきたのです。これは、単体テストではなく、システムテスト的に全体を動作させながらのテストの時間です。
開発者は、何らかの機能追加あるいはバグ対応の修正がシステム全体に副作用を与えていないかを確認するために、すべてのテストを実行します。そうなると、テストが完了するまで、待ちになってしまいます。なぜなら、自分の開発用PCですべてのテストを実行するからです。
そのような待ち時間に、次の開発(機能開発や障害調査)をできるように、開発用PCは一人2台(Windows用PCとは別)になるように購入していきました。開発者にとって、開発用PCは重要な道具であり、節約する部分ではないと思っています。古いPCを使用させることで経費を削減しているつもりでも、それによる開発効率の低下が、結果的に残業などの人件費の増大を招きます。その増加した費用は、PC1台の費用をはるかに上回ってしまいます。
その意味で、2009年9月に転職して、与えられたPCの性能の悪さは衝撃的でした(「開発環境(2)」)。たぶん、そのPCを一年以上使用していたと思います。現在は、Core i7(Quad Core)、16GBメモリ、1TB HD、23インチディスプレイのPCを(Windows用PCとは別に)、グループのメンバー全員に開発用に用意して、開発してもらっています。
(つづく)
2014-10-16 05:35
コメント(0)
コメント 0