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?"

84 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.
    2. Re:Not Too High! by dintech · · Score: 3, Funny

      Anyway, why are you asking Slashdot? Should you maybe be writing code right now?

  3. Small Startup Experience... by Black-Man · · Score: 4, Insightful

    You have to serve the client who is paying the bills - and we had a very vocal one (Nik*). We had a running joke about the release d'jour. But it wasn't a joke. We literally would push a new build to them every day which contained minor bug fixes. It was maddening! But no one had the balls to stand up to the 800lb gorilla, so the madness continued. As a side-note, they were acting as a beta tester and anyone in the software business knows what that can mean.

    1. 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

    2. Re:Small Startup Experience... by jdjbuffalo · · Score: 3, Insightful

      You can get a better job out of that most of the time.

      Sit down and detail what you REALLY DO for the company and how valuable you are. Explain that you would like to get a new job title and pay raise commiserate with your responsibilities. If they don't pay or you think they may fire you then start looking for a new job.

      Life's too short to not get paid what you're worth. Plus you can retire earlier. :)

      --
      We have four boxes with which to defend our freedom: the soap box, the ballot box, the jury box, and the cartridge box.
    3. Re:Small Startup Experience... by PitaBred · · Score: 4, Insightful

      Consider that week or so of waiting as a chance to learn a bit about business politics, your company's political hierarchy and start getting things changed. If they don't change, leave. You're the only reason they're staying afloat, if everything technical eventually falls back to you.

  4. Hmmm. by Stanistani · · Score: 4, Funny

    What was that exploit again?

  5. 1 to 2 weeks by duplicate-nickname · · Score: 4, Informative

    For high priority bug fixes, it usually takes 1 to 2 weeks to get a patch out once we determine that a patch is needed.

    --

    ÕÕ

  6. 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
    1. Re:how long is a piece of string by sigmabody · · Score: 2, Interesting

      Background: small ISV, making software for corporations.

      In my experience, the turnaround time is mainly driven by the urgency of the customers and the inherent delays in the company. As a dev, security fixes rarely take more than a few hours to find and fix. The time between then and release is entirely dependent on the company's methods and procedures, the efficiency with which you can slip into the code tree and deploy hotfixes (as opposed to entirely new builds), and the urgency and importance of the customer (which drives the willingness of the company to ship something before all the normal methods and procedures have run their course).

      For example, if you (the customer) are important enough to talk to dev directly, and are happy to use a beta build in whatever state the product is in as long as it fixes the specific bug, and you're important enough for management to not care about QA and other impediments, chances are you can have a fix in a day. If one of those is not true, you'll wait for the next regular update, whenever that may be (days, months, etc.).

  7. four or five WEEKS? by tannhaus · · Score: 3, Interesting

    I can understand a week, but honestly...if you're leaving your customers vulnerable for over a month, they might start looking elsewhere

    Exploits should be a high concern for any company

    1. Re:four or five WEEKS? by Tozog · · Score: 4, Funny

      In that case, 5 weeks is not enough time for a marketing team to decide on a new name.

    2. Re:four or five WEEKS? by kyle6477 · · Score: 2, Insightful

      This is mid-sized company here. Think about big time companies like Apple, Adobe, and especially Microsoft...companies who may sometimes take MONTHS to get fixes out the door!!! For companies like these, the community produces a fix before the company does... Moral is: lay off the guy a bit. I agree, the bug should be fixed ASAP, but instead of pointing fingers...think about the bigger picture and how even billion-dollar companies get lazy and complacent with software patching.

    3. Re:four or five WEEKS? by pclminion · · Score: 4, Insightful

      Exploits should be a high concern for any company

      Which is exactly why exploit fixes must go through STANDARD QUALITY CONTROL. What the fuck good have you done if by fixing one exploit you introduce ten bugs and two new exploits? I don't care how urgently the customer needs it. I'm not going to give them something I haven't tested. That's insane. If they don't like it they can shop elsewhere.

  8. 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.

    1. Re:We don't do "box" software by Stochastism · · Score: 2, Funny

      <quote>An apostrophe means "look out, here comes an 's'!"</quote>

      No it doesn't.
                 ^

  9. Lack of information by Wellington+Grey · · Score: 4, Insightful

    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.

    Well, we really can't answer that question with knowing how big the problem is. If it's an embarrassing typo on a dialog box, then 48 hours is reasonable. If it's a windows vista security patch, then 48 days would be unrealistic.

    -Grey

    1. Re:Lack of information by techno-vampire · · Score: 4, Funny
      If it's a windows vista security patch, then 48 days would be unrealistic.


      It doesn't take 48 days to burn a Linux CD and send it to the client.

      --
      Good, inexpensive web hosting
  10. 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.
    1. Re:Can't compare by Shagg · · Score: 4, Insightful

      Exactly... "How long is a piece of string"?

      In addition to all of the other comments about the scope of the problem, number of resources, etc, you also have to take into consideration what you're changing. Obviously there are huge differences between patching the avionics system on an airplane vs a banner ad on a website. I've given estimates anywhere from hours to months before. There's no such thing as "X is the right amount of time for a patch" without a lot more details.

      One thing you can always do is try and work with the customer to make them aware of the issues. You can tell them that it's possible to get a patch out to them faster, but you will be skipping a lot of the QA in order to do so (depending on what flexibility you have with the standard company process). The risk of it failing would be theirs. If they're OK with that, then you might be able to expedite things. It all depends on what you're patching and how important it is to them.

      --
      Unix is user friendly, it's just selective about who its friends are.
    2. Re:Can't compare by Applekid · · Score: 2, Funny

      "How long is a piece of string"? Why, twice the distance from its midpoint to an end. Pfft. Easy. ;)
      --
      More Twoson than Cupertino
  11. Management strategy by gurps_npc · · Score: 4, Interesting
    There is a management strategy that basically says aim for the stars.

    Yeah, your turn around time seems good and yes, the customer's request is beyond industry norm.

    That might mean one of three things:

    One: Customer is being foolishly optimistic.

    Two: The entire industry is bad about turn around time, and can, if pushed improve it to 48 hours.

    Three: Customer needs it really quick and is hoping to get it quicker by asking. They know 48 hours is well beyond the norm, but are hoping you can do it anyway, because the more time it is unpatched the more they are screwed. They know that if you don't ask, you can't get, so they are at least 'asking'.

    Me, I think it is a combination of all three. Customer is being a bit optimistic, the industry is bad about turn around time, and also the customer knows it is a bit optimistic but is making the request anyway in hope you will provide amazingly good service.

    --
    excitingthingstodo.blogspot.com
  12. 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 einhverfr · · Score: 4, Insightful

      For security issues we usually have a 48-hr to 1-month turn around time. I think a turnaround time for urgent issues of more than a month is excessive. Minor issues get fixed based on a number of factors and the turnaround time varies from 24 hours to 3 months.

      In case you are wondering why the floor on the security issue fixes is a little longer, we usually put the initial problem and the fix through extra review so we ensure we truly understand the problem and that the fix solves all likely related issues. Then we have to decide whether to do a patch or a maintenance release. This process adds additional time.

      Having said this, it is impossible to know from the description whether the customer is being reasonable or not. I have had issues where I had to come up with a fix within 24 hours and other cases where the demand was unreasonable. Hope this helps.

      1) What is the business impact of the bug?
      2) What is the data integrity impact of the bug?

      --

      LedgerSMB: Open source Accounting/ERP
    3. Re:Parent is right. by vertinox · · Score: 4, Interesting

      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 wouldn't say its not contempt but you get what you pay for. I once worked for a small software company who would push out emergency patches (even if the issue was minor) within 24 hours if you had the $10,000 package including paid support. No questions asked. Heck, we'll fly one of our reps out there to install the patch himself.

      If you had a single license and no paid support... Well... We might have a general update next month with a public patch. We might not. Have a nice day.

      Of course when you sell software as a service then thats how it works.

      As a side note, one customers feature request created a completely separate build just for that customer which was annoying to the programmers but since they paid good money for it, they got what they asked for. Although... I remember the programmers eventually including the features for everyone else as a optional package just to avoid that so in the end even the single client customers benefited.
      --
      "I am the king of the Romans, and am superior to rules of grammar!"
      -Sigismund, Holy Roman Emperor (1368-1437)
    4. 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.
    5. Re:Parent is right. by ninjagin · · Score: 2, Insightful
      You make a great point.

      I'd add that if you are really good at turning around fixes in 72 hours, the customer will come to expect that. It will get to the point that they'll growl and pester when you take 96 hours on a fix.

      Managing the expectations generated by your history of success is much harder to do, regardless of what the SLA says.

      --
      .. pa-ra-bo-la, pa-ra-bo-la, 2 pi R, 2 pi R, where's your latus rectum, where's your latus rectum, 2 pi R
    6. Re:Parent is right. by pla · · Score: 4, Insightful

      Sometimes, customers are unreasonable

      "Sometimes"? Heh... Good one.


      and if they are,

      "if"? Man, where do you come up with this stuff?


      they should be treated with respect

      Ahahahaahahhaaaa... Heh...


      and the problem explained to them.

      HAHAH[choke]
      [gasp]
      [snort]

      Ahem... Please, stop, I can't take anymore.



      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.

      Some people deserve contempt and our scorn.

      They act as though we can save the world before dinner when they want something, and call us miserable worthless slacker bastards the next. They insist we fix their problem in 48 hours when they can't even describe the problem accurately enough to reproduce. They need us and beg us for help and resent every second of it. They treat us like disposeable/interchangeable cogs, then bemoan that we each have unique and difficult-to-replace skillsets.

      You want to know why geeks look at most people with utter contempt? Because they spit on us first.

    7. Re:Parent is right. by einhverfr · · Score: 3, Insightful

      Now, there *are* unreasonable customers out there, but I agree with you. Most of the time it is an issue of expectations.

      --

      LedgerSMB: Open source Accounting/ERP
    8. Re:Parent is right. by chathan · · Score: 3, Interesting
      We used to have 2 weeks turn around time for critical fixes. So it is always better to inform the customer that 2 weeks is the time they can expect the fix even if the bug is way above critical status. But there were issues which make few features unusable for the customers and we know that they are heavily dependent on these features.We try to fix it in a week or 3 days time.

      The important thing is your customer facing person(for that matter your manager) should be aware that even if he or she thinks the bug is trivial and can be fixed in an hour always stick to the 2 weeks target. You can use the same bug as the reason why you don't want to rush the fix early. Tell the customer that you are not happy with the fact that your development process introduced this bug and don't want to repeat the same in the bug fix also and promise to deliver a high quality fix in two weeks time.

      In my experience most of the customers are happy to know that the problem will not be repeated than the fix for current problem because they might already have found a workaround to move their business forward. Obviously they cannot stop all the business and wait for your fix.

      By the way I was working in a company offering SaS and the customers daily business was dependent on the product. The customers used to have high expectation on the turn around time.

    9. Re:Parent is right. by NekoXP · · Score: 2, Insightful

      Some people deserve contempt and our scorn.

      They act as though we can save the world before dinner when they want something, and call us miserable worthless slacker bastards the next. They insist we fix their problem in 48 hours when they can't even describe the problem accurately enough to reproduce. They need us and beg us for help and resent every second of it. They treat us like disposeable/interchangeable cogs, then bemoan that we each have unique and difficult-to-replace skillsets.

      You want to know why geeks look at most people with utter contempt? Because they spit on us first.


      No, it's because you act like a self-important little shite who thinks they should be bowing on their knees and sucking your dick for every line of code you produced.

      Which is just wrong. You need to respect your customers, because if they went away, you'd be out of a job, it's that simple. It's not their job to reproduce and diagnose problems, it's YOURS. They need you to help and beg you for it every second BECAUSE THEY ARE PAYING FOR THAT PRIVILEGE.
    10. Re:Parent is right. by pla · · Score: 4, Insightful

      You need to respect your customers, because if they went away, you'd be out of a job, it's that simple.

      Technically true, but irrelevant. If cows went away, we couldn't have any more hamburgers. That doesn't mean we'd all starve to death, because we can eat other things. But you want know the funny part here?

      We could do most of their jobs (perhaps with a bit of training). Not all of us, and not all of their jobs, but in general. They cannot, ever, learn our jobs. One of our surprisingly few actual skills, "problem domain reduction" (kudos to 19thNervousBreakdown for the term), most people simply can't learn, regardless of will or even intelligence. On the flip side of that, however, it means we can pretty much accomplish anything we try, from coding to plumbing to animal husbandry to stonemasonry.

      Think, really think, about how many geeks you know who, during the tech crash half a decade ago, did just fine on a variety of completely unrelated-to-IT jobs. Personally, I did a stint in construction/carpentry, and produced some damned nice work (if I do say so myself) - with ZERO training beyond casual observation of standard proceedures. I don't say that to brag - Hell, I don't really consider it much to brag about - Just putting myself forward as an example. We can do their jobs. They can't do ours.


      No, it's because you act like a self-important little shite who thinks they should be bowing on their knees and sucking your dick for every line of code you produced.

      Not really, because I code for me. They just pay me for it. I'd do it in my spare time if I didn't do it as part of my employment. I stay up-to-date on the world of IT because I find it fascinating, not because someone pays me to freshen my skill-set or because the terms of my state-permission-to-practice requires some pathetically low number of hours of study per year.

      Anyway, all of the above said, I do try my best to remain humble and polite to most people, geek or not - And for the most part, I succeed. I very much doubt most people who know me would call me a "self-important little shite". But still, the constant jabs come anyway - From "complimenting" me on my skills the same way you would compliment medusa on her hairstyle, to barely-tempered insults only blunted by the fact that we've usurped the language no differently than blacks using the word "nigga". "Dude, you're such a geek!" "Yeah, thanks". People look at us as freaks for what we can do, and you tell us to respect them?

  13. Unrealistic by gweihir · · Score: 4, Insightful

    With a little simplification, you have four parameters: Difficulty, quality, speed and available resources. Whenever you fix three, the fourth follows (with some unvertainity). It is well known, that there is a limit on how much you can improve the speed with more resources. So there is an upper limit on speed already. The second problem that difficulty is unknown when starting such a task. There is no fix for that.

    So if these people fix speed and available resources, and difficulty is fixed by the task, quality is determined by these factors. Period. There is no arguing with hard, real limits. If they do also want to specify the result quality, then they have to leave speed open. Again, there is no way around that limitation. In fact they should be happy if the team manages the required quality at all in reasonable time. Not all teams do.

    Maybe thisn will be an argumentation that is inderstandable for people with a business background. Engineers should already know this.

    Software engineering is engineering. Engineering tasks in general have minimal time requirements. Look at structural engineering: Nobody would try to design and build a full-custom bridge in a week. Instead it takes up to a decade, depending on difficulty. And you can generally not speed things up by increasing the team size.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  14. My jaded perspective... by idontgno · · Score: 4, Informative

    Overall, we manage to get a 'bullet-proof' patch in about 4-5 weeks (from coding->QA->Build/Packaging->shipment)

    Not unreasonable, depending on the size of your release. (How many modules and how many LOC you're changing, the number of change requests or bug reports in the build).

    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.

    I think they're smoking crack.

    So I wanted to get feedback from my peers: are we doing that bad?

    With your regular release schedule, I don't think so.

    are our customers being unreasonable?

    Yes. That's what they do. If they want a crash development program to get this "patch" out the door that fast, they seriously risk software which does nothing but crash. Really, if they want it that bad, they run the risk of getting it that bad.

    You have to ask yourself and your "support team" (sounds more like marketing to me): "Do we wish to ruin a perfectly good reputation for quality and reliability in one hurry-up bashfest followed by weeks of agonizing on-line debugging?" Really, advocate any kind of work-around and risk mitigation response before being pushed into an overly-hasty release that will linger on your reputation like a dead skunk.

    --
    Welcome to the Panopticon. Used to be a prison, now it's your home.
  15. Difference between Patch and new version by techpawn · · Score: 4, Insightful

    A patch (IMHO) is a bug fit to existing code. Given the resources we should be able to get a PATCH out in a week. However, if you need a new version of the software to address the issue. Then we're talking longer development/testing/QA times if which case 4-5 weeks would not be unreasonable. Bugs should be fixed as soon as they are spotted. If their is need for a whole rewrite then you may want to talk to your staff

    --
    Ask not what you can do for your country. Ask what your country did to you
  16. Pick 2 of 3 by CambodiaSam · · Score: 3, Insightful

    I know I'm going to end up baiting some developers, but I work for a specialized ASP and see a ton of third party software from a perspective few get...

    Normally, the smaller the company the more agile. No surprise. They also get patches out faster too. Also no surprise.

    When we look at vendors of equal size, the ones who are really quick at sending out patches are in that situation because their software is more buggy, and they have a *lot* of practice. It never fails.

    In response to your question, I would suggest that you should look more at the frequency of patches and less at the duration. Sure, it might not be as fast as your support group wants, but if you start reflexivly sending out patches every time someone yells, then your overall product will suffer since you can't possibly do the proper QA to ensure THAT patch you just whipped up doesn't break something else.

    That brings me to the age old choice:

    Pick 2 of the following:
    Speed
    Quality
    Cost

  17. 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.

    1. Re:How much time do you spend on TPS reports? by jonadab · · Score: 2, Funny

      > How much time do you spend on TPS reports?

      Didn't you get the memo? TPS reports are out. The total quality studies showed that they didn't improve overall synergy, so the management had a think-outside-the-box session and did away with them. Now instead we're filling out TPC cards for every fifteen minutes, documenting what we did with our time. There's a peer review program for the TPC cards as well, so we can cross-evaluate our coworkers' productivity.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  18. Extreme Programming by obduk · · Score: 2, Interesting

    Ok, the name might suck, but the company I work at follows the Extreme Programming practice, a kind of agile programming. I have only worked there a few months, and had never herd of XP before, but am now converted. We work in pairs, which instantly adds a whole testing level. Deployments of code are done once every week, but sometimes more in an emergency. We write code test first, then run a build on our machines, then we upload it to a test environment where automatic tests are run. Finally on passing that, it moves to a stage environment where humans test the code, when they are happy a version number is noted, and that is uploaded to live. This means it can take a day for some code to be written, tested and deployed if required. It also means there is continual development, different departments can work on different versions, and then there is a weekly deployment of the latest stable code. It is a very interesting practice, and seems strange at first, but I would highly recommend it for certain types of companies. The company I work for took a few years to convert, and it was slow at first, but now it is an expert and even helps train other companies. It also builds its business upon being one of the quickest responders for code in our region.

  19. 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/
  20. 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.
    1. Re:It depends... by Weasel+Boy · · Score: 2, Informative

      I work as a tech support engineer, and if I could mod the parent to +5 (Insightful), I would.

      Most of my cases are resolved by explaining to the customer things that are unclear in the documentation, so it's unusual to decide within 48 hours that the customer is reporting a real bug. Once we agree that they are, then I can usually reproduce the behavior in a day. Once reproduced, then we do not consider 2 to 5 days for a fix to be delivered to be out of line.

      Questions I can answer same day. Fixing bugs takes time.

  21. What is the weight of water? by mcmonkey · · Score: 2, Insightful

    You really have to supply some more detail to get any useful answer. And what is ~20 Mloc? About 20 million locations?

    What kind of software? What classifies an urgent request? Do you make games, and an urgent request means your bug just made front page /.? Do you make internet-facing apps, and an urgent request means your customers just formed a spamming bot-net? Are in the medical/health care field, and an urgent request means folks might die?

    I think a better question is, how do you classify bugs? How do you make that trade-off between fixing a bug ASAP and taking the time to make sure the bug fix is done right?

    Who is involved in the decision process? Is it just the technical & regulatory folks? Do you pull in business folks to help gage customer impact? Do you pull in sales and support to see if they can push a work around before the final fix is ready?

    Those are all better questions than, "How fast do you do this task of unspecified scope."

  22. ditto, but more Re:how long is a piece of string by arete · · Score: 2, Insightful

    I love the parent's subject-line analogy.

    I'd add, it depends on product, the complexity of the codebase, the extensibility, modularity, readability, and extensibility of the codebase (eg, if it's highly modular it's easier to test a fix that's limited to the module/plugin)

    I'd suggest that weeks sounds too long for an in the wild update without a security patch - or published workaround limiting your exposure. (eg, "use this method to restrict the IPs that can access it to trusted ones.") But that isn't me saying you're developing too slow, it's me saying that if it's going to take you that long you need to either find alternate solutions or create a architecture that allows you to quickly make access-limiting patches and layered security.

    Actually, I'd make that more broad - if they want faster response to patches, what they need to do is to invest a lot on a highly modular, pluggable architecture so you can MAKE rapid changes. It's really a question of how much investment they want to make.

    We routinely do same day fixes to certain kinds of things... but certainly the complex things take longer. And I think we're pretty unusual in that regard.

    --
    Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
  23. 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.

    --
    --
  24. 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!
  25. Two prong approach by khendron · · Score: 3, Informative

    I've had situations with customers who require a fix as soon as possible, because if the system is down they are losing money. When this situation occurs, we have two goals in mind:

    (1) Get the customer up and running again as fast as possible. This is as often as not some sort of workaround that is not pretty, nor is it permanent, but it works. The workaround does get thorough testing (impossible within the time frame) but the customer is aware of this and willing to accept the risks.

    (2) Get the customer a proper, version controlled, patch that they can install to fix the problem permanently. This can take weeks, most of that time being testing. If the customer is insistent we will ship them the proper patch before it is fully tested (again, making them aware of the risks) and continue testing so that we can send the customer some warm and fuzzy news later on (or, if we find a problem, another patch).

    --
    Life is like a web application. Sometime you need cookies just to get by.
  26. Make a policy. Stick by it. Make it reasonable. by postbigbang · · Score: 2, Informative

    Show stoppers get immediate attention; whatever it takes. People are losing money because they're DOWN. Fix it now.

    Criticals get next attention when show stoppers are out. 48 hours, depending on interdependencies and QA needed to make it work; it's not part of an official stable code tree until later.

    Minors are in the next stable branch release; every whatever you can handle.

    Nigglies are changed when the stable branch releases.

    Don't deviate from your policy, and make sure the sales people KNOW AND UNDERSTAND what this indicates and implies. No exceptions; see above.

    --
    ---- Teach Peace. It's Cheaper Than War.
  27. None by EmbeddedJanitor · · Score: 4, Funny

    I made them believe it was a hardware problem!

    --
    Engineering is the art of compromise.
  28. That works both ways. by khasim · · Score: 4, Insightful

    Maybe the customer is being unreasonable.

    Maybe the developer is being unreasonable.

    It isn't possible to determine which from either person's viewpoint. You will ALWAYS think that you're right and that the other person is unreasonable.

    Which is why you need criteria for bug escalation. Generating an incorrect response on 1 type of transaction for 1 specific scenario that may pop up once a year is far less important than a bug that corrupts the entire database.

    And if your product is considered "mission critical", I would expect a data corruption bug to be fixed within 24 hours. Even if it is nothing more than rolling back the recent patches and re-issuing the previous version.

    1. 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"

    2. Re:That works both ways. by arth1 · · Score: 3, Insightful

      Which is why you need criteria for bug escalation. Generating an incorrect response on 1 type of transaction for 1 specific scenario that may pop up once a year is far less important than a bug that corrupts the entire database.

      Bullshit. A corrupted database of inventory of toilet paper can be far less dangerous than the one type of transaction for one specific scenario that may pop up once a year when that one transaction decides the rod position in a nuclear reactor.
      In other words, you have to know the importance to the customer.

      And, yes, weeks can be way too slow, depending on the nature of the bug. If it means a large customer's ordering system is down until the patch is ready, not fixing it for weeks is likely to lose you the customer and any goodwill with a lot of other companies.

      No, you don't need criteria -- they will get in the way of common sense every time.
      What you need is rapid impact analysis, and teams that are able to tackle different tempos, based on what others better informed tell them.
    3. Re:That works both ways. by Anonymous Coward · · Score: 4, Insightful

      The battle between sales and support has raged for years. Forget sunni v. shite, red v. blue, Kobe v. Shaq. Sales v. support is the ultimate battle. Sales tells the customer what they want to hear. Support tells the customer the truth. I've worked both sides of the aisle. As a sales rep I try to be honest about what I'm selling. The software I sell does not support P2P. We don't support it. Need a server. I let the customer know. Some of the other reps kind of gloss over it really fast just to make the sale. Then the customer calls back to support upset. I'd rather avoid that by being honest up front.

      Now in this case the customer may be being unreasonable with the 48 hrs demand. But it all depends on the issue. There have been times when my company has been able to get out a quick fix within 24 hrs and other times when it has taken 3 weeks. It all depends on what the issue is, and what the solution is. There has to be some kind of middle ground that could have been reached.

    4. Re:That works both ways. by Fulcrum+of+Evil · · Score: 4, Funny

      You sell toilet paper and control reactors with the same machine?

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    5. Re:That works both ways. by mfnickster · · Score: 2, Interesting

      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"

      Except when it's defective by design - then I don't want to hear "we're not gonna fix that," because it's going to send me to a competitor.

      For example, when Microsoft said they "can't" remove IE from Windows, because it's integrated into the OS. Well, who chose to integrate it? Or when Apple says they "can't" fix the certificate bug in Safari, because of the limitations of Keychain. Who designed Safari and Keychain, guys?

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
    6. Re:That works both ways. by Tyr_7BE · · Score: 2, Informative

      Imagine when wires get crossed. You end up with one VERY confused team of nuclear engineers, and one VERY confused janitor.

    7. Re:That works both ways. by AdamWeeden · · Score: 4, Insightful

      Which reminds me of the old business adage that far too many businesses and customers forget these days. "It is only a good deal when both sides think so."

      --
      I was quoted out of context in my autobiography...
    8. Re:That works both ways. by Jesus_666 · · Score: 4, Funny

      You have no idea how the real world works.

      Sometimes I long for the easy days before I got that PhD in Nuclear Science/Tissue Engineering. Before I knew how the nuclear power/toilet paper industry really works.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    9. Re:That works both ways. by arth1 · · Score: 3, Insightful

      A criterion is something that you can pre-determine. Which is exactly what you must not do here -- a human making a rational decision based on both objective and subjective needs is what is needed. Else, your criteria are going to be either overly narrow and thus useless, or overly narrow and thus worse than useless, when an unanticipated situation occurs.

      In other words, companies need senior staff who both can and will make spot decisions, and not just management following a flowchart based on pre-determined criteria. That only works in a field where there are no surprises, and software development most certainly is not one of them.

    10. Re:That works both ways. by gstoddart · · Score: 4, Insightful

      Bullshit. A corrupted database of inventory of toilet paper can be far less dangerous than the one type of transaction for one specific scenario that may pop up once a year when that one transaction decides the rod position in a nuclear reactor.
      In other words, you have to know the importance to the customer.

      You know what? To the customer, they're all nuclear rods. They don't care about your problems, they care about theirs. And those problems are critical to them.

      You wanna know how escalations work, find out how important the customer is to the company. If you can get someone to unreasonably escalate your call because you're a big contract, you can get a lot of attention. If you're a small customer, or, if the vendor has balls, you might have to wait. Because what you're asking for isn't that big of a deal to us.

      In my experience, if you can convince a VP this is a show stopper, you can get a lot of screaming -- it's like being in the army that way. If you can't get a VP/VIP on board, you get to stand in line.

      Your priority to us is in proportion to related revenues to you. :-P That's how corporations work.

      Unfortunately, a fix can't always be done in the timeframe demanded. Sometimes, you have to push back. Sometimes, you don't get a choice. :-P

      Cheers
      --
      Lost at C:>. Found at C.
    11. Re:That works both ways. by Sanat · · Score: 2, Funny

      Mistakenly install the roll backwards just one time and you will never work again in the toilet paper/nuclear power industry. They don't forget nor forgive. They just wipe up the mess and insert the rods again.

      --
      And in the end, the love you take is equal to the love you make
    12. Re:That works both ways. by mwvdlee · · Score: 2, Insightful

      I'm guessing that toilet paper production company values it's database quite a lot.

      You're not talking about "importance to the customer" but rather "importance to society".

      Although a nuclear reactor is kinda important, there is one minor problem with reasoning this way; pretty much everything is more important than toilet paper inventory from society's point of view, so their inventory bug will never be fixed.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    13. Re:That works both ways. by meatspray · · Score: 2, Interesting

      The OP really doesn't give enough detail to give decent advice, the bug could be huge or tiny. The system could be unnecessarily complex or just gigantic.

      4-5 weeks for a maintenance patch is fine, but if this bug is stopping your client from doing their work, you should be getting single fixes out the door much faster than that. Patches need to be prioritized. Go back to your last rev, fix only the problem in question and release that small subset as a hotfix.

      IMO unless you're writing an operating system, I'd say that taking 4-5 weeks to release a hotfix would mean there's something wrong in your architecture. Perhaps the system was designed for a much smaller implementation and people have just been growing jungles in the existing framework to meet new requirements?

      The project should be broken down in to manageably small subsystems. Each subsystem should be autonomous enough to work nearly independently of the other systems. That way you should be limiting the mainstay of your regression testing to the area of the bug itself. Each subsystem should have internal check code and hooks for testing. (a debug mode) Even the best systems still have Achilles heels, but they should be kept few and designed with expertise. Any well crafted system should have limited the damage by design.

      This attention to detail in design isn't always possible, deadlines are funny like that. If companies and clients only understood that spending 2x the time up front reduces the backside time by 10x, our jobs would all be a little easier.

      Many vendors (MS included) develop the patch and allow the users who call in with the problem to install at their own risk before exhaustive testing has been completed.

      meh, off my soapbox, need to go to work myself.

    14. Re:That works both ways. by gstoddart · · Score: 2, Insightful

      You know what? You're right and absolutely wrong at the same time.

      You're right that to a customer, their problems are the biggest, and nobody else's matter. However in the grand scheme of things if you dealt with every customer as if their problem was a code red emergency, then every freakin problem becomes a code red emergency.

      Oh, you misunderstand me. I'm not an advocate that whoever can scream loud enough should get the fastest service. I'm pointing out in that in a hierarchical organization, someone else can take away the decision from you.

      I believe the people who have to fix things should be the ones to triage them, and fix them in the order they need to. Because only they know what's involved and what else they have to do with their resources.

      But, in my world, if a customer has what they consider to be a hot issue, and they're an important account or have the ear of a VP ... the VP will then come in on their behalf and change the normal rules of such things. A small issue can be escalated into a major panic as someone way too high up the food chain is meddling in what should be happening.

      I'm not in favour of servicing issues in decreasing order of loudness, I think that's stupid -- I'm saying that the reality of it is, in a lot of organizations people who outrank you will come along and change your well planned priorities.

      Don't confuse my observations of reality with endorsing the behaviour. But, I've seen typos get escalated to critical because someone gets in and meddles. Oft times, if it's a new customer, or one which is particularly prestigious, the common sense rules get thrown out the window in favour of corporate ass-kissing that happens way above my pay grade. :-P

      When you sell software to big companies, sometimes politics and optics (and the end of quarter) can trump anything else.

      Cheers
      --
      Lost at C:>. Found at C.
    15. Re:That works both ways. by JWSmythe · · Score: 2, Insightful


          I had that conversation with another executive recently.

          He dropped off his laptop with "problems". I suspected viruses, spyware, whatever. I was in the middle of other work, so I didn't even fire it up. Later that day, he asked me "How long will it take?" Being that I was on the way to a meeting at that moment, and had all kinds of urgent company tasks to do, and I hadn't inspected the system yet, the answer was "As long as it takes. I don't know." He wanted an answer like "End of business today.", which wasn't a good answer. Heck, it may have taken 5 minutes to fix, and ya, I would have it done by the end of the day.

          As it turned out, it was VERY virus and spyware infected. Literally over 100 different nasty problems to fix.

          I don't know why people think IT is easy, and can be done on demand. You don't drop off your car saying "it has a funny sound, how long until it's fixed?" It could be a tree branch stuck under the bumper, or the engine needs to be rebuild.

          It's only obvious tasks that can be given a specific time. How long will it take to add an account to the email server? About 45 seconds. How long to change the flat tire on my car (at a shop), it'll be done in 30 minutes.

          How long to fix something that no one else has managed to fix yet? Who the hell knows. 30 seconds to 6 months, it depends on how hard the problem is to fix.

      --
      Serious? Seriousness is well above my pay grade.
  29. That's a big "it depends" by QuasiEvil · · Score: 3, Interesting

    I'm an embedded developer, and when my stuff goes wrong, it can *really* do bad stuff. I've literally pushed fixed firmware to a controller running in a production scan/sort environment within five minutes of finding the bug, because it threatened to completely bring down a huge sort operation (and by huge, I mean 1 million+ pieces that day alone). I've also stayed up all night tracking down a bug crashing a device used by one of our larger (hundreds of millions of dollars per year) customers. Those, though, are the exception, and are driven by the massive financial and PR consequences of not getting it done right now. Throw caution to the wind, code and load if you are reasonable sure what's wrong and the stakes of not fixing it are high enough.

    The usual bug fix cycle depends on complexity, impact, and risk. High risk of breaking things and low impact? Generally gets scheduled for the next release (4ish times per year). Low complexity and risk but medium impact? Code today, regression test the rest of the week, push this weekend. On average, mission critical bugs can get fixed in 8 hours or less around here, small to medium stuff is put on a weekly(ish) cycle with *lots* and *lots* of testing, and large stuff gets rolled to the next major release, unless it just can't wait that long.

  30. Maybe CowboyNeal by SnoopJeDi · · Score: 2, Funny

    does business with this company.

  31. 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.
    1. Re:Turnaround time by homey+of+my+owney · · Score: 3, Insightful

      Yeah, but everything is relative. If you're fixing a Hello World application and you can't get it turned around in 5 minutes there's a problem. But if you're fixing an international banking application bug with security implications, 48 hours is definitely unreasonable.

    2. Re:Turnaround time by Cacadril · · Score: 3, Interesting

      I used to work for a company that made computers with a version of Unix on them. We would mostly manage to get a fix out in a week, but I managed to reduce that to about two days, in seldom cases one day. I was much of the bottleneck - I did the quality assurance and the packaging. This was in the early 90s. I improved the process by creating something that resembles (remotely) a redhat package system, that made it a snap to revert patches if anything went wrong. The effect was, not foreseen by me, to streamline the process so that we could focus much more on the contents of the fix. I saw in the beginning that also the packaging process could introduce errors and mistakes. Packetizing also helped testing, making it easier to install versions of the software, or just patches, test it, and then revert the configuration to what was needed for that computer's ordinary mission.

      --
      There is no substitute for common sense. Especially, no body of rules will do.
    3. Re:Turnaround time by Futaba-chan · · Score: 2, Informative

      We generally get fixes for real bugs out within 24 hours

      We do too, although we release every two weeks, so it would have to be a critical security bug to get us to do a patch release and not just include the fix in the next code drop. Genuine defects (as opposed to platform support issues, production support issues, configuration problems, or changed requirements) are a stop-the-line issue.

      Um, and if it's taking you a month to fix a problem, what is your level of automated test coverage? You are doing TDD, right? And how much time are you spending on refactoring for maintainability?

  32. People don't know how to buy software/tech by danilo.moret · · Score: 2, Insightful

    That's why there are companies who think a minor bug fix, or a small development, changing fonts or simple features, reconfiguring servers, restoring backups etc is something that doesn't need testing, concentration, at least little bit of planning and basic things like version control. So that's quite common in the industry: customers who think they are getting their product for less money because they can force every change as an emergency. They don't realize they are making development more expensive with hacks and constant build, tests and deploys overhead. Simple concepts from lean methodologies like Scrum should be taught to anyone who plans to spend more than someone's monthly wage on software. Everyone can benefit from a healthier development cycle and software will come out better and cheaper. But there are some clients learning to get the benefits of a constant release cycle and, as the poster said, they are getting the beta development cycles for free.

    I was thinking about a joke on my subject on the lines of "people only know how to buy tech on Civ", but it's less important and I'll leave it on the jokes backlog.

    --
    ^[:wq!
  33. The more you give, the more they want by SystemFault · · Score: 3, Insightful

    From nearly forty years of programming (yes, since the IBM 026 keypunch days), I can tell you with absolute certainty that the more that you do for management, the more that they will want from you. It is not your responsibility to bear all the punishment for the lack of foresight and resource allocation on their part.

    Consider this: What would be the managerial response if you asked for a cost of living salary increase and that you needed it within 48 hours? Do you think that they would be willing to work day and night to make that happen?

    Working in panic mode is not professional behavior, and it certainly is not conductive to good engineering practices. Furthermore, it is detrimental to long term company survival. Engineers who support continued unreasonable demands have only themselves to blame for enabling poor strategic planning by management.

  34. Re:Web based by jgrahn · · Score: 2, Interesting

    30 minutes? SO much for QA. Care to give me the company name, so I never hire you?

    Sometimes (just sometimes) it's obvious what the bug is, and it's obvious that testing is meaningless. Would you want to hire a company which does meaningless things to please you?

  35. Re:Web based by AuMatar · · Score: 4, Insightful

    Even if the bug is obvious, it doesn't mean that your fix

    1)Works
    2)Works correctly for all corner cases
    3)Does not have unintended side effects
    4)Didn't accidently include some other changes you were working on before, which are not ready for production.

    You still need to QA. Attitudes like yours are why the quality of software is so poor.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  36. This reminds me of an "unreasonable" customer by PatMcGee · · Score: 4, Interesting

    The customer described a program they wanted (to run on an embedded system). I estimated 3-4 months. They asked for 30 days or less. I explained what they'd get if I banged it out that fast - something that would work most of the time and not lose too much data. They then explained that the program would save them over $1,000,000 a month. If it quit working, they quit saving money, but nothing else bad would happen.

    So, I saluted and said I'd try really hard for 3 weeks for the first version, then about three months longer for a version that would work all the time. Which is what happened.

    Do you know the impact on this customer of not having the fix that soon? Maybe it's worth it to them...

  37. 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.

  38. Bug fix turnaround time by JWSmythe · · Score: 3, Interesting


        Really, it depends on your environment, and what needs to be done.

        I'll use one of my web site as an example. It's all PHP and Perl, so ya, it's programming (I'm sure people will argue this).

        Since I wrote all the code, I know it all inside and out. If you say "there's a problem [here]", I know exactly what file to look in, and what code to look for. I've banged out changes, tested them, and put them into production in a matter of minutes.

        On a high traffic web site, we had a java applet which was being used by about 25,000 people per day. For little things, I'd change the code, test on all applicable platforms, and roll out the change in a few hours. Even then, the bosses were sometimes displeased with the time it took. Since I was careful to test, I never rolled out bad code, so I was never pushed into the long QA cycles.

        Working with one company, things were a lot different. It went something like this.

        1) Propose the change to your manager, with supporting documentation.
        2) Manager would go to the project coordinator (i.e., customer liaison)
        3) project coordinator would go to the customer
        4) customer would approve the change.

        Up to here was anywhere from an hour to a week. Sometimes the customer would put stipulations on the change, such as "there's a big event happening, or going to happen, don't make the change until X time."

        5) document the proposed changes
        6) hold a meeting with development, QA, the project coordinator, and management. Discuss the potential
    changes.

        1-3 days later

        7) hold another meeting with the same people to rehash the changes.

        1-3 days later

        8) hold another meeting with the same people to rehash the changes.
        9) Write the changes. Make them available to the QA team.

        3-7 days later

        10) Explain to the QA team that the errors they are experiencing with the fix have nothing to do with the fix, they were preexisting problems with another piece of code.

        1-7 days later

        11) hold another meeting with development, QA, project coordinator, and management, to explain that the error has been fixed with the supplied changes. The other problems are elsewhere.

        1-3 days later

        12) hold a strategy meeting to plan on how to fix the other problems.
        13) fix the other problems, and break more things.

        1-3 days later

        14) have QA test the other changes.
        14) roll back changes in step 13

        15) beta test the previous changes, and notify customer
        16) Customer balks at other pre-existing problems.
        17) Repeat steps 5 to 15 again, until the customer gets tired of balking.
        18) Implement changes.

        Then start the process all over with step 1 to fix the other pre-existing problems.

        The solution really is...

        1) Identify the problem.
        2) Gather together the appropriate staff who won't talk outside of your group.
        3) Fix, internally test, and implement the resolution.
        4) If anyone asks, there was no problem to start with, and you were all really working on steps 5 to 15 of the previous plan on another problem.

        Funny how that works.

        But, it's a matter of, is it a trivial fix, or something that requires serious rewriting? Did someone miss trapping invalid input in one line, or is it a poor coding practice through all of the code? Is it an included library that simply needs to be upgraded and recompiled?

    --
    Serious? Seriousness is well above my pay grade.
  39. 48 hours is pretty reasonable if you ask me. by holophrastic · · Score: 2, Interesting

    I'm in the same position -- I own and operate a small web/internet/custom software company. And certainly, things get published/pushed/shipped with bugs. Welcome to the software world taht we know and love. But when a bug creeps up -- when a bug is found by the client, or by the client's customers -- it gets fixed immediately.

    And by immediately, I mean between 10 minutes and 10 hours -- if it's going to be fixed at all.

    Certainly there are those minor cosmetic bugs that no one cares about -- client included. And there are those other usability bugs that have acceptable work-arounds. Those two get fixed in the next set of upgrades -- if the client ever wants upgrades.

    But anything that actually affects the client's on-going business has to get fixed absolutely immediately.

    And we're capable of this for a number of reasons:
        - we build with "developer empowering" code, so it's easy to make small changes to significant areas.
        - we don't have as many bugs and seems to be the average
        - in general, much of our code promotes "self-healing" of user data
        - sensitive data routes (financial, encryption, security, money, accounting) get extra care during initial development, so fewer bugs are emergencies.

    As the owner of a business, I'm with the client on this one. If my web host had a bug that stopped me from writing a cgi script, I'd need it fixed pronto. If my pipe bursts, I need a plumber immediately. If my bank is closed when I need money, it's a problem. Any client whose business is affected by your bug is being very patient if they're willing to wait two days to resume their regular business operation.

    You're stalling their business.

    That said, client education is very important. That's why I've collected a list of almost 100 news articles of huge bugs in huge companies -- banks, NASA, various militaries, etc -- so when clients say rediculous things like "I'm paying for software, why does it have bugs", I can point to a billion dollar fighter jet, with four nuclear warheads, and say that it has bugs too. But that's not to get more time, it's just so that they understand there will be bugs, and they'll be fixed right away.

    And yes, that's 24/7/52. (I take off the last Friday in July, not that anyone wishes me well for it)

  40. Re:SLASHDOT SUX0RZ by renegadesx · · Score: 4, Insightful

    At the risk of getting modded "offtopic" I will say what everyone is thinking and take a hit for the team


    IS THERE ANY WAY TO BAN THIS ASSHOLE!!!! (pardon the little pun I threw in)

    Goatse was funny 10 years ago but its really stale.

    --
    Make SELinux enforcing again!