Mortgage-driven development vs Behaviour-driven development
As you may already know, I am in New York with my company, attending the QCon conference.
Earler today I attended Matt Wynne’s presentation at QCon New York. It was one of the best presentations I have seen so far. Especially, since he began as his alter-ego, Darren Workshy.
Darren Workshy, hater of behaviour-driven development. Darren has invented Mortgage-driven development (MDD)
“it’s the only ‘DD’ you will have to learn
Maintainable code offers no job security!
Here are the mantras of Mortgage driven development
If the code is maintainable it could be maintained by anyone — not just yourself, and then you cannot pay your mortgages
Programming needs to be a solicity: So I can plug in my earphones and listen to Megadeath
He shows a picture of people interacting around a whiteboard
“look at these people chit-chatting” See any features getting done? See any code getting written?
So he describes the process as this:
As a mortgage-driven developer,
I make the experience of collaborating
as awkward and
unpleasant as I can
“Cucumber is a threat to us mortgage-driven developers”
It is really threatening ot my position!
Refucturing the code to make it undreadable and hard for others to understand:
“Refucturing is the process of taking a well-
designed piece of code and, through a series of small
reversible changes making it completely
unmaintainable to anybody except yourself”
— Jason Gorman, 2006
So, for Darren Workshy, to pay his mortgages he will follow these best practices
- Include as much irrelevant detail in your features as possible
- keeps them boring to read
- and nice and brittle (hard to read)
- Avoid using words you hear business people using. Invent your own instead!
This way, Darren Workshy will become indispensible at work, nobody can maintain code but him. And he will be able to stay in the job and pay his mortgages. That is mortgage-driven development.
Matt Wynne eventually dropped the mask of his character and returned to his normal self. He is a big advocate of behaviour-driven development.
His talk about Mortgage-driven development provided many examples that turned around the arguments. In that way it was really refreshing.
More info:
June 19th, 2012 at 22:56 (GMT-1)
Glad to see Jason’s important work on MDD is still as relevant today as it was in 2006:
http://codemanship.co.uk/parlezuml/blog/?postid=147
June 20th, 2012 at 15:02 (GMT-1)
@James: Excellent link, thanks a lot for the reference!