Rather early in my career as a programmer I learned a few rather important characteristics about software development requirements as well as how important delivering to an end user can be.
Always look on the bright side of life …
I like to look at things from a positive angle since I find the opposite to be very … ehrrr … negative. This is not the same as being naive but at times it might look like that. Nor does it imply disregarding risks, negative aspects or criticizing, even though it might look like that as well.
No, it’s just that I like my default mode to be positive, so to speak.
Do you ever get the feeling that the world is spinning faster than ever. Maybe it has been like that all along, and we’re all having trouble keeping up? I believe so. Or was it easier doing business a decade ago, two decades ago? I don’t know, I’m not old enough and haven’t been in the business that long.
What I do know is that I have an urge to be in control. So, when I get in a situation where I, for some reason, don’t have all the information I want that, I feel the need to be in control. I start to act irrationally, ineffective and very unorganized. It’s a vicious circle.
Sometimes I notice myself being irritated when I’m communicating with others. Up until recently I thought that was because I was tired or the topic wasn’t interesting enough. At times I even thought – Maybe I don’t like this person any more.
While this might be true I’ve found that there is one thing that affects me more than any of the above. Namely the nature of the communication. If it’s to pushy I loose interest at best. At worst I get defensive and the other part will usually go defensive as well.
It’s Monday, the last day of the iteration. It’s time to build, package and release the next version of LogLady, the best tool known to man used for analyzing server logs. Robert, the build master, responsible for the buildprocess dreads this day more than any other day of the iteration. To Robert this isn’t release day or the last day of the iteration. It’s Build day … yuck.
It’s time to do something about all these bugs. The dev-team keeps shipping bugs every other month – Manny thought to himself. He had been managing a team for almost six months now and his gut-feeling told him they were on a slippery slope to a really warm place.
Me and my colleagues had all jumped in the XP-water. Iterations, planning game, TDD and more. Things was running along quite nicely and I realized I had been pair-infected. Just like you can get test-infected, meaning you testdrive all your code. I had been pair-infected.
I wanted to develop all my code in a pair.
“Pair programming is a software development technique in which two programmers work together at one keyboard” – Wikipedia, April 2009.
While this is basically true, I’d say it is a flavor of pair programming. If you’ve never heard about it before, this definition gives you a basic idea of what pair programming is about. Or if you’ve never tried it, this approach is one easy way to start. Just sit down next to your peer and start working. The only modification to your working area you need to do is to move your chair closer to your colleagues. And off you go!
What is feedback anyway? I looked it up and found this to be rather descriptive, accurate and short.
“The return of information about the result of a process or activity” – The Free Dictionary, April 2009
Early fall 2007 I participated in a workshop Esther Derby and Diana Larsen held. It’s called ‘Secrets Of Agile Teamwork’ and is by the way an excellent workshop, which I can highly recommend. One of the things that really stuck from those three days was the discussions, the information and the exercises we did about feedback. Partly because the exercises felt rather uncomfortable at times and partly because it changed my perspective on feedback.
Contracts are shaping the way we work. Even more so if you are working as a contractor. Surprise?! Is this why we are spending more and more time on them? Fixing them, trying to make them cover all aspects of the work, all possibilities of opportunistic behavior and so on.
I believe we are, in fact, forcing or leading parties of contracts with steady hands into a supposedly pre-determined behavior. And without even thinking of it, we are limiting our own abilities.