Test-driven development and continuous integration
This is a somewhat general topic of the software engineering subject in applied computer science where we could have a talk with special focus on C++. Keeping an eye on the software development "lifecycle" gets important as soon as a code gets mature, complex and somehow modularized. It also gets important when multiple developers are involved.
Fortunately, in the last years tools have evolved which take care of static code tests (which are able to detect many common programming errors only by "looking at the sourcecode"), automatic building, code self testing, etc. That is, unlike documentation, which has to be written by someone, continuous integration is performed rather by a set of tools like git. The talk should address the popular setups: Jenkins, Hudson or Cruise Control.
A talk about this topic could try to harvest profitable techniques for programming C++ in the scientific domain, avoiding to lose itself in a bullshit bingo scenario.
Updated by Köppel, Sven almost 8 years ago
The talk could also address best practises considering project managament and issue tracking software like Redmine with focus on repository integration and ticket workflows. This is something maybe to be said at the beginning.