February 25, 2006 spout

PM Skill #9: Learn From The Masters

Of course, when you’re learning to do something, whatever it is, you should check out how a lot of different folks do it. For example, the author of The Game learned to be a PUA from a variety of sources. One PUA guru of PM love is Brad Abrams and he regularly spills his guts onto his blog (plus, you’ve got to love his numbering scheme…):

Enjoy!

February 24, 2006 spout

PM Skill #8: Give Credit Freely

Engineers are people, too, and appreciate pats on the back as much as anyone. In fact, many of us are so socially needy that we’re willing to trade attaboys” for money (and hence the fuel that drives the OSS community).

The beauty: praise is cheap. Blocks of plastic, plaques, bowling night morale events, etc, all cost money and can be the cause of derision as often as pride. On the other hand, sincere praise freely given doesn’t cost a thing, but it’s often much more appreciated.

So why doesn’t praise happen more often? I think one reason is because we’re engineers, so we’re trained to focus on where our work falls short, often completely ignoring when it lives up to expectations. Also, sadly, it’s not uncommon for folks to want to take credit for themselves . However, as PMs, we have to remember that just because we give the presentation or write the status email doesn’t mean that we did the work. We need to be explicit about giving credit.

So, the next time you’re giving a talk, don’t say And this feature does …” say This feature, which Pete implemented, does this…” When you’re writing that status email, don’t say We implemented feature XXX this week…,” say Carol and Joe implemented feature XXX this week…” As soon as you do this, Pete, Carol and Joe know that you appreciate their work and that whoever you’re communicating with knows that they did good things. Appreciated team members are happy team members.

So, does that mean you should praise things you don’t necessarily appreciate, just to keep your team motivated? Absolutely not. As soon as the praise sounds empty, you’ve done more harm than saying nothing at all. Definitely look for opportunities to give credit, but don’t make stuff up that you don’t believe.

But what do you do to get praise for your own work if you’re busy doing all of this praising of your team mates? Nothing. Praise from yourself is called bragging” and it makes you look stupid (I know this because I struggle w/ this constantly). Give your praise freely and let others do the same. If you’re effective, people will say good things and that’ll be enough.

February 22, 2006 .net

Feb06 CTP of WinFX

February 15, 2006 spout

A Reviewing Trick I Learned A Long Time Ago

I learned this way of reviewing artifacts from Cal Caldwell, a friend of mine from my instructor days. The technique is for doing code reviews, but I’m going to be using it later this week for some design docs. Anybody who recognizes this technique can chime in with what it’s called:

  • Every reviewer gets a different hat,” i.e. a POV that they adopt when reviewing, e.g. looking for coding guidelines, looking for readability, looking at a feature from an architecture pov, looking at it from a particular customer pov, etc. Anyone can have feedback on anything, but the idea is that with different folks wearing different hats, you get a greater coverage.
  • Every reviewer brings review comments to the meeting, i.e. you reviewer before hand and only report at the meeting.
  • Every reviewer must start with something nice! Too often, engineers focus on the negative. Saying nice cushions the blow and reinforces the good things so that they don’t get cut.
  • Each piece of feedback will be logged (hopefully by the person that provides it) and spoken to the reviewee, but will not be argued with. If a reviewee disagrees, they keep it to themselves, asking only clarification questions to make sure that they understand the feedback. What feedback is applied it up to the reviewee and any follow up arguments happen offline.

That’s it. The best code reviews I’ve every participated in used this technique and I can recommend it highly for that. On Monday, we’re going to use it to get through a large number of design docs, so I’ll let you know how that goes.

February 15, 2006 spout

Scrum is very focusing

We started using scrum in my group this week and I’m already finding myself pushing aside work that I would normally sign up for in other groups. Scrum gives you to choice of being able to say I did what I said I was going to do yesterday” or I didn’t.” I want to always be able to say the former or have a good reason why not. Is I was working with this other group” a good reason when the rest of your team is focused 100% on the thing? This is going to play hell with MS culture, but in a good way, imo.
February 10, 2006 spout

Multi-Touch Interaction Research

Wow. I wonder how many years that existence of the mouse has set us back because it delayed us from using this.
February 10, 2006 spout

My Favorite Wiki: pinvoke.net

I guess wikipedia is cool, but the wiki that provides a vital service in my life is pinvoke.net, which provides an enormous, user-contributed list of Win32 API mappings for .NET. I find it useful not just because folks are contributing tons of stuff I use, but also because I find it a wonderful place to drop code for my own later use, e.g.

This is the closest thing I’ve seen to a working code repository that is just as easy to contribute to as it is to use. Highly recommended.

P.S. I think this kind of functionality should be built into the SDK docs. I’ll ask em.

February 8, 2006 tools

Network bandwidth usage monitor?

Sometimes, for no reason I can discern, the network bandwidth on various computers in my house goes south. What I’d love is a tool that shows me how much traffic is going across my network, where it’s going and where it’s from, i.e. from the internet, from a machine in my house, etc. Ideally, it’d also show me the ports and even the processes on each machine that are producing/consuming the data. Does such a tool exist?

← Newer Entries Older Entries →