Category Archives: Engineering

Review of Kent Beck’s “Test-Driven Development by Example”

Test Driven Development (TDD) is method from Extreme Programming (XP) that reverses the traditional order of coding and then testing.  It works like this: Before you add a feature to a module, you devise a test that will demonstrate that … Continue reading

Posted in Engineering | Leave a comment

You don’t need the tool

When I was a young programmer, a colleague was writing an engine-test system to run on a minicomputer. The only available high-level language was FORTRAN II. Edsger Dijkstra had just published his “Go-to statement considered harmful” paper, and there was … Continue reading

Posted in Agile development, Engineering | Leave a comment

Domain-Specific Languages, by Martin Fowler and Rebecca Parsons: an annotated and augmented review

Domain-Specific Languages (DSLs) are a new buzzword these days.  But DSLs have been around for a long time, and are not always computer related.  For example, various notations for chess moves, like N-QB3 or Nf6, have been in use since … Continue reading

Posted in Engineering | Leave a comment

Automated GUI testing

Automated testing is a key part of agile development. If you are changing software in frequent small increments, you need to be sure that your new changes have not broken the existing code. Because the increments are usually between one … Continue reading

Posted in Engineering, Testing | Leave a comment

Small stories, legacy code, and scaffolding

Working with legacy code, code that is older than many of the developers working on it, can be a real challenge.  I worked with some code that was written decades ago, when best practices for software design were less established.  … Continue reading

Posted in Agile development, Engineering | Leave a comment