SEA関西

今日はSEA関西の「テスト駆動開発」という講演をききにいった。しかし職場を出るとき「怖い人」につかまって、かなり遅刻してしまった。なんとか講演の最後の方、一時間くらいだけだが出席することができた。

実際に、テスト駆動で開発を行うデモを行っていた。二人でペアプログラミングを行いながら、テストと実装を行う様子を興味深く見ることができた。

単体テスト作成時に、どこまでテストを作成すれば良いのか迷って、それがストレスになることがある。二人でやると相手に見てもらえるということで、そのストレスが軽減されるのかもしれない、とデモを見ていて思った。

質問も盛況だった。テスト駆動でソフトウェア開発を行うと、従来の手法と比べてどれくらい(どのような)コストが削減されるか、とか、また、どのようにスケジュールを見積もっておけば良いのかという質問があった。

講師の川端さんは、実装と同程度の時間を見積もっておくのが良いと言っていた。なるほどと思った。そもそも、ソフトウェア開発においては、実装にかける時間はそんなに多くないはず。それが、あるフェーズのリリースが中途半端だと、その後の不具合発見時に、デバッグなのか実装改良なのか良くわからない作業が延々と続くことがある。こうなるくらいだったら、最初から実装に二倍時間をかけると決めて単体テストに力を入れるというのが良さそうだな。

懇親会ではいろいろ面白い人に会えた。CMMなどの従来のソフトウェア開発プロセス改善活動の中で、XPなどのアジャイル開発手法の良いところを取り入れることに取り組んでいるという話しを聞くことができ、勉強になった。