blog

Articles

Replacing Manual Verification with Gold Master Tests

This past week our team had been asked to make some modifications to an e-mail that was sent to customers after they made a purchase. The change was fairly routine; add some text that should only display under a certain condition. The e-mails were fairly easy to generate as the team had chosen the Velocity library as the template system. In fact, there was a way to generate some sample e-mails without starting up the application server.

Daniel Wellman's picture Daniel Wellman
For Software Quality, Look to Batman

The life of a software product is a continual stream of feature additions, enhancements, and even removals. But a great product doesn't (usually) outshine its competitors because of the sheer number of features, it's because those features are really useful or work well together. It's a difficult balance that requires a lot of iteration and experimentation.

 

For advice on tackling this difficult problem, you might try looking to Batman.

Daniel Wellman's picture Daniel Wellman
Next Week: The Simple Design and Testing Conference

If getting together in a room with a small group of software professionals and having deep discussions about design and testing sounds like your idea of a good time, and you'll be in the Northeast next weekend, I've got the perfect conference for you: The Simple Design and Testing Conference.

 

OK, that may have sounded like a silly introduction, but I'm one of those people who think it sounds like a good time, and if you're still reading this, chances are you are too. Here's the scoop:

Daniel Wellman's picture Daniel Wellman
"I Heard the News Today, Oh Boy" ... About Pair Programming

I was pretty convinced I was having a dream this morning. Everything seemed fairly routine: coffee, breakfast, and the crisp air of a September morning. I paged through an e-mail summary of the headlines from The New York Times, made a mental note to read the story about the effects of eradicating all the pigs from Egypt, and settled in to read an article about pair programming.

Daniel Wellman's picture Daniel Wellman
Resistentialism

In the space of a few syllables, the word resistentialism is packed with humour, rhythm, profound insight, philosophy, multilingual wordplay and astute commentary on much irksome code. So what does resistentialism mean? And what does it have to do with code?

  • "Resistentialism is a jocular theory in which inanimate objects display hostile desires towards human beings."
    Wikipedia
  • "The theory that inanimate objects demonstrate hostile behavior toward us."
Kevlin Henney's picture Kevlin Henney
What's in a Name? A Lot, Actually.

Good names make a design easy to understand, help clarify intent, and provide inspiration. But those perfect names can be a real struggle to discover. In his book Implementation Patterns, Kent Beck writes: "Finding just the right name is one of the most satisfying moments in programming."

Daniel Wellman's picture Daniel Wellman
A Great Read: "97 Things Every Programmer Should Know"

My colleague Steve Berczuk recently pointed me to the O'Reilly 97 Things Every Programmer Should Know project, and I've been digesting little bits and pieces from it ever since. This project is a community-contributed set of short essays that will ultimately be culled into an O'Reilly book edited by Kevlin Henney. At the time I'm writing this, there are 88 entries selected and edited for the book.

Daniel Wellman's picture Daniel Wellman
A Visualization of Your Data is Worth a Thousand Words

Today I watched an old TED Talk by Dr. Hans Rosling entitled "Debunking third-world myths with the best stats you've ever seen."  If you haven't seen it yet, I recommend taking a moment to watch it - I've never seen statistics presented in such an engaging and entertaining fashion. In this talk, Dr. Rosling uses his fantastic visualization software to demonstrate the changing relation between the wealth and health of nations over several decades.

Daniel Wellman's picture Daniel Wellman
Independent Testers? Or Independent Thinkers?

In this article, Lisa Crispin recalls a time when testers alone were solely responsible for software quality, and compares that to more modern thinking where collaboration between developers and testers is king. Software quality is everyone's job, sometimes it takes independence to get there.

Lisa Crispin's picture Lisa Crispin
Invest in Your Tools for More Productivity

There are a wealth of open source and commercial tools available to help us build software.  However, sometimes we get stuck using tools in ways that are not optimal for our project.  In these cases, investing some time to make the tools work for us can make substantial improvements in productivity.

Daniel Wellman's picture Daniel Wellman

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.