Archive for January, 2010

Software Craftsmanship: Coding Under The Influence

Started following the software_craftsmanship group where there is a thread on vouching mechanisms and their inherent problem.  Who is an apprentice? What makes you a journeyman? A master? It seems clear that in terms of supply and demand, software development mastery is closely related to intelligence: Many of us are fairly certain that we have a lot of it. Ranking others “Ebay style” and being ranked ourselves is both highly subjective and somewhat discomfiting: What is our focus? Building great software or trying not to be voted off the island?

So what is a constructive way of telling what makes craftsmen tick? Who did they learn from? Who influenced their thinking? It seems that the question of lineage, in the Eastern tradition of acolytes and adepts, is of some significance.

In a fine display of craftsmanship, James Martin hits the nail on the head:

As an aspiring craftsman, I’d like to know who are the people that are well respected by other craftsmen because of something they’ve actually done, so I know who’s shoulders to stand on when I’m learning and honing my craft.

Fred Ballard tells us about Erdös numbers, an interesting concept.

From the Wikipedia entry:

The Erdős number (Hungarian pronunciation: [ˈɛrdøːʃ]) describes the "collaborative distance" between a person and mathematician Paul Erdős, as measured by authorship of mathematical papers.

Can we develop our own measure of “collaborative distance”? The mind boggles, recalls a long-ago beer-sodden night with Greg Young and Adam D. and does some storyboarding in commemoration:

Click to enlarge.



January 31, 2010 at 4:35 pm Leave a comment

Key Developer Skills: Renaissance Man And The Case For Voluntary Ignorance

Looking at resumes this weekend, trying to see good developers among the Currently Fashionable Acronyms (CFAs…?) and I can’t.  Assorted certifications can be found and new-fangled terms like “Agile” and “Scrum” have made an appearance but they seem to obscure more than they tell. It appears that we are all trapped in some kind of techno-fetish wonderland: Good evidence that he or she is a wizard with generics, dreams in lambdas and knows that a “sprint” is about spending long hours sitting on your butt instead of running trumps all else.


January 24, 2010 at 10:12 am 1 comment

Article: Working the Core Domain – Delivering Business Value by Shortening QA Feedback Cycles

Did a write-up for the Annex Consulting Group newsletter:

Shortening the QA feedback cycle is crucial for project success because it minimizes re-work and maximizes the potential for delivering the right functionality. The ideal way (… to the best of our current knowledge…) to do this is Test Driven Development. However, introducing TDD in environments with large amounts of legacy code and/or late during project delivery is very hard to do.

The article suggests other ways of shortening the feedback cycle which have the potential to yield short-term improvements while serving as preparatory steps towards full test driven development.

January 17, 2010 at 8:18 am Leave a comment