This is a continuation of my mentoring post made a few days ago but on a more fundamental level. I have no doubt that within every organization, every team and their members are thinking the same thing, but no one is saying it. There's a lot of reasons why and none of them are good. So what's the problem? Communication. People are afraid of looking stupid, asking a dumb question and generally don't want to look like the guy that doesn't know. Well, I usually don't know, so I ask and I've noticed a trend that doesn't surprise me - discussions begin to spawn awesomeness but they're not happening everywhere.
A perfect example came around a few weeks back. I got some time to sit back and learn something so I asked Jon Kruger about what I should be learning next? It's a huge, open ended question but he had a quick, exact response - learn TDD. He didn't say read up on silverlight or ruby or any thing else, he went right for a practice that he's using, regardless of its language. Ok, great, so I asked him "point me in a direction" ... he didn't find anything that was particularly good so, bonus, it spawned a lot of discussions and a few blog posts ...
TDD Starter Kit - Sample Projects and Links
What should you learn next?
Even more important, he did a Lunch and Learn -- we had a full house, around 60 people showed up. That's a great turn out and even better for Jon (people need to listen to him) but when I left I noticed yet another issue ... a group of people, 5 of them were discussing among themselves how they didn't understand where his mocking came from and how his structure map was working because "it was a custom written thing". The fail was simple : They didn't ask. If they would've went up and started talking to Jon about it, I'm sure Jon would have tore it apart and showed them anything and everything -- maybe even wrote a supplement post on it. But they didn't and the general take away was "I don't know how this part works, so I don't need it". Again, this is the fear of asking stupid questions in it's perfect sense.
So what's my point? Start the discussion. Take a chance, ask and find out. The excuse of being silent and pretending "I get it" doesn't apply if you sit back and don't ask. The biggest result that can happen is a wide, sweeping discussion that hashes out a ton of stuff that no one knew everything else is thinking.
I've recently went through a number of production planned outages of a group of systems we've recently taken over. I like these outages because of that magical word planned. This isn't planned like you put it in your planner and write down a time, no this is a concrete list with no surprises, no unclear roles, everything is laid out and everyone knows what they are doing. This doesn't seem hard and it really isn't, just takes some attention. Being my 2nd or 3rd one on this current project and I'm noticing some good stuff and possible fail routes that can easily be avoided. More...