On Sunday, while writing the blog entry for Monday, I tweeted (or is that ‘twoted’?):
One of these days I’m going to write a blog entry on how I write blog entries. You are going to be surprised.
That cliffhanger triggered some responses from people that wanted to know more. So, I took the writing process of my Tuesday’s blog entry as an example to describe the process of me writing a blog entry.
I hope you are not going to hate me after reading this.
A couple of years ago I read a book from Michael Feathers that kept on being mentioned a lot in the literature I was reading then. The title? Working effectively with legacy code. Feathers makes some points on how to get code without tests working, by breaking down dependencies, introducing seams, and working towards more testable code. I loved that book.
When we take the idea of test automation as software development seriously, then there also should be a concept called legacy tests. That concept to me is related to testing debt, a term I think I coined back in 2009. But what are legacy tests? How do they slow down your productivity? And what can we do about it?
Here are some limited experiences I made with a couple of legacy tests, and how to overcome them. I hope this blog entry will trigger some more experience reports from folks, so that fewer teams need to suffer from it.
In his book, Thinking fast and slow, Daniel Kahneman explained the concept of Sunken Costs to me. I found this concept powerful and interesting. But only recently I discovered the many costs that can be sunken. Here’s a brief summary for costs involved in software development.
My blog entry from last week on coaching questions triggered some responses, mainly asking for a definition of a coaching question. I am not good at defining, but maybe at providing examples. Let’s explore the concept of a coaching question with some examples.
While attending conferences, sometimes some folks approach me. I can sense they are nervous, I can sense that they have some questions to ask, and I can sense that they look up to me – and I always get the impression that I am frightening some of these folks. The bottom line is: all of us “celebrities” are only human. You can contact us, and you can have a chat with us most of the time. Here are some things that I did in the past.
During DEWT4 I reached the conclusion that there are different learning styles, and they have different levels of effectiveness, at least for me. I think it was Alistair Cockburn that triggered the thought with his model on communication effectiveness. I think there are various levels of learning effectiveness related to Cockburn’s communication effectiveness as well. I think the axes for learning styles are the amount of interactivity, and its effectiveness for the student.
In the past there have been multiple folks proposing a rename of the famous testing quadrants that Brian Marick wrote up a couple of years ago. Lisa Crispin and Janet Gregory labeled them Q1, Q2, Q3, and Q4 in their Agile Testing book. That naming misleads some folks as they think about a progression in the four quadrants. I recently read something that triggered a thought. I think we should rename these quadrant completely, and drop the counting digit at all. While several other folks have tried to find new names for the quadrants, I came up with a different thought: let’s try to find person names for the quadrants. Here is my first proposal for those.
Over the weekend, I came to the conclusion that we humans are masters of disaster, and – at the same time – masters of improvisation. We have the tendency to fix things by putting up signs, by coming up with work-arounds, and often these work-arounds make things better for some people, or worse for other people. Let’s explore this idea, and I hope you have found one instance of this or the other.
Over the past few years, I noticed a pattern for myself. Whenever I found myself in a group situation, there is usually this one guy, the one that asks a lot of mystique questions. Do you know that guy? Sometimes there are a couple of them, sometimes there is none, sometimes it’s myself. That mystique guy (or gal) asks a lot of questions that drives you nuts. Within a second I can spot a coaching question coming up. Sometimes I project lots of meaning on why he’s asking that question. I think I developed some kind of resistance to that.
Time and again I run into an ambitious tester that presents me his (or her) latest idea for a testing challenges. “What do you think about this situation where you set out the tester to learn X?” “You could provide product foo to the tester, and have him learn X. What do you think?” Time and again, I think there is something seriously flawed with this approach to create and design testing challenges.