Session 11

Project Development, Day 2

Agile Software Development

Daily Stand-Up Meeting

We go around the room and report:

Everyone reported on the progress they made last time. There were no obstacles to report. (Expect that to change.)

Quick Discussion: Continuous Integration

What's the issue?

Some comments on continuous integration:

How can rake help us?

For now, rake could help us run all our tests upon integration.

Quick Discussion: Team Standards

Last time, we ran into a need for...

team standards, whether for code (say, common naming conventions for factory methods) or for design (say, how the program should behave when it is unable to create an object in a particular situation).

Looking at the current state of our repository, I see a need for another standard convention: the naming of our Test::Unit files. Running all of the tests by hand is currently difficult because it is hard to find the test files! It is hard to tell system code apart from test code.

The common convention is ClassnameTest.rb. I can imagine the team adopting some other convention, such as TestClassname.rb. (Can you think of any specific advantages of one over the other?)

Another advantage of following some convention is that we will then be able to automate the finding of test files. This is similar to why we prefix the names of Test::Unit::Case test methods with test. It enables the test framework to find and execute all of our test methods without us having to enumerate them anywhere. If the names of all our test files follow a simple convention, we should be able to write a rake script that detects and executes all of our test files without us having to enumerate them anywhere!

One of the pairs should make its first task today to be to bring our test files into compliance with the standard we decide on... now.

Again, They're Off!

Everyone: pair off, check out a clean copy of the project repository:

    svn checkout

... grab a story, and write a test.

A few lessons learned or to be learned:

Keep in mind that each team member should be doing a couple of units of work on the system out of class every day.

Wrap Up

Eugene Wallingford ..... ..... May 24, 2010