Thursday, June 28, 2007

Enough with what doesn't work?

So? are you frustrated now that all I seem to be doing is railing on all the things that don't work, which is a lot easier than saying what does work? Ok, fair enough. What does work.

This is going to sound silly but here it is. What does work is:
communication, trust, collaboration, and mutually beneficial motivation.

It sounds silly, but be honest, go through this list and tell me if everyone on the project team would say you have those 4 things?

Communication - I know, everyone says that's the most important thing, but in software development, it's not the same as building a skyscraper or a submarine. How so? it's not because they aren't as complex or as big, though that can be part of it. The issue is more that you can't and don't know what you are going to have when you start. There is an evolutionary process that stretches the human mind and creativity and business process, and solutions mindset when you develop software. What you have in the end of a successful project is never what you started out to build, specifically. Abstractly, sure. You want a website, you get a website. But of the 12 things you said you had to have, during the course of the project only 7 remain and you've picked another 7 that were not on the list because you've learned. You aren't dumb, as a client, you just didn't see it all unfold until it started unfolding, at that point it made sense. So the type of communication that you need is not static at all, it's dynamic. And it has these key components:

1) Task/deliverable bounded - don't worry about talking about your philosophy of how to hep users, or what the organization should be doing in 2 years, worry about what the business rules are for the 4th screen, what are the options, what are the impacts and who is going to implement them.

2)Timely and direct - avoid the urge to put things off - action items, meetings, email messages can be a form of procrastination. Just get it done. You need an answer, don't write down that you need an answer, get on the phone or walk down the hall and get an answer. The email that you write should immortalize the discussion so no one forgets and so that others can be benefiting from the knowledge of your discussion. It's all about how quickly you can get enough information to make a decision and move forward, 5 minutes time on task might take 2 weeks if you don't just get in someone's face and ask the question.

3)Solutions oriented, do not own the issue or problem and don't make anyone else do that either. Seek a common solution together. In order to do that, remember, you have to correctly identify the problem and accept that the problem exists. That sounds a lot easier than you think. I bet you can think of issues that are driving you nuts that others would deny are problems at all. Why? probably because they own the problem and therefore are in denial. Do not meet to meet, meet to work out a deliverable, walk through the deliverable during the meeting, when you are done with the meeting, you have done some of the work, rather than havin a huge list of t0-dos which you are not always going to finish.

4) Communications are part of the teams collective consciousnesses. Don't keep the conclusion of the discussion to yourself, share it with everyone who might benefit from it so that you essentially can put the conclusion in the hall of fame and move on to the next discussion. Otherwise the audience is only partially represented and the value of the communication is dramatically reduced.

5) Focused and appropriately audienced (ha I just made that word up, do you like it?) - Do not have discourses with people who have no authority, input, expertise or ability to influence either before or after the discussion. If you start a conversation, on any media, you know should know what you expect to get out of the discussion, or you should not have started.

No comments: