It isn’t hard to find information about TDD these days. There are several books on the subject, and plenty of web resources; however, almost all of them are written with the assumption that you’ll be using Java, C#, or a dynamically typed language in your work. Hardly any of them are written with C++ in mind.
hillmlogica and Giovanni Asproni
What happens when you put together a crack development team and get them to decide which tools, frameworks and libraries they'll need to do the job? Will we get (a) a happy consensus reached by rational argument, (b) a never-ending irrational argument about which automated testing frameworks to use? We're not sure what to expect, but we're looking forward to finding out what YOU think is important!
fabriziocannizzo, gmarcionetti, nathanfisher and Paul Moser
Four members of a 50-strong distributed agile team will present and discuss some of the free tools currently used to support and facilitate agile development work. Three aspects of the agile software craftsmanship are examined: project status visibility, immediate feedback, complete automation. The presenters will speak about their experience on configuring and using some of the most popular free tools to effectively achieve results on these three aspects.
While working on the next generation web portal for one of the leading UK online betting systems, we had to fight the attitudes and technology to bring database development into an agile form. The solution for the problem turned out to be a mix of practices and tools, including a new database testing framework, written for this project but now published under GPL. In this session, we’ll share our experiences and present tools which we used to effectively fight the monster.
Should we use build & deployment teams on large projects? Build & deployment work often emerges as a specialisation on project teams. This specialisation becomes important on medium to large projects as the complexity of deploying code and configuring enterprise environments increases. But how do we coordinate the work of this team with the work of the development teams and how do we ensure this team helps the development team that it serves rather than hinders it?
For years the norm for object developers was to work in an evolutionary (iterative and incremental) manner but for database developers to work in a more serial manner. The predominance of evolutionary development methodologies such as Extreme Programming (XP), Feature Driven Development (FDD) it is clear that the two groups need to work in the same manner to be productive as a team.
Nick will present material from the book “Refactoring Databases : Evolutionary Database Design” on how to go about doing evolutionary database development and will talk about the following techniques:
This tutorial is about how to use the stresses of writing unit tests to improve your code. If I’m having trouble writing tests, it’s often because the design of my target code can be improved. The trick is to listen to the tests and let them drive my development — that’s why it’s called Test-Driven Development. You too can learn how to find the rough edges in your tests and use them for rapid feedback about the quality of your code.
Bring some examples on a USB stick and we can work through them.
Although developer testing has reached the mainstream, when looked at closer, we often find that these tests are in fact not helpful. Low quality tests prevent refactoring, create a false sense of security, and confuse the developer. This interactive presentation addresses the assessment of developer test quality.
Lasse Koskela and mhjort
Description:
The primary purpose of this interactive workshop is to help developers improve their ability to read and understand code. Along the way, through a series of hands-on exercises working on raw-and-uncut code, workshop participants are also likely to develop their refactoring skills and perhaps even learn some testing trickery.