As I believe that both Agile and Test Driven Development (TDD) is good I have to admit that I’ve been a bad boy :p In the start of RfPulse I had too many experiment
Well, actually not, or at least not entirely, I just like the sound of it
It’s half a true and half false statement. TTD is good and should be used when appropriate, that’s true. It is also true that I didn’t start with with formal tests in this case. But the keywords in this part is “when appropriate”.
The first part of development have been small pieces of code to try out new concepts and to learn both the basics of the PulseAudio API and how to use ctypes to access the c-libraries from Python. So in eXtreme Programming terms i’ve been doing a lot of spikes.
But that’s no excuse for keeping it without tests. Just because my first tests have been of the kind ‘try -> run -> read the output -> analyse it’, which in the start – true – will produce usable code. So basically I added unit tests to my code.
Unit testing can also reveal challenges, and certainly they did In my spikes I just tested random data to see if what I got looked useful. And it did. But when I went into the details with the complete models, it turned out that I don’t receive all data as expected.
So the current challenge is to ensure that I get those data, so the library can be complete and useful. Hopefully I’ll soon have the time to dive into those problems.
One thing to be expected though is that the project will follow TTD whenever appropriate, so I can develop as agile as is sane when only being one developer