January 19, 2006 fun

Looking for an Xbox 360

I got my first hands on Xbox 360 demo today and I want one! Unfortunately, MS employees aren’t treated specially, i.e. there isn’t a big warehouse full of 360s for us at the MS Store. However, there is an internal mailing list filled with rapid pre and post-360 purchasers that showed me several resources to use to find 360s:

  • 360 Tracker, a WinForms app to find stores in my area with 360s in stock. Will alert me via email and my cell phone as well as on my computer screen. It’s running now.
  • NotifyWire.com, a web site that will filter for online sales in my price range and notify me via email and SMS. I’ve created my account.
  • xbox360tracker.com, a web site that shows online sales and their in-stock status. Available as an RSS feed, so that’s a reason to run one again! : )

I don’t want any fancy bundles and I don’t want to purchase online — I want the premium bundle and I want to walk out of the store with it. Is that so much to ask?

January 19, 2006 spout

I want a service that “rips” books

Assuming the Sony Reader is cool, I still won’t have all the content I want and I certainly don’t want to repurchase all of my books. In the same way copyright law enables me to backup my CDs and DVDs, I want to rip” my books and comics for electronic use. I’d like the same technology that the Google and the Amazon folks are using to digitize existing books (the folks that litter USENIX with copyright materials must have a cool setup, too). My understanding is that, unlike CDs and DVDs, which are easy to read via computer, books are not, so I’ll need a service where I can box up my books and send em for ripping, resulting in a shiny DVD filled with my words and images, ideally OCR’d enough to allow full text search. In fact, after a while, the book rip houses would have most books on file, so I’d only have to prove that I own a book and they could email me the electronic version, saving us both the shipping charges. In further fact, this is an additional service that Google and/or Amazon could provide, since they’re already ripping” the books they sell…

January 18, 2006 spout

I Hate Books

I hate that indexes suck and that they don’t support full text searching across my entire collection.

I hate that I have to guess which ones I’ll need or want so that I can carry them with me.

I hate that I need a light to read them, potentially bothering the driver or a sleeping spouse.

I hate moving them, making shelves for them and searching for them on the shelves.

I hate that I can’t take notes in them — not even the ones I own — without breaking out into a cold sweat (although, to be fair, that’s more about my librarian mother than the book itself : ).

I hate that I have to buy a book twice if I want to listen to it instead of read it (and I hate that there’s no way to pronounce pictures or code).

I hate that if the local book store doesn’t have a book, that I have to wait for somebody to deliver it.

I hate that my local book store doesn’t have reviews of the book, whereas my on line book store doesn’t let me flip to whatever page I want.

The one thing I don’t hate about books is the content. That part triggers my thoughts and my emotions in me that are so strong, I put up with all the things I hate so I can get to it.

Why isn’t there an iPod for books (is it because iBook is already taken)? Why isn’t all print media, e.g. novels, poems, comic books, news papers, magazines, etc, available in electronic format?

January 17, 2006 spout

PM Skill #6: Be The Team Mom

In an ideal world, a PM would be able to get together with their team, lead the discussion til everyone agrees what they’re going to do and while they’re doing it, hang out on the beach answering the odd question on their smart phone til the work is scheduled to be done.

At Microsoft, we don’t live in an ideal world.

Instead, we have roving bands of PMs prowling the halls looking for resources, trying to get things done. Because this is an accepted part of MS culture, people actually listen when a PM shows up at their door to pitch their idea and ask them to help. And, so long as it fits into the broad goals they’ve set up with their boss and their other commitments, and it’s more fun then the thing they’re supposed to be doing, they often say yes.”

This means that folks on your team often have multiple commitments that they have to decide between. It’s like when you get married or close friends, you’re going to have more than one family to visit at Christmas time. However, you have to put your blood relatives first, making them your top priority and squeezing in the other families when you can, e.g. Christmas Eve Eve.

As a PM, you have to know what the blood relationships” are for each of your team members. Are you their second or third family? If so, you have to take Christmas as celebrated on.” However, if they’re in your first family, then you take top priority and you should feel free to act like their mom.

Traditionally, it’s the mom’s job to make sure people are healthy and happy (doing stuff they like), making sure that they’re eating right (getting pizza during late night coding sessions) and that they’re getting special treats when they deserve them (public announcements praising their work).

Likewise, it’s the mom’s job to remind them of their chores (their task list), check their report card (make sure their tasks are up to the quality bar) and to guilt them when they forget Mother’s Day (keeping up with the schedule).

As the PM, you’re the team’s memory, the catch-all for crappy tasks nobody else wants to do and the one that makes sure everyone is working well together. You’re the glue and the conscience. If the teammates on your team aren’t waking up thinking of tasks you want done and going to bed hoping they’re making good progress on your tasks, then, according to MS culture, that’s your fault.

So, make sure folks are unblocked and happy, but also make sure they’re doing what you consider their top priority and that they’re doing it right and one time. Trust that they’re doing what they should be, but make sure they know what you think they should be doing and that they’re doing it right.

The downside is that such a world doesn’t scale without PMs at every level, but that’s why MS has PMs, Lead PMs, Group PMs and Product Unit Managers, all of them acting as the mom for their families.

January 16, 2006 fun

My Son’s First Computer Program

Wonderful things happen when I tell me kids to stop playing video games and to stop watching TV (I try to limit them to an hour of each/day). I mean, aweful things happen at first — you’d think I stuck a sharp stick in their eye. But, after the hollowing stops (and the pull the stick out), the imagination kicks in and they think of stuff to do. Today (they were home from school on MLK Day) John asked if he could write a program.

Now, as you may or may not recall (or as you may or may not care), I just moved a few months ago and I haven’t built enough shelves to hold all my books yet, so my copy of Microsoft C# Programming for the Absolute Beginner, by Andy Harris (which I’d purchased in case this day every came) was buried who knows where. I scoured every book box stacked in the closet in my office and every book box I could get to in the garage before risking an antique painting and crawling behind four matteress to dig through the one box I just couldn’t reach to find it (why is it that whatever you’re looking for is always in the last place you look?!?).

Once I’d found it, I handed it to John so that I could ready the computer for his programming genius. I knew right where to go to get Visual C# Express and I loaded on MSDN Express and SQL Server Express, just in case (Mozart’s dad got him more than one instrument, didn’t he?!?). Of course, I got to the spot where I needed 1.7GB on the C drive (even though I was installing on the E drive) and I only had 1GB, so I had to clean the drive and uninstall a bunch of stuff, all the while John’s pestering me, Do I have to read this part called Intro? What’s .NET? What does the C in C# stand for? I don’t want to read stuff, I just want to do stuff!” Clearly, Mr. Harris had a different audience in mind when he used the phrase absolute beginner.”

So, after about an hour of searching and uninstalling, downloading and installing, and then showing him the difference between the development environment, the documentation, debugging and running, I was ready to give up the driver’s seat and let John try his hand. Here’s his first program:

using System;

 

namespace ConsoleApplication1 {

  class Program {

    static void Main(string[] args) {

      Console.Write(Hi, Mom!”);

    }

  }

}

sigh.

January 16, 2006 spout writing

A Toast to WPF

A Toast to WPF

Here’s a review you don’t get very often:

Your WPF book is excellent. So good that I actually chose to read it instead of watching in flight entertainment from my trip to London in Dec… I liked it so much that I asked for some champaign, and continued to read it non-stop till I reached London from UK. Here’s a photo. Good job!”

I’m glad to here our book goes nicely with a glass of champagne, although maybe Parimal will change his mind when he sobers up or the jet lag wears off. : )

January 16, 2006 spout

PM Skill #5: Unblock Others First

PMs often come from the ranks of engineers who’ve been promoted” (aka taken away from the code to go to meetings). Many fight this trend, reverting to their old close-the-door-and-solve-the-problem habits to solve problems, which, as I’ve mentioned, doesn’t work at all well when you’re managing a team.

Even worse, a PM has to do something that’s very weird to most people — they have to help other folks get their work done before they tackle their own work. I call this unblock others first.” This has implications:

  • You have to be in constant communication with all the folks on your team via meetings, 1:1s, phone calls, IM, email, etc. However your teammates like to communicate, you have to be ready to receive and respond quickly. The longer you wait, they longer they’re blocked and the further out your ship date goes.
  • You have to learn to be interrupt driven and good at switching between tasks or you’re never going to be able to swap into the tasks you’re being asked to help with and then back into your own tasks. This is very counter to engineering work, where you have to be able to keep lots of ideas in your head all at once while you work on a deep technical task and interruptions are the enemy.
  • You still have to balance your interrupt-driven PM time with your concentrated technical time, or you’re never going to be able to stay technical enough to keep up with your team. This is the one I struggle with the most. How can I be responsive to unblock my teammates while still having uninterrupted time to myself for technical work?

This last question is the fundamental contradiction when you’re a product PM and it’s one that different PMs balance differently. Some swing a lot toward the technical and risk losing touch with their team and thereby building the wrong thing or missing their dates. Some swing toward the management, losing touch with the technology and losing the respect of their developers. Of the two, swinging too much toward the technology is the biggest danger, but only by a little.

I deal with this by trying to set aside at most a day here or there where I can ignore my team and concentrate on something technical, but I have a very hard time actually doing it. Frankly, I love the constant task switch that goes w/ PMing and I get bored if I go too long without it.

Hi. My name is Chris and I’m a PM. Can I get a hug?” : )

January 12, 2006 spout

PM Skill #4: Exhibiting the Behavior You Want

At our last team milestone, we had stepped up the pace in the last two weeks to make sure that we were done in time for a demo by one of our internal stakeholders (demoing your stuff is a wonderful way to communicate, but having other folks build on your stuff to demo their stuff is even better [so long as they remember to mention your stuff]). When we decided to step up the pace, I let everyone on the team know that I was available 24/7 until the demo, providing all my contact numbers. I was actively working on a chunk of the implementation, so I would send out status and check-in mails whenever I had completed something, often in the middle of the night or early in the morning (I didn’t get much sleep for those two weeks). When folks had questions, I was there to answer them, day or night. I was working long and focused hours and I was making good progress against my goals to meet the deadline for the demo.

In other words, while I never once asked the team to double their work efforts, once we’d all agreed to meet the shortened deadline, I stepped up my pace, let them know I’d stepped up my pace and expected them to do the same. This is the same no matter what behavior you want, whether it’s working long hours (only temporarily, though, else you’ll burn out your team), showing up to meetings on time or getting powered sugar on your keyboard. Some individual members of your team may not change their behavior, but they definitely won’t if you’re not willing to.


← Newer Entries Older Entries →