Book Review: The Art of Project Management

The Program Managerrole at Microsoft is not anything like the “Program Manager” role outside of Microsoft, and is not really the same as a “Project Manager” role at most places. Program Managers in product development are a mix of “Business Analyst” and “Project Manager”, with a few other things thrown in.

For people familiar with the way the rest of the world does things, it can be a bit disorienting to be thrown into the PM role at Microsoft. I’ve had several friends transition to the role, and always wished I had a book to give them that explains “how to be a PM at Microsoft”. While here at Microsoft, Scott Berkun used to run PM clinics which I and scores of other new PMs found very helpful. Now Scott has encapsulated all of his lessons learned into a book, “The Art of Project Management“, which I will highly recommend for new PMs. I’ve just finished reading the book; here ismy review:

To begin, the title is slightly misleading. It’s really about the “Program Manager” role as practiced by Microsoft, and Scott starts out by describing the genesis of this role at Microsoft — the rest of the book uses the term “Project Manager” instead of “Program Manager”, presumably because O’Reilly knew that “Program Manager” would be too confusing for people outside of Microsoft. It’s doubly confusing, because Microsoft actually does have an official job title for “Project Manager”, and this book is not about that role. This isn’t Scott’s fault; it’s just an unfortunate naming choice for the role; and the content will be incredibly useful for any software development managers.

The book is written as a sort of common-sense distillation of lessons learned from many years of PM experience. The writing style is simple, clear, and direct. Scott has spent a number of years teaching and presenting this content, so he is good at it. The content is well-organized and comprehensive. He covers spec writing, scheduling, phases of the project lifecycle, and soft skills. While I think it’s valuable to anyone managing software development, it also covers some of the peculiarities of Microsoft culture that a new PM will face. He even finds cause to quote Virgina Satir.

Although I now consider it required reading for new PMs, I did take issue with a few things in the book — mainly when Scott strayed outside the primary theme of the book. The primary theme could be “How to ship software in a completely safe, reliable, and predictable way”, which is something that all PMs should aspire to. The #1 cause of poor morale at Microsoft is schedule slip and churn, and this is 90% caused by poor management, including poor PM skills. So Scott’s book is aimed squarely at the heart of the problem. On the other hand, I think he goes a bit overboard with comments like:

“The hero complex most commonly develops in people who started their careers in startups.”

“So, instead of admitting their own failings, they depend on rewarding the brilliant, but possibly avoidable, heroic work of the engineering team.”

I’ll be the first to say that any project which relies on people working overtime is a failure of planning. But a team that doesn’t offer any chance of heroics is a pretty boring place, too. If you put a bunch of competitive people on a team, they’re going to work hard to earn the win, but they’re going to want to slam dunk the ball every now and then too. I wouldn’t go so far as saying that heroic efforts should be encouraged, but I think it’s wrong to paint them all with the same broad brush (what’s wrong with startups, anyway?). Some people need that sort of motivation, and those people can be good for the team. You don’t want a team of boring robots.

Despite the minor nits, this is the best PM resource I could hope for.

~

Years ago, my friend Graham used to keep a list of “Ways to Annoy People in Conversation”. For example, replace most meaningful words with vague prepositions, and at the same time liberally pepper with words like “exactly”, “precisely” (rasing eyebrow and punctuating finger for effect). “This is not right. I would have to say that it was the thing exactly what I am telling to you which doesn’t appear precisely to be the other one”. When the person attempts to elicit more detail, “which thing?”, respond with more prepositions. Another more subtle, but almost as maddening, trick is to always respond using exactly opposite modalities to the one which the person used.

Of course, the list of techniques was not meant to be used, it was simply a way of educating about good communication by poking fun atwhat not to do– made more funny by the fact that you know some people who do these things. It’s like the well-known list of “argument fallacies”, which funny as they might be to use in an argument that you don’t care to win, you normally have better things to do.

This is the same spirit of the people in on-line games known as “griefers”. These people find some loophole in the game that can be used to surprise or bewilder other people — normally it’s not the point to actually pester other players or cheat, it’s simply an urge to find and highlight the holes in the system.

In this spirit, I’ve always felt that a good companion to a “How to be a great PM” book would be a paper about “How to be a Jerk PM and Annoy Everyone on Your Team”. Not because you want to do these things, but because everyone knows at least a few PMs who do some of these things, and it’s better to laugh than be annoyed. And such a list would be a vivid demonstration of what not to do for new PMs. Product Studio; the interaction between Dev, Test, and PM; cross-team communications; and the triage process all provide rich fodder for such a list, and I have several good candidates. I’m not quite ready to share my list, but perhaps someday soon.

We in the mood to fight

My daughter’s ballet recital yesterday featured music by Ying Yang Twins, 50 cent, and Moby. It was not that long ago that each of these acts were underground.

This is a topic Dare blogged recently; calling out his favorite dirty south acts. I’ve followed the evolution of dirty south music since Master P and Silk da Shocker through 3-6 Mafia and onward. I guess it was around DJ Skrew that the “sizzup” culture started to get integrated into the music; and it’s been amazing to see a totally fresh and creative new branch of the art develop from that. I think the stuff around 3-6 Mafia time now looks pretty lame in comparison to what’s out today; but that’s just because the stuff out today is so good.

In addition to the songs Dare mentions, I think Jim Jones & Juelz Santana “Crunk Muzik” is a great introduction to state of the artform today. The music is so different and fresh, you’ve never heard anything like it. And it is really, really good; you wonder how it wasn’t invented before now. As long as mankind can keep channeling brand-newworks of pure genious like this, you know the world is all right. The lyrics are nice, too:

“You know what the movements like
You know how we movin’, right
Move, cause we in the mood to fight”

I think the current Pistons vs. Spurs NBA championship has some parallels to the current music industry. Detroit has to take notice when Atlanta and Texas start dominating the hip-hop charts. I’m still not quite sure how Houston went from being the land of a million bottlebags to being a leader in urban culture, but it’s a welcome change.

The Flipside of Identity

Yesterday, while discussing some of my favorite topics with someone, I argued that identity and semantic web are two sides of the same coin. This is a recurring theme in the 10^10 vision, and it turns out I’ve touched in the topic in this blog before.

Oneperspective is that consistent identityis necessary forbroad implementation of semantic web. It is true that reliable global identification is the biggest immediate roadblock to the potential of microcontent sharing (with trust configuration next in line, IMO). However, that is only the superficial connection.

To go deeper, you need to realize that when we talk about “identity”, we are rarely (if ever) talking about the actual identity of anything.I previously argued that ourreliance onartificial surrogates of identityhas all sorts of consequences. These tokens are incredibly useful, but we have to remember that they are simply tools that help us achieve goals within our current constraints. There is still immense room for improvement. It may never be possible to completelyisolate and latch the true essence that identifies an individual (and who cares about perfection, anyway?), but we are getting closer every day, and that’s where the deeper connection is.

Every token that you obtain (PIN for your bank account, your car key, credit card, etc.) is an attempt to assert a relationship between your physical essence and some other physical state or historical event has been confirmed. For example, your voter registration card vouches the following:

The person holding this card has been verified to have the same physical appearance and signature as the person who has beenbeen confirmed to be a resident of a certain locale, above a certain age, and meet a laundry-list of requirements for citizenship.

There are probably ten other indirections inthe custody chain which I’ve left out, but that’s OK. Since it wouldn’t be scalable for the poll workers to troll through all of the relevant recordsto verify this on-demand, you get a card.

The important thing here is to realize that the “identity tokens” you useare a combination of a bunch of historical assertions all keyed indirectly off of your physical description. The root key can be Photo ID and signature, fingerprint, DNA, or even a pattern memorized in your memory (in absolute terms, only slightly less permanent than your Photo ID). In other words, you can think of identity as consisting of two separate components:

  • A unique key that can be deterministically derived from the physical entity and supports unambiguous and repeatable equality testing. It’s very important to realize that this key doesn’t need to contain any actual information; it just needs to support those three requirements to an acceptable tolerance. In fact, it is often best if this key does not contain any information.
  • A bunch of metadata keyed off of that identifier. The more metadata tied to that identifier, the more valuable the metadata and identifier become.

You want the equality-testing operation to move to the essential, converge, and be as shared as possible; while you want the universe of metadata keyed on that operation to explode. The fact that the first piece (pure naked authentication) is often mixed all up with the metadata is mainly due to pragmatic implementation considerations and can sometimes obscure the fact that these are two distinct concepts.

Once you have nailed the naked authentication,identityis the sum total of your memory and experiences (“renmin voice“) and everyone else’s memory and experiences about you (“committee of gossips“). Storing this metadata in a universally accessible way is the long-term vision of all of these microcontent efforts.

Note that I’m not arguing that semantic mesh will make tokens irrelevant; I am just pointing out that in the bigger picture, these efforts are pursuing exactly the same goals, and security tokens can be seen as architectural optimizations and a flipside of the bigger problem.

Un-WSDL

Some REST-heads have spun up a mailing list to discuss creation of a RESTful web-service description language. Some could see this as a counterattack on WS-MEX, and I think the idea of service/contract descriptions is a bit contrary to REST’s advantages (use REST when you want lightweight, loose integration; use WS-* when you want deep integration). However, it is a conversation I’ll be following with interest.

What’s a TB?

A fewyears ago, some casual comments from Miguel started me thinking that video-on-demand at home might be realistic. I’m now pushing 2TB of wireless on-demand media at home, and nothing could be easier. My Comcast wireprovides on-demand to a comparable catalog. I fully expect Netflix to be supporting on-demand any day now.

This just illustrates how inexorable is the progress in this industry. A TB is nothing now; and you don’t even need local copies of the data to get acceptable perf. Five years ago, I would have been a chump with too much time and money to even attempt 2TB online, and the experience would have sucked. Five years from now, it will be so commonplace that I’ll look like a chump for even the small effort it currently costs.

Fish Without Bicycles

Shel quotes Gladwell, “Ideas … spread like viruses do”. Gladwell’s “Tipping Point” introduced many people to the basic ideas of memetics. Many people readingthat Gladwell line may have recognized a reference to ex-Softie Richard Brodie’s “Virus of the Mind”, which itself is really an attempt to popularize Dawkins.

In a 1983 column in Scientific American, reprinted in “Metamagical Themas”, Douglas Hofstadter explains that the idea considerably predates Dawkins. Of course, the concepts of self-replicating ideas have been used for at least a few thousand years; the discussion here is about who first made the comparisons to Darwin’s theory of natural selection.Hofstadter cites Roger Sperry and Jaques Monod as the first.

What I find very interesting is that Monod was comfortable with the fact that some memes may or may not lend easily to proofs of objective truth, and seemed to caution against being too judgmental about whether a well-established cultural meme was a “lie” or not. He points out that cultural memes evolved to be compatible with the neurobiology of their carriers, and societies institutions are completely interdependent with these memes. So it is impossible to separate out the meme from the biology and sociology of the situation.

On the other hand,Dawkins (and those who followed him)had no trouble passing judgment, painting a picture of such institutions as religion being nothing more than memes run amok; at best random and at worst malicious creations of master manipulators.

The problem is, this completely misses the value of the analogy to natural selection.Natural selectionis a much richer (and IMO more accurate) analogy. As memetics have been popularized under the “viral” banner, memes are seen as something malicious to be stamped out, or something powerful to be unleashed. Memes are no longer seen as reflections of our adaptation to the environment, or as relections of our neurology. Missing these important characteristics is like looking at the pair of legs on a human and saying, “Everyone knows that wheels are much more efficient! The self-replicating DNA process that created those legs left the poor humans with a substandard and dishonest design. Chop them off!!”. Passing judgment on design that arose through natural selection and pushing a design chosen by human reason starts to sound suspiciously like “intelligent design”. It may well be true that legs are inefficient, and perhaps someday an intelligent human designer will succeed in replacing them. But until then, I think all people deserve to have legs.

Spelunking my DNA

Well, the very first results from my DNA spelunking have arrived. So far I have received only Y-chromosome 12-marker test; much more detailed tests will be available over the next weeks. I was not surprised to confirm that I am haplotype R1b. One interestingfinding was in the ethnic origin of currently living people who are exact genetic matches for me on the 12 genetic markers. As a percentage, more people from the Netherlands than anywhere else are exact (Y12) genetic matches for me. Then it is Scotland, England, and Ireland (in that order), which is no big surprise.

It is not uncommon to have exact 12 marker matches for people who do not have a recent common ancestor, so I expect the dutch to fall off in the 25 and 37 marker tests (and of course mtdna). The sample size for Netherlands is much smaller than the others(129 people).15 of those people are exact Y12 matches, which is nearly 12%. I doubt that 12% ofpeople from Netherlands match me on all Y12 markers, sothis suggeststhat the sample is skewed. On the other hand, no such pattern appears in other Northern European countries, so it is not purely random either. I am sure there is a good explanation for this skew, and I’ll be checking other databases as I get more complete tests.

~

Update: All matches on Y25 and Y37 are via Scotland. Still Y-Chromosome only, so not representitive of mother, or father’s mother.

~

Update: All tests now complete; including mtDNA HVR1+HVR2. I am mtDNA haplogroup T2, and it is no surprise to see HVR1 matches all over the map. I don’t think it’s possible to deduce anything about my ancestry from these matches, since matches could simply indicate parallel forks back 50 generations or more (although I got a good number ofNative American, Ashkenazi, and Czech in addition to the dominant Britain, which match my expectations to some degree). HVR2 matches so far confined to England and Germany; again nothigh enough fidelity to say much conclusively.

One pleasant result of this excursion is that I have helped two individuals get closer to identifying their male ancestors — in both cases the father was not known and the male ancestors were raised by stepfather under an adopted name; both around 1890. Both are Y37 matches, so it’s almost certain that the real father was an Allen (unless of course I am not an Allen prior to that date, which I believe is rather improbable). This is recent enough that it does not represent a very broad set of parallel forks, so I think it will be possible to find the truth here.

On balance, however, I think that the current set of alleles tested on both Y chromosome and mtDNA is still too coarse, and the number of people in the database too small to give as much information as I would like to see. I look forward to the day when sequencing is much more detailed and registration at birth is standard practice.