No good deed goes unpunished: Marking a document as obsolete

I was contacted by a customer support liaison who was hoping that I could help them understand Feature X.

I saw your name on a "Feature X technical specification" document in the Windows specification repository, and I was hoping you could answer a few questions for me, or redirect me to somebody who can.

I was puzzled why this person saw my name on the "Feature X technical specification" document in the Windows specification repository, because I was not the author of that specification. I went to the specification repository, opened the document in question, and nope, my name appears nowhere in it.

I asked, "What gave you the impression that I had anything to do with Feature X? XYZ can help you with your questions; he's the one listed as the author of the document."

The response was, "Oh, I'm sorry. I didn't actually read the specification. I merely did a search through the entire repository for Feature X, and the "Feature X technical specification" is the one that showed up as most recently updated by you. In the past, this technique has been pretty good at finding someone who can help with a feature. Sorry about that."

I went back and took another look at the document, and then I remembered why I updated it: My duties at the time included reviewing all documents that met certain criteria, such as this particular document. I had some feedback about the document for the author, who told me, "Oh, that's an obsolete version of the document, but it's retained for historical purposes. The current one is over there." To save the next person some time, I edited the obsolete document by inserting in big letters at the top, "TECHNICAL DOCUMENTATION FOR THIS FEATURE HAS MOVED TO ⟨new location⟩. THIS DOCUMENT IS OBSOLETE." I could've asked the author to do this, but I had the document open already, so I figured I'd save a few steps (ask author to update document, wait for reply, reopen document to verify that edit occurred) and just do it myself.

Boom, no good deed goes unpunished. My update was made long after the real technical specification was completed. As a result, of all the documents on Feature X, not only is it the obsolete one that shows up as most recently updated, but I am the one listed as the person who made that most recent update.

Next time, I'll try to remember to do things the long way, even though it is big hassle for everybody.

"Please update the document to indicate that it is obsolete and redirect the reader to the current document."

— Could you do that? You've already got the document open.

"No, I used to do that, but it came back and bit me, because I become the person to edit the document last, and then everybody comes to me with questions about the document instead of you."

— You do realize that in the time you tried to convince me to do it, you could've just done it.

Follow-up: I tried it, and sometimes the response was "I'm really busy now, I'll get around to it in a few weeks." Now I have to create a reminder task in two weeks to follow up. More hassle for everybody.

I think the next time this happens, I'll write back, "I'm coming over to your office. I'll make the one-line edit on your computer so that your name is the one attached to the edit."

Comments (43)
  1. Xv8 says:

    Using another user's account? Even briefly? Blasphemy!

  2. Brian_EE says:

    "X" is the Roman numberal for 10. 10 is the next Windows Version. Ergo "Feature X" is code for Windows 10. Ergo Windows 10 is obsolete.

    Tomorrows' Tech Blogs Headline (ala the Ballmer/Blue-Screen Fiasco): "Microsoft Executive hints that Windows 10 is already obsolete!"

    (You heard it here first)

  3. nobody you know says:

    It seems like it would be easier to reeducate the customer support liaison who thinks he's so special he can annoy people with random questions without even bothering to look at the specification that presumably would have answered the questions for him. Not only is he pushing the work that's arguably his job off on someone else who has other work to do, but it probably takes longer to answer the customer's question, too. But hey, at least he gets to note the ticket as "not my problem; waiting for response from Raymond" instead of doing his job.

  4. Gabe says:

    I really hate having to follow up on things in a few weeks. Like when there's an error on my credit card bill so I call up to get it fixed, and they say something like "you should see a credit within 7-10 business days". So then it's my job to make sure they did their job correctly!

  5. Boris says:

    You could also create a training issue on the support department, pointing out the need to examine more than just the latest row in document history. I sometimes email people based on changeset history, but I'm well aware that the latest entry could've been someone's random build fix.

  6. Skyborne says:

    I've ended up with some githubs listed prominently on my profile… because they sort by 'most recent commit' and I updated lots of them to say, "This repo works with LitWare 2.x, which is obsolete, so I'm not maintaining this code anymore."  (I have no desire to use 3.x, so rewriting for that is kind of pointless.  Experience shows "code I don't personally use" never works in real life for my projects.)

  7. 12BitSlab says:

    Honestly, this is an issue that every good sized organization deals with.  I have seen multiple solutions for this mostly revolving around a large document management solution, but they tend not to work since it requires everyday people to change how they work.  

    Of course, I remember when developers were dragged kicking and screaming to source code control type systems.  It can be done, but it takes much time and many discussions that end with "… because you have to."

  8. Boris says:

    @12BitSlab: but this document was in a "Windows specification repository". Surely it comes with version history, which can be browsed by anyone with access, so it doesn't look like the support liaison was stuck with Author and Last Modified By in Word properties.

  9. Dave Bacher says:

    @Brian EE:

    Only if you are Mary Jo Foley.


    Just update the SharePoint or TFS site to show the Author field from Word instead of the last touch. :P  (What, you control OS components, you can't erroneously push a script that does that as part of a nightly?  Just kidding, just kidding…. I know you like your job)

    But seriously — that's the exact problem the summary info is there to fix, and so if you could get someone to update it to use those fields — your problem would correct itself.  Maybe.  To me the bigger thing would be to have some standard way to mark obsolete documents, so that instead of a last touch it was — say — a move.  That's what I've been doing lately, make a folder "Obsolete," maybe with a prefix to make it sort first, and then shove everything in that folder that's obsolete.  That way the "last touch" is preserved, and all the project people have to do is drag it to its new home and commit.

    [It shows both author and last-modified-by. The problem with moving the document into an "Obsolete" folder is that it breaks links to the original document. Otherwise, I could have just deleted the obsolete document. -Raymond]
  10. 12BitSlab says:

    @ Boris, I assumed – possibly incorrectly – that the repository was nothing more than a set of Word docs and Excel spreadsheets on a file share.  Outside of Microsoft, and possibly even within Microsoft, they use other documents as well.  Documents that are not created with Microsoft Office tools.  Documents such as CAD drawings, PDF files, etc.  MS Office has a way to track that stuff, but identical facilities are not available in documents that are not part of Office.  Therein lies the needs for some sort of document management system.

    One large system that I worked on in the mid 90's had documentation that were scans of paper that the other architect and I drew up at a bar.  Those kinds of things are important when someone needs to go back in time and ask, "Why were things done this way?"  

  11. Boris says:

    @12BitSlab: I'd assume that Microsoft is using Microsoft SharePoint or an equivalent document repository (possibly based on internal software).

  12. Mark VY says:

    Surely this has only happened once?

  13. I suppose you could have just deleted the obsolete document.

    [As I noted in another comment, this would have resulted in broken links. -Raymond]
  14. Can you link to a particular section within a document? If so I would prefer a broken link over a link to an obsolete document which had a "this document is obsolete" header I didn't look at.

    [Dude, you work here. You figure out whether links to a document section are possible. -Raymond]
  15. JIm says:

    @Maurits[MSFT], you are trying to create more works for Ray, way to go that is the MSFT is for??

  16. JIm says:

    @Maurits[MSFT], you are trying to create more works for Ray, way to go that is the MSFT for??

  17. Kevin says:

    Re follow-up: Should this be tagged "the social skills of a thermonuclear device?"

  18. Consensus of the internet is that Word supports adding "bookmarks", and http://…/foo.docx#bar should find the <a name="bar">…</a> bookmark in foo.docx. So, probably.

  19. Jim says:

    Maurits from MSFT is CXXO and can do anything!

  20. Wayne says:

    Going by the original author isn't always the best option either, a lot of specs were probably written over 10 years ago and you will either get a response of "Dude, I have not looked at that stuff in over 10 years, go find the current owner of that feature".  Or you may find the original author has moved on from the company, which is why I can see why someone may look at the last modified by instead of the author.  

  21. Doug says:

    I run into this a LOT. For various reasons, I am the most-recent-editor of a non-trivial percentage of the files in my company's projects, usually due to fixing small issues. For example, fixing 2000 files that each contain a minor error that prevents the organization from upgrading to a new compiler or library.

    I find that the best thing to do is to just live with it. It takes weeks to get somebody else to fix something. It only takes a few seconds to tell somebody "I'm not the droid you're looking for".

  22. cheong00 says:

    Btw, I think it's normal for customer support liaison to maintain a list of primary contact for every features / products they have to support, then do the redirection to actual responsible person there. It surprise me that they have to use such technique to find out who to contact.

    Since our Admin staff who acts as primary contact is also responsible for logging the time spent by individual staff on support, it gives us full right to block support requests that calls directly and bypassed the Admin.

  23. Someone contacts you and you call that "punishment"? I imagine meeting someone must be "torture" for you. Going to a party gotta be "beheading".

    People often ask for my help, not because it is related to me, but because I'm the only one they know. This even happened in Wikipedia, where I earned nothing. You earn seven-digit salary and complain?

  24. Jerome says:

    @Fleet Command

    It wasn't because someone contacted him… It was that his update to the document wasn't even read. If they'd read it, they'd know which document is correct. So Raymond's good deed backfired. You're taking it completely out of context and then reading a strange appeal to consequences into it, quite inappropriately. To what end?

  25. foo says:

    >> I was hoping you could answer a few questions for me, ** or redirect me to somebody who can. **

    > XYZ can help you with your questions; he's the one listed as the author of the document."

    >>…"In the past, this technique has been pretty good at finding someone who can help with a feature."

    You have to admit that the support liaison's search algorithm clearly produces results.

  26. Count Zero says:


    I would have expected that the answer of somebody with the "social skills of a thermonuclear device" would include something about asking questions before reading the &@[]ing manual. (I know swearing is not your style, but I definitely would answer something like that.)

  27. Jerome says:

    I was once bitten by something similar.

    After starting a new job, I was unimpressed by the number of recruiters still calling me; I had submitted my CV to the main website for dev jobs here in South Africa. Unfortunately you can't delete the last CV – you can only delete all but one of them. So I modified my CV to include a huge header in red caps on the front page to say "I AM NO LONGER ON THE JOB MARKET. PLEASE STOP CALLING ME!"

    What I didn't know was the work-flow of the recruiters. Typically they only search for most recently updated CVs that meet the job spec. Then *somebody else* downloads them and converts into their format *after* the recruiter calls the potential candidate. So my edit resulted in hundreds more recruiters calling me – way worse than the dozens before, since I'd only succeeded in getting my name to the top of their search results.

  28. @Jerome: None of this is remotely construed as "punishment". It is called daily social interaction, categorized under disambiguation or clarification. Happens everyday. I receive letters that ask me whether I worship Lucifer or Satan; I cheerfully reply that I worship neither. (Well, not really, but that should give you a good idea as to what I get.)

  29. Mark says:

    Fleet Command: "no good deed goes unpunished" is a very common phrase, even used as a song in Wicked. I doubt Raymond actually believes this is actually some sort of celestial punishment.

    ["No good dead comes without adverse consequences" isn't quite so catchy-sounding. -Raymond]
  30. DWalker says:

    @FleetCommand:  I will bet you $100 that Raymond does not get a seven-figure salary.  :-)  

  31. Scott Brickey says:


    I'm surprised that there isn't some "superceededBy" metadata that can be used to automatically redirect requests to the correct document. This would presumably solve both the dead link issue, and the "look here instead" issue. Granted, your name may end up on the LastUpdatedBy field, but I'd hope someone is smart enough to at least see the metadata (or, if it's SP, that a custom result template would emphasize it </SP consultant>). Maybe I'm hoping for too much from the users.

  32. Gabe says:

    Aren't object IDs […/ff540335.aspx] supposed to avoid the problem of broken links due to moved files?

    Or are these a different kind of link that doesn't involve OIDs? Or are OIDs infeasible for some other reason?

    [I'm referring to broken hyperlinks (URLs), not file system shortcuts. -Raymond]
  33. Pavel says:

    Punished? Don't see any problem here unless this happens to you often. But for sure you've wasted much more time on writing this post and replying to comments :)

    ["No good deed goes unpunished" is an English idiom that roughly means that beneficial actions incur unexpected costs to the person providing the benefit. For example, you help answer a question about X, and now everybody asks you questions about X. -Raymond]
  34. @Mark, Raymond: ‘"No good deed goes unpunished" is an English idiom that roughly means [~snip~]’

    Did you read (or wrote, in case of Raymond) the part that say ‘I think the next time this happens, I'll write back, "I'm coming over to your office. I'll make the one-line edit on your computer so that your name is the one attached to the edit."’ Idiom or not, this entire post construes as an instance of immature discontent unworthy of the self-styled "Chuck Norris of Microsoft". It is more like Dudley Dursley or Rachel Green of Microsoft.

  35. Danny says:

    Quote: "I think the next time this happens, I'll write back, "I'm coming over to your office. I'll make the one-line edit on your computer so that your name is the one attached to the edit."". Really? Awesome, I will have my friends at Microsoft Office in Bucharest then do this on purpose to make you come to my country. Hey EVERYBODY from Romania, Serbia, Croatia, Russia, Hungary, Ukraine, Moldova, Ray is coming to Bucharest next week. I'll find out later when so we can snatch him and have a chat, I'll keep you posted here on the board. So who is from these countries I just mentioned?

  36. Anonymous Coward says:

    I guess the good deed of writing this blog entry didn't go unpunished as well :)

  37. voo says:

    So Fleet Command is the new troll around here now? I miss the good old days of xpclient already..

    Although on the other hand if I can find an email address I can delegate all my boring research to him, since he apparently doesn't value his time very much.

  38. Nawak says:

    xpclient? That's nothing! Back in my days Norman Diamond was the kind of trolls we encountered!

  39. Marc K says:

    "Dude, you work here. You figure out whether links to a document section are possible."

    Best comment I've seen in a blog in a long time. :)

  40. foo says:

    Space is mind bogglingly huge. Webspace, not so much

  41. Someone Who Doesn't Miss XpClient or Windows XP says:

    @Voo: You *miss* xpclient? You miss his whining about how XP was his invention, how copy dialog in 8 is abysmal, how the world is going to hell? If you don't be careful what you wish for, you may be punished by your wish being granted. (Everyone is going to be punished for your bad wish.)

    Actually, Fleet Command is not bad at all. Comments that I remember from him is something about involvement of ASLR, one about Ray's dreams having a meaning, something about high-level programming language being immune to mistakes that BAT files do, one that said Microsoft had a language research lab in China, one that said a blog post needed subheadings (for which Ray tore him a new one), one that said Wikipedia didn't make a mistake everyone had assumed it had and this one. He is quite harmless. *ANYONE* is quite harmless in comparison to xpclient.

    [xpclient likes to put words in my mouth. -Raymond]
  42. voo says:

    @Someone.. I always found it entertaining after reading the blogpost, but before going to the comments to speculate how xpclient could turn a seemingly completely unrelated post into something about XP, might just be me.

Comments are closed.

Skip to main content