I had a really good chat with Marcus Baker ( http://www.lastcraft.com/ ) and Benjamin Mitchell ( http://benjaminm.net/ ) at XTC a couple of weeks ago.
Marcus was explaining that whiteboard sessions encourage mirroring. Mirroring is when two people discussing an idea start to mirror each other's body language. For example both rest their chin on their fist. Whiteboard sessions where both people are standing at the whiteboard help encourage this behaviour because the two people are already standing and facing each other and the board.
Posted by chrismatts at April 3, 2004 9:14 AMHi.
It wasn't so much the mirroring itself, but the shared focus tended to produce posture that was team and goal oriented. This posture feeds back to make you "feel" more goal oriented in a positive cycle. I have seen truculant primadonnas come into line when gathered around a whiteboard.
You should also talk to Sal at XTC. She is doing a PhD on what makes expert programmers. I had a long conversation with her (this being an interest of mine) and here are some interesting points...
The main difference is experts see things in large chunks and with clearer chunk connections (schemas). This is the same for any area of expertise so I'll skip this.
The main distinguishing feature of developers is that they can keep track of their own thought processes. This allows them to backtrack when their hypothesis is disproved and retry a different line of thought. A bit like climbing a tree, finding yourself on a low branch and then returning to the last branch and retrying. Maybe this goes with developers being generally introverted and reflective thinkers.
Another point is that good code can be spotted by eye alone. It has a texture. This got me thinking...could you improve your development skill just by looking at lot's of good code. Learning by osmosis maybe?
yours, Marcus
Posted by: Marcus Baker at May 23, 2004 2:56 AM