Posts under ‘Skillfulness’

The Science of Business Applications

Building software is both an art and a science, as many people have said.  One might argue that when building business applications it is better to leave the art behind, and focus on the science.  Business software needs to be reliable, scalable, and built on time and budget, after all. And it is true that [...]

Can architecture be agile? Absolutely.

Lately both Pawel Brodzinski and Martin Fowler have been letting people know that architecture and agile are not incompatible.  I wholeheartedly agree, and actually am I a bit surprised at the extent to which people seem to think these two approaches are mutually exclusive – they seem pretty compatible to me.  At is root, I [...]

Unit testing vocabulary

I just saw Martin Fowler’s little note about the vocabulary of unit testing, and I thought it was so clear and helpful that I had to share it.
Just seeing the words and the definitions listed side by side clarifies several approaches to what is proabably the hardest part of unit testing – keeping your tests [...]

Clear thinking about code reuse

Udi Dahan has just fired off a great post about the pitfals of trying to reuse code – that we make big problems for ourselves by trying to re-use domain-specific code into ways it wasn’t designed to be used. Successful re-use comes about when the code being used is generic enough to actually work in [...]

Another excellent point

How does one arrive at good design, whether it be the architecture for a huge system or the layout for a single interface? Nick Malik over at Microsoft sums it up very nicely:
Design is a process where you consider the problem and then propose multiple, competing, wildly creative solutions.  You then narrow down your brainstorm [...]