Software Craftsmanship
-
Decisions, Decisions, Decisions
What is the purpose of enterprise software? To put the right information in front of
-
More Monkey Business
Continuing our safari, we return to looking at code monkeys, this time evaluating (in plain English) two simple implementations of "Monkey See, Monkey Do" in the Ruby and Python programming languages.
-
Monkey See, Monkey Do
How lucid is your favorite programming language, really? If you read it like English, would it be poetry? Would it be comprehensible? In this republished post from '08, we explore a few popular programming languages and see how they stack up, not for processors, but for primates...
-
Some Thoughts About TDD and TAD
Commenter Shmoo asserts that in my article TDD is Dead; Long live TDD all my arguments were not really supporting TDD so much as unit testing. And as such, I was building a case which equally supports a Test-After Development workflow…
-
Software Craftsmanship:
Time To Pay The PiperJason Gorman says computing education is in decline. I say it isn’t; it’s just that computing education never has been truly the purvey of universities.
-
What's So Wrong With Quick and Dirty Code?
There has been a lot noise lately about expedient coding vs clean code. Craftsmanship is nice and all, but wouldn’t we deliver software faster by not worrying too much about clean code?
-
Abstraction Wrangling
Corey Haines says one differentiator between experienced programmers and beginners is that the more experience programmers have become more adept at “abstraction wrangling.” Why are abstractions so challenging?
-
TDD is Kanban For Code
Kent Beck had an interesting blog post the other day in which he proposes that TDD is like Kanban for code. I like this idea, but I have to quibble with one small part of his analogy…
-
PrizCon 2010: First Reflections
Some first thoughts and recollections on PrizCon 2010, a one-day tech conference held at Marion Correctional Institute in Marion, Ohio…
-
SDTConf 2010: First Reflections
Some first thoughts and recollections on Simple Design and Testing Conference 2010…
-
Apprenticeship Patterns: The White Belt
As a new programmer, how can you get the maximum value out of your learning effort? How do you determine which languages, technologies or techniques are the most important to learn first? Continuing my series on Apprenticeship Patterns, here are some of my experiences and reflections on the second pattern in the book: The White Belt.
-
Apprenticeship Patterns: My First Language
Lately I’ve been reading Apprenticeship Patterns. As I read the apprenticeship patterns in that book, I often find myself mapping them to my own experiences. Seems like a nice meme for a blog series. So starting from the beginning, here are my experiences in the first pattern: Your First Language.
-
Why Software Craftsmanship
Is A Tough SellIt can be difficult for proponents of Software Craftsmanship to land work, especially when pitching Software Craftsmanship on its merits. What should we make of the fact that large companies tend to have be more resistant to software craftsmanship?
-
The Minimum Size of Value and Independence
Recently I stumbled into a conversation with a client about the virtues of smaller stories when analyzing and estimating work. One business consultant asked a the question, “Have you found that there is confusion around people thinking that because a story should have business value and be independent that this means it is essentially impossible to break things down smaller than a minimum marketable feature?”
-
MEME: What Was Your First Useful Program?
I woke up this morning thinking to myself, “how can I boast about the very first program I ever wrote?” Then, 2.1ms later, I remembered twitter. Moving beyond my own rampant narcissism, I want to know about the first useful computer program you ever wrote.
I suggest the following format:
#myfirstprogram unix, shell, “The Awesomizer” substituted the word “awesome” for my name in any document
But hey, it’s Twitter, so go wild, make it your own.
-
TDD Is Dead;
Long Live TDDEveryone’s extolling TDD these days. Well, almost everyone. Some conversationalists at SDTconf ’09 debated whether the honeymoon may be over.
-
Simple Design And Testing Conference 2009
Over the last couple of days I have been putting together a position paper for the Simple Design And Testing Conference in Pittsburgh, PA. This will be the first year I attend that event, and I’m looking forward to it. The open space format sounds like a ton of fun and I look forward to some really fascinating discussions.
-
Agile Notes:
Why Story Cards MatterDoes writing formal story cards feel hokey? Although they may seem ceremonious, well-formatted story cards add critical value to the software development process. In this essay I’ve broken down the aspects and features I like to use/see on story cards…
-
Digging Up Bones:
The Legacy Code
In Your HeadBack in 1998 or so, I picked up an out-of-date edition of Teach Yourself Perl in 21 days book at a Borders Books Outlet store. My love affair with Perl helped me to steadfastly avoid PHP, and prepared me to jump into Java, which drove me to Ruby. But after all this time, I’m still finding Perl artifacts in my head.