|
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.
|
|
|
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.
|
|
|
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:
|
|
|
"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.
|
|
|
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."
|
|
|
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."
|
|
|
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.
|
|
|
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.
|
|
|
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.
|
|
|
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.
|
|