Monday, January 5, 2009


Hello, folks. I've been developing, managing, or testing software products since 1997. In that, I've seen a number of principles, patterns, practices, fads, good ideas, bad ideas, and ideas that solved problem X (which you may or may not have) come and go.

Around 2001, in graduate school, I started a hand-rolled HTML website that became Excelon Development. WAIT - Don't Follow that link! It's yucky, hand-rolled HTML that I was doing part-time in Graduate School while developing full-time during the day. I didn't exactly put a ton of time into it!
After starting the XNDEV site, I did a blog that I hand-edited the HTML of - in VIM - on the UNIX command line. Yeah. You can still read it here. And, for awhile, I maintained a blog on

Then, finally, in November of 2006, I started Creative Chaos - a blog that explores issues in software development with a systems thinking and testing slant - but my interests are not limited to stictly testing.

Lately, I've been interested in Technical Debt - this strange addiction cycle by which we feel pressue to hit a deadline, do a bad job, and set ourselves up for more pain next time we touch the code.

You can break the problem down into two parts: The ignorant, who don't know how to develop software well, and the talented but under pressure, who often fear for their jobs or personal safety - these people know better, but feel they have some excuse not to act. (A third category people generally bring up is "bad management" but I'm not sure I buy it. It is the technical person who makes the hack - not the manager. How can it be the manager's fault when that is not the person writing or testing the code?)

While I think the metaphor is helpful, I believe it expresses the problem - not the solution. One solution I find attractive is the idea of Software Craftsmanship. Craftsmanship provides training for the apprentice, which can solve the problem of ignorance, and a social system for the journeyman or master, which can solve the problem of pressure from the boss by counter-balancing it with pressure from a group of peers.

So I'm starting this blog, which will cover dynamics in software projects, lessons learned, agile development, upcoming projects, and so on. It will be a little more code-focused than Creative Chaos. Hopefully, this blog will allow audiences who are solely interested in one area or other the other to read without disappointment.

Ideally, of course, you are interested in both! :-)

Let's learn together.

No comments:

Post a Comment