August 8, 2008

...Learn TDD with Codemanship

Trust + Realism - Two Essential Qualities For Successful Project Teams

Let's not get all gooey-eyed and touchy-fuzzy about it, but I'm reminded these last few days about the importance of two very different things:

1. Relationships, and
2. Physics

It's all too easy to take interpersonal relationships and how we interact with each other for granted on software projects. It's only when those relationships break down that we realise just how very, very hard it is to make any kind of meaningful progress when there's no trust and no spirit of co-operation. As we work to rebuild trust, we see that the stark contrast between adversarial relationships and genuine partnerships. It's a timely reminder for me to remember to focus on the people and the culture - and especially on how we all interact and get along. In terms of complex systems, we learn that it the relationships between the individual components - and not the components themselves - that tend to define the system's properties.

And on to Physics. Some people just don't get the whole space and time thing. Things take time. People can only be in one place at a time. And so on. 10 days work into 48 hours does not fit. When I watch Doctor Who I tend to suspend my disbelief when 5 million Daleks are sucked through one small window in Docklands in a matter of seconds. In real life, though, we cannot suspend physics. Alas, in very reactive working environments, it's easy for managers to forget that they already asked you to do 3 impossible things before breakfast that would require you to be in two diffrerent places simultaneously. Which is why projects must be grounded in reality.

I maintain that if you can build trust and inspire great working relationships, and if you can ground your plans in reality, you'll go a long away towards succeeding.

Posted 9 years, 11 months ago on August 8, 2008