Slashdot Mirror


How Fast is Your Turnaround Time?

petrus.burdigala writes "I work for a mid-sized commercial software company (~20 Mloc) and we are frequently challenged by our supervisors to get fixes around the clock. Overall, we manage to get a 'bullet-proof' patch in about 4-5 weeks (from coding->QA->Build/Packaging->shipment), which I consider not so bad. But the other day, we got an urgent request from our support team to come up with a decent fix in 48 hours. I think they're a tiny bit unrealistic. So I wanted to get feedback from my peers: are we doing that bad? It takes months for other software vendors to issue zero-day exploit fixes, are our customers being unreasonable?"

19 of 418 comments (clear)

  1. Definition by ShawnCplus · · Score: 5, Funny

    aren't our customers being unreasonable
    It may just be me but I think that's why they are called "customers"
    --
    Excuse me while I gather the virgin sacrifice and assemble the pentagram required to solve your problem
  2. Not Too High! by Hanging+By+A+Thread · · Score: 5, Funny

    How much of that 48 hour deadline did you waste reading /.

    Get back to work!

    1. Re:Not Too High! by Fred_A · · Score: 5, Funny

      I don't know about you but my turnover time can be pretty fast especially if customers call me in the middle of the night. I'll even put my pillow on my head for free.

      --

      May contain traces of nut.
      Made from the freshest electrons.
  3. how long is a piece of string by LiquidCoooled · · Score: 5, Insightful

    It depends upon the nature of the problem and the competency of the developers.
    If you know enough of the code tree you can tell when first reproducing and examining the failure whether it is a one off mistake or a larger procedural fault.

    Single instance stupid errors (doh! moments) can be rectified and put through testing fairly quickly, however if your initial examination uncovered a larger problem then obviously the process will take longer (if at all - consider workarounds).

    If the original dev/test team has been replaced over time this becomes a more difficult issue and every bug must go through complete verification simply because the extent or ramifications of the code modification will not be known.

    In some instances we have had fixes out of the door the same day an issue was noticed, in others months go by before a final fix is put in place.

    --
    liqbase :: faster than paper
  4. We don't do "box" software by netsavior · · Score: 5, Interesting

    I work for a bank so we don't do box software, but our patches have to meet FTC standards and Federal bank standards.

    It is uncommon, but not unheard of to have an 8 hour fix. In cases of customer data vulnerability, legislation has been made such that if we are aware of a problem, we have an automatic injunction against us continuing to do business unless the problem is resolved. So when we have a security flaw, our bank stops working untill it is fixed. So yeah 48 hours would have people fired for sure.

    Compliance/security are the only two things that can spark a release with less than 72 hours notice though.

  5. Can't compare by Sloppy · · Score: 5, Insightful

    It depends on what you're maintaining and how complicated it is. I've gotten fixes out in 2 or 3 minutes. That doesn't mean I'm fast and you're slow, though. "How fast is your turnaround?" is like "how long does it take to write a computer program?" It's hopelessly vague.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  6. Parent is right. by iknownuttin · · Score: 5, Insightful
    It may just be me but I think that's why they are called "customers"

    Sometimes, customers are unreasonable and if they are, they should be treated with respect and the problem explained to them. Yes, they may be incredulous, but if you hold your ground (if they're being unreasonable), treat them with respect, they will come around.

    The fact that the parent was moderated down just shows me that the arrogance, contempt, and stupidity in corporate America is alive and well - especially in IT.

    --
    I prefer Flambe as apposed flamebait.
    1. Re:Parent is right. by jomama717 · · Score: 5, Informative

      The most valuable skill I learned during my short time as a field consultant was how to "manage expectations" (pardon the bullshit bingo term). It's not the customer that is being unreasonable, it is that they have somehow adopted unreasonable expectations of what you can provide them. In other words, it's all your company's fault.

      If a customer buys a support contract that explicitly states that 1 week is a reasonable turnaround time for an issue you'll be amazed to find out how pleased the customer is when you fix a problem in 72 hours. If some asshole salesman tells them that they can expect solutions to any issue in 2 hours, well, get ready to deal with an "unreasonable customer".

      I unreasonably expect this post to be modded +5 insightful.

      --
      while [ 1 ]; do echo -n -e "\xe2\x95\xb$((($RANDOM&1)+1))"; done
    2. Re:Parent is right. by TheThiefMaster · · Score: 5, Funny

      I unreasonably expect this post to be modded +5 insightful. Which is of course why you got +5 Informative.
  7. How much time do you spend on TPS reports? by Joe+The+Dragon · · Score: 5, Funny

    How much time do you spend on TPS reports?

    The last time I did one I forgot the cover page and my 7 bosses all bugged me about it.

  8. Depends on the team and the bug. by seebs · · Score: 5, Interesting

    At BSDi, the initial patch (which did have flaws, but it fixed the problem) for the f00f bug was same-day, I believe; might have been next-day, depending on where you're counting from. (Contrary to popular belief, this didn't violate any NDAs.) Now, that was an emergency patch -- it took a while to come up with a patch that fixed the bug without noticable ill side-effects.

    We had a better patch later, but the initial emergency patch was VERY fast.

    On the other hand, if the initial bug report is "Sometimes the program hangs, no, I don't know when. Maybe every week or two." -- well, that's gonna be hard. Exploits generally have the advantage that an exploit is by nature at least somewhat reproducible, and the hardest part is often getting a reproducer. I've had it take six hours to develop a usable reproducer, and three minutes to develop a patch.

    Release time depends hugely on process and procedure. IMHO, an ideal procedure would have some kind of way to get a Temporary Patch out into the field ASAP when there's an exploit.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  9. It depends... by gillbates · · Score: 5, Insightful

    48 hours is tad bit tight. However, I've turned things around in a similar amount of time.

    But, the old adage is true: you get what you pay for:

    • Granted, 48 hours is tight, but possible if you know the root cause, *and* the customer is willing to forego the usual QA process before delivery. It doesn't mean that you don't do QA, but rather, that you do it later and patch the patch, if necessary. In most corporations, this means that if the customer doesn't complain, QA doesn't get done for these "extra-special" releases.
    • Four to five weeks for 20Mloc is probably about average. As a general rule, a good team will average about 1 week per department the fix has to go through: field team -> engineering (fix) -> department review -> QA review -> ship. However, in some organizations, particularly the smaller ones, defects can get turned around in 1 to 2 weeks, especially if the customer works directly with the engineer/developer, and the developer is authorized to make releases to the customer. Be aware that your customers may have dealt with such organizations in the past.
    • 20Mloc is not really that big, provided that the project and code was well-organized from the beginning and the original developers are still on staff. But, if this is not the case, or you have a large developer base, where no one is actually an expert on the systems, or subsystems, you can add about a 50% overhead to your turnaround time. If the original developers are no longer there, add 100%.
    • If you don't know the root cause of the problem, you can't promise anything, and you need to inform the customer of this - you simply can't make any guarantees because you don't know the scope of the problem. Once the root cause has been identified, a 48 hour deadline is still tight, but is long enough to allow the key developer to build and do some rudimentary testing of the fix. Should the customer choose to accept it at this point (and you *must* make the point that it is their choice), they must be willing to forego the normal QA process, and should sign a statement of understanding to that effect.

    When faced with unreasonable deadlines in the past, I usually voice my opinion once, and just do the best I can. Your higher-ups are probably already quite stressed at this point, and adding stress to the situation doesn't do anything for your career or theirs. Rather, if you make the point that you're doing the impossible, you might just have a little bit more bargaining power when it comes time for raises.

    But on the flip side of the coin, if management doesn't learn, and you find yourself constantly asked to do the impossible, you might want to consider employment elsewhere...

    --
    The society for a thought-free internet welcomes you.
  10. Re:Web based by Gregb05 · · Score: 5, Insightful

    *15 minutes.
    It's bad enough that they directly state they're not really testing patches with a 15 minute turnaround, but the fact that they're making mistakes that can be fixed in 15 minutes speaks loudly as well.

    --
    --
  11. The Real Meaning of Bad by soloport · · Score: 5, Funny

    Our running joke used to be:
    Marketing: We need it real bad!
    Engineering: How bad do you need it?
    Marketing: <puzzled look>
    Engineering: Careful what you wish for... OK, Ops. Ship it!

    1. Re:The Real Meaning of Bad by clsours · · Score: 5, Informative

      If they ask for something within 48 hours and know what that means, then they deserve what they get.
      If they ask for something within 48 hours and expect something usable, it is up to you to educate them.

      --
      Seagoon: Shut up Eccles!

      Eccles: Shut up Eccles!
  12. Turnaround time by fyngyrz · · Score: 5, Interesting

    We generally get fixes for real bugs out within 24 hours, unless the problem is traceable to the OS, the only factor really out of our immediate control. Even then, we do a quick evaluation to see if we can replace the OS function. Over the years, we've replaced quite a few of them, but rarely within 24 hours.

    But we know our code backwards and forwards; I wrote the majority of the current codebase myself, and I can generally get to within a few lines of the problem just by a bug's description... the rest is a matter of minutes and testing. This app is very large - comparable to Photoshop in terms of feature count - but it is also very stable after 15 years of whack-a-bug and a continuous drive to make the internal structure as orderly and regular as possible.

    It is my observation that the more programmers you have involved, the slower your turnaround time (for everything from bugs to features) will be. Likewise the larger the entity, the slower it will generally move. Almost every layer of management and corporate compartmenting disease will contribute to slowing down the process.

    For the apps that I use that I have had the experience of reporting bugs, it is my general experience that bugs often are never fixed at all. One browser, "Omniweb", truly my favorite in terms of features, has bugs that make it essentially unusable for me. Crashing, slowing, lockups and so on - really serious problems. I've reported them, they never were fixed, in fact the software was never updated. Eventually, I just went back to firefox. Then as Leopard came out, after years of doing nothing, they released a "Leopard version" in which, perhaps, I might find those bugfixes if I looked... but as I say, I have moved on and no longer have any enthusiasm for the product. Slow bug repair (or ignoring them) is synonymous with telling your customers you really don't care what kind of experience they have with your software.

    Apple, with all their emphasis on customer experience, does this too. They've had bugs in hand for very long periods where they simply don't address them. If your bug isn't something they think will affect a lot of people, it isn't likely to be fixed. I've not yet purchased Leopard, preferring not to catch early-adopter syndrome bugs myself, but when I do, I would not be the least bit surprised to find you still can't refresh a remote share that's been changed by the remote OS; that the wifi differs hugely in compatibility between PPC and Intel hardware; that mail still hoses the sent mail box based on the return address; that shell fonts are poorly rendered; that shell ANSI compatibility is still broken; that the OS still provides locked-up beachballs at the most inconvenient moments; that the OS still puts the wrong things away on the HD when RAM gets tight, and consequently becomes massively unresponsive... Basically, Apple doesn't have good control of their OS, are unable to respond to bugs in a timely fashion, so much so that they triage out bugs based on report counts, and the common patter is that Apple provides a great customer experience. So while my own experience is that bug fixes are important and can be quick in turnaround, here's Apple showing us that you can make a complete thrash out of the entire bugfix issue and still come out smelling like roses. So is a few weeks too long? Probably not, if you have a good marketing department. :-)

    --
    I've fallen off your lawn, and I can't get up.
  13. Re:Small Startup Experience... by Anonymous Coward · · Score: 5, Funny

    I work in a small company doing support (amongst other things). I've been there longer than most of the developers due to high staff turn over.

    A common scenerio for me goes like this:

    1 - client reports a problem.
    2 - spend 2-3 hours on phone with client identifying what's really going on.
    3 - spend an hour or so in SQL Profiler/Delphi debugger to find the root cause.
    4 - half an hour documenting what the problem is, causes & how to replicate in order to hand it off to a developer in an off-shore office

    ... wait a week or so for the client to get really cranky ...

    4 - have my supervisor ask me Monday morning if I can look at it because the client is cranky & the developer is sick/has quit/has family crisis/there is a public holiday in that country.
    5 - fix the damn thing which only takes a few hours to code & test & delivery after all the hard work was done in step 3
    6 - wonder why the hell I am still with this company

  14. Re:That works both ways. by Laglorden · · Score: 5, Interesting

    The problem is when the customer is being unreasonable, the "support" (or more likely sales) just agrees to everything they say and "sure, we'll fix it" because they don't a) know any better b) they wan't to sell, not take the conflict c) they're stupid and just passes this backward "fix this, NOW!"

    Then you're going to have a bigger problem! It's the same thing in any kind of relationship, just bowing and scraping and always saying "it's my fault" is going to cause bigger problems in the future than just saying "nope, we're not gonna fix that. or "sure, well fix it, but not now, you'll get your patch when it's tested properly, in the meantime, do this instead"

  15. It's about risk by PIPBoy3000 · · Score: 5, Insightful

    I work for a large healthcare organization and typically have very fast turn-around times (bugs often get squished within an hour). For clinical applications and other core applications, though, we're much more methodical and careful.

    I often explain to the user that I can push changes out immediately, but it introduces certain risks. I then detail the risks they may face, and that if they say to go ahead anyway, at least they'll be aware of what might happen.