Aug 132009
 

I’ve had a couple of inter­est­ing com­ments on my piece about Cod­ing vs Non-Cod­ing Pro­ject Man­agers; in my case it was the way things worked out rather than a delib­er­ate choice.

After my degree in phys­ics, and a couple of years of post-doc­tor­al work (which involved some com­puter stuff, of course) I got post-gradu­ate dip­loma in inform­a­tion man­age­ment that included all the good stuff such as data­base design, unix sys­tems admin­is­tra­tion, trans­ac­tion pro­cessing, C, etc., etc. And then went to work for a small SGML doc­u­ment con­sult­ing house doing, amongst oth­er things, the motif inter­faces for a doc­u­ment retriev­al applic­a­tion, schema design for dic­tion­ar­ies and encyc­lo­pe­di­as, and oth­er related work. I ended up doing more of the cus­tom­er-facing work, and less of the back-room cod­ing, mostly because I was bet­ter at it than some of the oth­er people who worked there, good at talk­ing to the cus­tom­er and tak­ing their require­ments back to the developers, and good at trans­lat­ing the developers’ con­cerns in terms the cus­tom­ers could understand.

When I got to SoftQuad, the idea was that I’d spend 50% of the time cod­ing, and 50% doing oth­er use­ful stuff. The oth­er use­ful stuff, as is its wont, grew. As an example, when we loc­al­ized HoT­Met­aL Pro, I was the one work­ing with the trans­lat­ors to make sure the strings made sense for the con­text. I checked the Ger­man ones myself since I speak flu­ent Ger­man and worked with a French-speak­ing per­son on staff for the French ones. I worked with the Adapt­ive Tech­no­logy Resource Centre on ways to make the pro­gram access­ible, as well as fig­ur­ing out the best way to incor­por­ate access­ib­il­ity check­ers to encour­age users to make the HTML access­ible. I rep­res­en­ted SoftQuad on many W3C and OASIS tech­nic­al com­mit­tees, bring­ing back the res­ults of com­mit­tee dis­cus­sions to the engin­eer­ing team and try­ing to make sure the com­mit­tees did the right thing without mak­ing it more dif­fi­cult for us to imple­ment. I coded demo scripts and taught tutori­als on how to use the macro sys­tem in XMet­aL, but that was the extent of my pro­gram­ming. Everything else took enough time that by the time I left SoftQuad after 7 years, the joke was that I owed my boss 3.5 years worth of coding.

  4 Responses to “Becoming the Non-Coding PM

  1. One of the things Scrum pro­motes though is for the pro­gram­mers to inter­act with the cus­tom­er, not to issol­ate them away, which I think was lost in your pri­or post. You want them inter­act­ing so they can gath­er just enough require­ments to get that par­tic­u­lar user story imple­men­ted. Gath­er­ing the require­ments and feed­ing them to the pro­gram­mer is not the best way to pro­mote this inter­ac­tion. In fact the product own­ers and those that are poten­tion­ally using the product should be involved dur­ing the sprint to provide early feed­back. Cus­tom­ers can­’t change the require­ments until the end of the sprint. I agree though that the Scrum Mas­ter should not be a cod­ing on the pro­ject. They have to deal with the issues that are keep­ing the pro­gram­mers from get­ting their job done. (i.e. no build machine, so they can­’t get reli­able feed back, product own­er that wants to look over their shoulder, etc).

  2. Hi Dav­id, I agree with most of your points, but there are a couple of nuances that I think are worth point­ing out. In many cases the product own­er rep­res­ents rather than being one of the end cus­tom­ers (this is what many com­pan­ies call product man­agers). It’s often not feas­ible to have the true end cus­tom­ers dir­ectly involved in the sprint; you need a proxy or rep­res­ent­at­ive instead. Where it is feas­ible, you still need to be care­ful that the inter­ac­tion sticks to the rules you poin­ted out, and that early feed­back is dis­tin­guished from chan­ging require­ments. This can get tricky at times 😉 and a good facil­it­at­or (aka Scrum Mas­ter or pro­ject man­ager) helps.

  3. I ended up doing more of the cus­tom­er-facing work, and less of the back-room cod­ing, mostly because I was bet­ter at it than some of the oth­er people who worked there, good at talk­ing to the cus­tom­er and tak­ing their require­ments back to the developers, and good at trans­lat­ing the developer­s’ con­cerns in terms the cus­tom­ers could understand.

    That’s pretty much what I do for Google now, except our cus­tom­ers are oth­er in-house teams. Con­sequently I’m that cur­rently unique thing, a developer-rela­tions spe­cial­ist who does­n’t work for Developer Rela­tions (which deals with out­side developers).

  4. […] Lauren Wood blogs at laurenwood.org […]

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

/* ]]> */