Hibri Marzook Musings on technology and systems thinking

Software Craftmanship 2009

BBC Worldwide (my employer) is sponsoring a conference on software craftmanship on the 26th of February 2009. This is about the skills you need to build better software. This is about the refactoring skills, spotting code smells and habits that make you a better developer.

The programme and registration details are at Software Craftmanship 2009 

This conference is not about how to do Agile, or how to get started with TDD or how to get started with a certain technology. The conference is programming language agnostic and the skills can be applied to any programming language.

Pair Programming smells

Stumbled across this blog entry by William Pietri. Made a list of some pair programming smells I have observed in the wild

  1. Quiet Partner  – only one does all the talking, the other listens quietly, often looks bored and un-interested.

  2. God Syndrome – the less experienced of the pair is afraid to ask questions. Not wanting to admit lack of knowledge. The superior of the pair zooms along assuming the other is following along.

  3. Constant Arguing – over minor design decisions, egotistic reasons. not coming to conclusions.

4.  “My work is so boring, I don’t you to want to see it, let me slave away in the salt mines”

  1. Going too fast – Either of the pair going too fast.” I know what I’m doing, just watch me”, and not bothering to explain.

  2. Lack of focus – “Hey look at this other thing I’m doing”.

  3. Quiet pair – ignoring partner, partner not interested. “I finished everything when you were having a cuppa”.

Ping Pong pairing

SO questions tagged with pair programming

Behaviour Driven Database Development (BDDD)

Pramod Sadalage, has written an article on Behaviour Driven DB development. http://www.methodsandtools.com/archive/archive.php?id=78.

He writes about adding behaviour to the domain model and how that behaviour is translates into database objects, with tests. In the project I’m working on, which driven by a Web UI I use the UI behaviour to build the presenter and  through this add behaviour to the domain model. It’s at the last stage that I add the persistance, through Nhibernate.

The technology is there to build better software. are you doing it ?

here is a random thought I had today.

From what I’ve seen, in the past 2 years, agile practices have spread among the .Net community.  The .Net framework  gives us the power to do TDD and follow other agile principles.  the community is now empowered with a rich API , so that we don’t have to worry about how to build things.  We now have to worry about what we can build and how to build it better.

We have been freed from the shackles of VB and classic asp, with a good OO framework, that is getting better. You name the problem and there is a very good .Net based tool to help you solve it. You want mocking , you have Rhino Mocks, you want persistence you have NHibernate, you want testing APIs, you have Nunit, Mbunit and what not. 

The technology and tools to build better software is here, are you using it ? if not what’s stopping you ?

Clean Code: A Handbook of Agile Software Craftsmanship

</p>

Seriously, do yourself a favour and go buy this. Keep it on your desk, have it while pairing, use it to bash sense into someone.

Clean Code: A Handbook of Agile Software Craftsmanship . There’s a pretty good review of the book here http://www.markhneedham.com/blog/2008/09/15/clean-code-book-review/

Related Posts:
Martin Fowler Talk