Thursday, September 13, 2007

What do PMs actually do?

I have heard the question in the past, "What do PMs do?" I've read many responses and sometimes the respondent said that PMs don't do anything. With this in mind, I will be writing a series of blogs describing exactly what it is that us PMs actually do. You might be surprised to learn that it is more than you think!

Thursday, June 07, 2007

The Gumball Bandit - Part 1

In goes a quarter...rattle rattle rattle...out comes one...rattle, two...rattle rattle twist, no, make that six..., correction, make that ten gumballs. The whole thing reminds me of fourth grade when my pet mouse learned to crawl over the walls of the maze to get to the cheese.

Ten gumballs for the price of one. $.025 each.

If smoking marijuana is a stepping stone to doing other drugs, then stealing gumballs must be a stepping stone to stealing other trinkets. First its gumballs. Next its little rubber bouncing balls. Plastic rings. Necklaces. Punching balloons! Ultimatley, your sticking your arm up the drop chute of the Claw game at your local arcade, just to get that little stuffed frog that your dollar and skills couldn't. Mugging a carnival carnie can't be far off. WHERE DOES IT END???

So what does this blog entry have to do with software? Cue the "eek eek eek" slasher horror movie sound bite and imagine this:

Live Gumball Dispenser .Net 1.0 (beta)

I can just see it. It's an internet-connected gumball machine that runs on Windows CE and has been threat modeled and passed a full security review.

Here's the sceanrio. After lunch with your buddies, you have a hankorin' for some candy coated rubbery goodness and just happen to have some money in your smart card account. You walk to the LGDDN1(b), wave your smart card near the built-in card reader, touch the "I Accept" button on the touch screen and viola! Out comes one gumball stamped with a four-color logo and the text "Powered by Windows CE". It even has a trademark notice.

I know. You're probably thinking "how cool!" but consider this. When you touch the "I Accept" button, you are accepting the provision that allows the LGDDN1(b) to collect your personally identifiable information. In addition, it records the date and time of your visit. What's more, it got your quarter. In return, you get a cavity and we all get higher dental insurance premiums.

I don't write this just to be funny. I'm genuinely concerned about this growing problem on the Mother Ship. Some day I may go to buy a gumball only to be disappointed because the machine is empty. And I fear the LGDDN1(b). You should too.

Beware. The Gumball Bandit is out there...


Wednesday, April 04, 2007

Reality Check

Last February a good friend and co-worker drove me to the emergency room. In a few short minutes I was hooked up to an EKG and having my insides blasted by x-rays. I laid in the hospital room for several hours with no TVs, no computers and no distractions. It allowed me to think.

How did I wind up here? What in my life caused this to happen? Will I make it out alive? Does anybody care? The questions went on and on.

Fortunately, it wasn't a heart attack, but something the doctors call "Microsoft Syndrome". They say they see a lot of patients from the Mother Ship with the same symptoms. They basically told me it was brought on by stress.

When I got out of the ER, instead of going home, I went back to the office. I question that decision to this day. A few co-workers asked if I was okay. Some others didn't say anything. The reaction of my grand-manager (the manager of my manager) was the most telling of all:

"So 'the dog ate your homework' wasn't enough of an excuse to get you out of fixing bugs?"

That's all he said, and that said it all.

I knew he didn't like me. I knew it three days after I was re-orged under him. But he demonstrated a lack of ability to show compassion for another human. He had his favorites, and everybody knew who they were. I was not one of them. It wouldn't have been an issue for me except I had to slave for this guy. And I did for almost three years.

That day was life changing for me. I learned what a heart attack felt like; that my ticker was still in good condition; who my friends were; that working for a person I didn't like, on a product I didn't care for, in a group I couldn't transfer out of was darn near killing me.

Fast forward a year and I'm in a different group and in a different role. I enjoy working with my peers and for my managers. They're smart and they have a great perspective on life. They have their priorties in order.

I know that some of my readers struggle with similar stresses that I went through in my aforementioned organization. For those of you in a similar situation, I offer these final thoughts for you.

Will the late nights and time away from your family and friends be worth it when you're dead? Are you willing to die for the software you write? Will anyone care if you did?

Thursday, December 07, 2006

Losing a Battle

I love this company! But I'm saddened to say we're losing the search battle. The problem is simple: we're trying so hard to do cool things that we do the fundamentals poorly, if we do them at all.

Case in point: When MSN Spaces went live, or should I say, beta, I quickly signed up. I like the idea of having blogs, a photo library, links and stuff all in one place, hosted by my company. In fact, I was so excited about it, I moved my blog from Blogger to MSN Spaces.

I set up my space, created a blog entry and sat back. I love soaring, that is, flying gliders, so I wanted to find others with the same interests. I went to the search field, which wasn't on the page. I could accept that since MSN Spaces had barely launched in beta. But I went to the top level domain and found the search field. Alas, I was going to find more Spaces.

I typed in "soar" and then "soaring". No hits.

I tried "glider". Nada.

I tried "gliderjockey". Nothing.

“glider jockey”. Nope.

My curiosity was piqued because that was the name of my space. The words were on the page. But it wasn't indexed. So I figured I'd wait a day or so and it would show up. After all, it was beta software. A week or so later, I tried the search again. Same results, or lack thereof. Obviously a bug, and wanting to help make the product better, I tracked down the blog of one of the people responsible for the site. He assured me it was a bug and was being fixed in a few days. Fast forward two or so years to today. I still can't find my own MSN Space using MSN/Live Search.

Between when I created my site and today, I've been told various things as to why it doesn't show up: bugs, indexing algorithms, relevance ranking, no back links, etc. But why does Google find it? How did it find it a year ago? Two years ago?

To me the cause is simple. We don't index our own properties. Sure, we crawl a web of hyperlinks and that's great for discovery, but we own these properties. We know we have content there. It's a slam dunk to index the content. It's so obvious. It's a slam dunk.

It's a shame we don't do it.

Do you know what is more shameful? The feedback was given via both internal and external channels and it has fallen of deaf ears. Meanwhile, in this race we call Search, Google will lap us by indexing faster, keeping the user experience simple and getting the fundamentals right. It's a foundation that can be built upon.

It’s like musicianship. Those who know the fundamentals make better players.

Thursday, September 28, 2006

So I've Gone to the Dark Side...

Hello world galaxy far far away!

After 10+ years of writing code full time, I've gone to the Dark Side... I've made the move from developer to Program Manager (PM).

I can hear the gasps, shrieks of horror and plaintive wailing now.

So why did I cross over? I believe that to be a decent software architect, one must know how to be the ultimate customer advocate as well as lead the development team to build what the customer wants.

Becoming a PM is giving me this experience in spades. People are much more complicated than the ones and zeros I used to sequence just perfectly so I could keep my test counterparts happy.

So now, instead of writing code for a living, a large portion of my job consists of writing functional specifications from which other developers can write code. I guess I get to use those writing skills I learned in school after all. Mrs. Gastaldo and Mr. Thomas would be proud.

Call me Darth Spec.

Wednesday, July 12, 2006

Tastes Like Chicken...and Rice!

What's up with chicken and rice on the Mother Ship??? That's the question my cohorts and I have been asking lately. A sampling of this week's offerings from Cafe 110:

Monday: "Chicken Tikka" (served on a bed of white rice)
Tuesday: "Chicken Burger"
Wednesday: "Chef's Table Chicken Fajitas" (probably with Spanish rice on the side)
Thursday: "Grilled Chipotle Chicken Sandwich". The carvery will be serving "Beef & Broccoli". Guess what they serve it on? That's right, a bed of rice.
Friday in Cafe 110: "Grilled Chicken Pita".

About 3 months ago I jokingly asked the manager of Cafe 110 if he had a surplus of chicken. Seriously, he responded "Yes."

When I browse the menus for the other fine dining establishments on board, I find chicken and rice in one form or another. Seems the whole campus has a surplus of chicken and rice. So much so, in fact, I'm surprised that a certain unnamed yet famous buxom blonde doesn't show up in front of the flags and protest for PETA. I'd bet we on the Mother Ship consume more chicken than the entire west-coast chain of KFC stores! Okay, maybe not that much. But we do have it A LOT!!!

After doing some digging, I think I figured out what's going on:

Chicken and rice are the fundamental elements of the Mother Ship.

Think about it:
That low-fat hamburger patty…surely made with chicken

The bun...rice bread
Friday’s Chicken Soup: Leftovers from Monday through Thursday
Pad Thai…rice noodles
Logo Stress Balls…You guessed it. Filled with rice kernels
Door stops…left-over chicken
ID Badges…laminated rice paper

But I’ve noticed even more versatile uses. Heck, I'll bet we have some machine next to an underground parking garage that converts some of our rice to ethanol. I’d go so far to even suggest that our backup generators run on this ethanol. Imagine the cost savings...

After all, if we can make ethanol from the rice, we can use it to run the turbines that start the nuclear reactor that generates the power to spin the disk platters containing the bits of the new framework that runs the innovative new web-service based scientific calculator on our new Web 2.0 operating system (sans media player).

While I have highlighted some of the benefits of the ubiquity of chicken and rice on the Mother Ship, there is also a downside. I’ve noticed that several people have developed a slight tick, their heads rapidly lurching forward and snapping back every few seconds. If we don’t stop the madness we’re going to start clucking.

That reminds me, they’ve been serving more egg dishes in the morning lately…

People for the Ethical Treatment of Software Developers

Three to an office...
3-2-an office...

Yep, that's what they call me. My wife: "Mrs. 32".

So how did I get labeled with this name? If you haven't been able to see it by now, I'm a pilot. In the pilot world, we have call signs and nicknames. My instructor, upon learning that I had to share an office at work with not one, but two other employees, thought it was so amusing that he decided to start calling me "Three to an Office". It was easy for him to say that since he had his own office.

While the name is unusual and the way I received it is kind of humorous, office overcrowding is a rampant problem here at the Mother Ship.

It seems that the powers-that-be have been hiring new employees much faster than expected. As a result, people are getting shoehorned into offices designed for one occupant. Worse yet, the newbies or those without "game" are relegated to a spacious 6'x6' estate with a steel and fabric view in a "cube farm".

Yesterday, while taking an afternoon coffee break, two of my cohorts (who share an office) and I were discussing chicken and rice. More on that topic in my next post. The conversation then became about Pamela Anderson, KFC and PETA. Then "Dan" jokingly made a comment along the lines of "Developers need to be treated more ethically". So now we have this entry.

When an alien envisions joining the Mother Ship, he/she envisions one's own office, furniture and lava lamps. The reality is you get a room-mate (or two or three), a garbage can in the hallway and soaring 80+ room temps. However, all is not lost. One also gets the occasional debate, the aroma of what a cohort had for lunch, or even dinner the previous night, and the occasional F-bomb screamed @ 95 db. I personally enjoyed playing "bumper chairs" with my office mates. I highly recommend bringing your own crash helmet since the company doesn't provide them and the desk edges are sharp!

Surely such overcrowding leads to loss of comfort, concentration and ultimately productivity. Software developers on the Mother Ship deserve better. At least give us a padded office for our bumper chair sessions, or when we ultimately go crazy. Either way, it will be put to good use.

As I wrap up this entry, I took a quick look in the address book. My instructor, Random Rick, now shares an office with two others. Random, if you're rerading this, your new call sign is "Three to 4325"!

Friday, June 16, 2006

Can You Feel Me Now?

As a sailplane pilot, I was enamored with a little moving map program that ran on a Pocket PC. The pilot plugs a GPS into the Pocket PC and the program display the location of the sailplane over a sectional map. That way the pilot visualizes where they are in relation to airspace, landmarks, etc. Very cool stuff!

In 2001 I attended some classes at Air Sports Expo, the annual convention for the Soaring Society of America. One of the classes talked about cockpit resource management and specifically the use of Pocket PCs in the cockpit. The speaker specifically mentioned moving map software and started to systematically destroy my love for this new technology.

Little did I know he was also educating me on good and bad usability...

He started talking about how aircraft radios and instruments are designed for use in the cockpit. Aircraft instruments are designed to give you the information you need in a quick glance. Radios are designed to be usable even when you aren’t looking at them. They have knobs that rotate in clicks, so that you know how many digits you cycled through when changing a frequency. Buttons have different textures to you know what you are pressing without looking. The user interfaces for these often non-software tools are largely tactile. They are designed so that the pilot can concentrate on flying the plane while keeping his head "outside of the cockpit" so he can see and avoid other aircraft, terrain and other obstacles.

The speaker then contrast this with the usability of the moving map software on the Pocket PC. The maps look great on the Pocket PC. However, a Pocket PC screen isn't always very visible in bright sunlight. If you fly in the southwest, bright sunlight is often a sailplane pilot's companion, showing it’s pretty face through clear plexiglass of our bubble cockpits.

He took the discussion a step farther, explaining how the Pocket PC relies on a touch screen. The user generally switches functions by tapping the screen with a stylus, a sort of pen without ink. The stylus exerts pressure on a very specific area on the touch screen. While it’s a very good system for landlubbers, there isn’t a sailplane pilot in the world who would want to use one while flying in a gaggle with seven other sailplanes in close proximity, all the while bumping around in the turbulence.

Developers can work around the stylus by creating "buttons", large areas of the screen that respond to touch, so Johnny Fatfingers can tap the "button" without the use of a stylus. Great! However, since there is not tactile feedback, Johnny still needs to look down to see where on the screen to tap. All the while, aa student pilot in a Schweizer 1-26 climbs 1 knot above stall speed, in the mush zone, 100 feet above him.

Aircraft instrument and radio manufacturers employ potentially life-saving designs.

While most of the software you and I create may not be life or mission critical, there is a definite lesson to be learned. Our user interfaces must be simple, uncluttered, discoverable and intuitive to use. It is important to get usability feedback from actual users, not paper personas drafted by marketeers who believe they live in the heads of the customer.

It's sad to say, but it appears as if the usability of software (and technology) in general is declining. When was the last time you could dial a seven or ten digit phone number on your mobile phone without having to look at the numbers? When was the last time you could set the clock on your VCR (do they still make those) without having to open the manual?

That's why I like the TiVo user interface. It allows you to do many things with about five inputs on a remote control. Everything is discoverable, and usability is simple and quick. Back, forward, up, down and select are the only inputs you need to survive in the TiVo world. What's more, you can record two shows and watch a third without ever having to look at the remote. That makes it easier to watch movies in the dark. The TiVo engineers knew what they were doing when they designed their user interface.

When you design your next user interface, whether its for use in a high-demand environment such as an aircraft cockpit or a simple game for the PC, think about the usability. Remember the lesson on tactile feedback and ask yourself proverbialy "Can you feel me now?"