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

418 comments

  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
    1. Re: Definition by ShaunC · · Score: 1

      It may just be me
      Nah, it's you--;

      Sorry, couldn't help it.
      --
      Thanks to the War on Drugs, it's easier to buy meth than it is to buy cold medicine!
    2. Re:Definition by t2000kw · · Score: 1

      From the customer's standpoint, the software shouldn't have the flaw in the first place, so is it unreasonable for the customer to expect anything less than a quick but thorough fix? I think they deserve at least that.

      From the Dilbert's (software engineer) standpoint, the company will promise the fix in an upgrade or patch later and sell the incomplete or buggy version right now.

      Sounds like Microsoft to me.

  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 Anonymous Coward · · Score: 0

      We are in the middle of one such 48-hour turnaround time for a rather serious bug that happened in release but not in test. It took twenty-four hours to localize the bug and two hours to fix.

      A release build is running. (right now!)

    3. Re:Not Too High! by thsths · · Score: 1

      Sometimes a full set of tests may take longer, but I think 2 working days is a reasonable time frame for an emergency fix. Now 48 hours obviously require some kind of 24h support, and especially if the issue is more complicated, it may not be able to fix it without consulting colleagues etc.

      And the full fix should be available within a week or two. If you need more than a months, than your procedures are too complicated, and/or the parts of the software are not properly separated.

    4. Re:Not Too High! by dintech · · Score: 3, Funny

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

    5. Re:Not Too High! by AdamWeeden · · Score: 1
      --
      I was quoted out of context in my autobiography...
  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. Re:Small Startup Experience... by Vlaadimir · · Score: 1

      I work for a SMB which supplies a certain European company with equipment.

      All issues reported are critical and must be fixed now type of issues. Initially we supplied uncontrolled development builds 1-2 times a week, after receiving bug reports by email. Realization of our mistake occurred when we started receiving bug reports for versions of software that were reported officially for uncontrolled software. Bug tracking and resolution at this point because a nightmare. Ultimately it was agreed upon that all "patch" releases had to be somewhat formal, some formal testing, minimum 2 week turnaround. So now every time a milestone release is pushed back because of unrealistic "marketing" / "program management" decisions they get a new "patch" release.

      A fast turnabout to a customer without having an integration person on site to manage customer expectations is asking for trouble. Now generally before milestone releases we send a person over to run informal tests in their lab. He reports results of the test, we supply our engineer with a new development build. New informal tests are performed ... (yes cyclical process). This way our engineer on the scene could help manage expectation and focus the customer on to what are the real must have issues.

      This has proved the best model for us and the customer, mileage may vary.

    5. Re:Small Startup Experience... by thephotoman · · Score: 1

      If you're doing SQL stuff, #6 poses a really good question. Getting another job there isn't going to be a problem, unless you're tied to a small town or something, and are entirely unable to travel.

      --
      Haec merda tauri est. Ceterum censeo Carthaginem esse delendam.
    6. Re:Small Startup Experience... by mgcarley · · Score: 1

      Did we work for the same company? This situation sounds very familiar.

      --
      Founder & COO, Hayai India (hayai.in) / USA (hayaibroadband.com) // t: @mgcarley
    7. Re:Small Startup Experience... by mgcarley · · Score: 1

      Seriously. I'm beginning to thing that all my former cow-irkers are taking over Slashdot.

      --
      Founder & COO, Hayai India (hayai.in) / USA (hayaibroadband.com) // t: @mgcarley
    8. Re:Small Startup Experience... by Anonymous Coward · · Score: 0

      1. read customer problem report (optional call/email customer for more info)
      2. find bug
      3. write unit test reproducing bug
      4. run all unit tests until they are ok, fixing errors
      5. send proposed code changes to reviewer
      6. reviewer checks code changes into RCS
      7. reviewer runs update script, which installs the fix and notifies the customer automatically about the change

      With this method, you usually get a bug fix shipped in several hours. The important things are having a decent unit test suite (and writing a new test for every encountered bug), and having an automated update script.

  4. Pfft by porkThreeWays · · Score: 1

    3 hours right here. Maybe you just need to rub your hands in some comcast coax for extra speed (k thx lame comcast commercial ftw!)

    --
    If an officer ever threatens to taze you, say you have a pacemaker.
    1. Re:Pfft by ubernostrum · · Score: 1

      Only three hours? I once (literally) told our CSR that I'd fixed a bug, at the moment the customer was calling to complain about it.

    2. Re:Pfft by SpaceLifeForm · · Score: 1

      I used to find the bugs before they complained.
      They would invariably call while I was testing the code.
      Then I'd UUCP it to them. After hours of transfer at 2400 bps,
      they could try it out. While UUCP was going, I'd be working
      on the next bug. After a couple of weeks, I'd was ahead.
      After three months, they were happy!

      It helps when you can work at night when there is no
      overhead (management) wasting your time.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    3. Re:Pfft by daeg · · Score: 1

      Overhead is why I just moved to the 4-day work schedule. Four 12 hour days (well, 11 plus lunch, but it takes me all of 4 minutes to eat and another to read XKCD) and the fifth rotates depending on staff needs. I still work from home on the fifth weekday, but am able to get an obscene amount of work done. Same thing before and after everyone elses' 8-9 hour shift. I can get in before everyone, make sure everything is set up for the day (patches, etc), work, and then fix any problems after they leave.

      It's great.

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

    What was that exploit again?

    1. Re:Hmmm. by Anonymous Coward · · Score: 0

      That code to fix may be a vulnerability, exploits are the code and binaries that make uses of that vulnerability.

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

    --

    ÕÕ

    1. Re:1 to 2 weeks by Don+Juice · · Score: 1

      Same here. Normally 2 weeks for a hotfix (request approval & research, coding, qa, build). We try to address 6-12 major issues each fix.

    2. Re:1 to 2 weeks by Allnighterking · · Score: 1

      Ummm if it's an exploit... why wouldn't you patch it?

      --

      I'm sorry, I'm to tired to be witty at the moment so this message will have to do.

    3. Re:1 to 2 weeks by AVee · · Score: 1

      It's not just a matter of priority, it also largely depend on the complexity of the issue and/or the solution as well as the risk of introducing new problems with the fix. Last week 1 got a problem fixed, tested, approved and released in 3 hours. This was an string handling issue affecting localizations which aren't even released yet, but the fix was trivial, and a bunch of translators did need it to get on with there work. Priority minor, internal issue, but a save and trival fix. I really don't know why such an issue should take more than a day to get fixed, unless there is other stuff which needs attention first.

      However, I've seen issues which could not even be properly located in 48 hours, some solutions really need a lot of discussion to decide the correct approach, some need a lot of testing or a lot of work to assure backwards compatibility, I all really depends on what the issue is (and what type of software it is in). But in general I think someone who properly knows it's way around the software he is working on should be able to fix most issues within a few days, a week at most. If that is not achieved i'd say there is something wrong with the developer, the procedures or the software you are dealing with. But hey, that's the rule, there are exceptions ofcourse.

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

    2. Re:how long is a piece of string by Anonymous Coward · · Score: 0

      it must depend on some SLA paper that vendor and customer negotiated _before_ shite hit the fan.
      And in such paper there is The Scale that describes levels'o'badness and actions needed.
      We used to rush updates for a couple of years, trying to keep our turnaround time as low as possible - and that hurts. You need a lot of costy resources to do things fast - mighty developers capable to hunt the problem (any problem!) in no time, pack of testers, who can do things fast and exact, testing stands, documentation staff to write Release notes and patch userguides, and at least a couple young and bright engineers able to get to customer's turf in any way to diagnose the problem and install the update without shooting it's leg completely off.
      It's possible - and we do not do this anymore, because it simply does not do any good.

      now we do write and sign SLA's, that stand for such a scale - problem that:
      - all stopped - should be managed in 4 hours.
      - degraded much - should be managed in 12 hours
      - degraded partly - should be managed in 3 days
      - minor problem - will be fixed next release, usually month

      If it stopped or degraded heavily - the goal is to reanimate and stabilize the beast. And then find the workaround - without code patching, or with the hack\ducktape\wd40 that allows to keep system running and lower this problem severity - to get more time for developers to do things right and good. And dealing with running the system is a customer's job too - they should have person responsible to know how it's working and able to solve problems and to communicate with us.

  8. 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 Anonymous Coward · · Score: 0

      if you're leaving your customers vulnerable for over a month, they might start looking elsewhere

      Tell that to everyone using Windows. =P

    2. Re:four or five WEEKS? by daeg · · Score: 1

      He didn't say it was a security bug. It could just be a mis-spelled name in an application menu for all we know.

    3. Re:four or five WEEKS? by Anonymous Coward · · Score: 0

      If it takes his team five weeks to change a name in an application menu, he's in the wrong career. I recommend marketing.

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

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

    6. Re:four or five WEEKS? by Anonymous Coward · · Score: 0

      Exploits should be a high concern for any company.

      I agree completely. That is why, when the technician tells his manager "this design may have some flaws in it, and we need to do some detailed analysis to find them," the manager should allocate plenty of time for it, rather than saying "Ok, you have one day. Get busy."

      Then, when the exploit comes out, the manager should say, "Take as much time as is necessary to fix this exploit. Divert resources from new development to help you, if you have to, " rather than, "this is a bug in YOUR code, now YOU must work 24/7 until it is fixed."

    7. 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. Re:four or five WEEKS? by einhverfr · · Score: 1

      One month is an industry-standard maximum one should enforce in the absence of rare and extenuating factors.

      Ideally, response time should be a lot less. Here are absolute maximums for general security issues in the absense of such factors:
      1) 1 week to reproduce the problem and get back to the submitter of the issue.
      2) 1 week of internal review, understanding where the problem is, how serious it is, etc.
      3) 1 week of coding and code change review (usually less)
      4) 1 week of testing/validation
      5) couple of days packaging/releasing/etc.

      If these take longer in a significant number of cases, you have bigger problems.

      --

      LedgerSMB: Open source Accounting/ERP
    9. Re:four or five WEEKS? by wtarreau · · Score: 1

      If you pass the patch through the same QA that initially let the bug exist, the added value is minor. In this case, you should be able to release an emergency workaround or patch within a few days, which at least will stop the exploit, even if it may open a new breach (which is not known yet), and then work on a better patch that you will validate correctly and ship later. Leaving a customer vulnerable for 5 weeks may be totally unacceptable depending on their business.

      For instance, imagine if your application manages credit card numbers. You cannot leave a trivial SQL code injection bug exploitable for weeks! At the very least, you must block it within hours.

    10. Re:four or five WEEKS? by Kjella · · Score: 1

      No, accelerated quality control. It's much the same, but one is like "test these 20 odd pieces before some deadline", the other means you got a production line where it gets immidiately picked up by the next guy as one step completes. You can do a helluva lot if you simply give one patch priority over the others.

      --
      Live today, because you never know what tomorrow brings
    11. Re:four or five WEEKS? by pthisis · · Score: 1

      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


      Seriously. We normally have a turnaround of a few hours on security fixes; however long it takes to code, 45 minutes to run the automated battery of unit and integration tests, and a couple hours for the human testers to do their work.

      For client feature requests, depending on the priority and the size of the request it's from hours to months.

      FWIW ours is what I class as a mid-size project (just over a half million LOC).

      --
      rage, rage against the dying of the light
    12. Re:four or five WEEKS? by pclminion · · Score: 1

      If you pass the patch through the same QA that initially let the bug exist, the added value is minor.

      It's called REGRESSION TESTING. The point is to check that you haven't broken anything that wasn't broken before, NOT to test that your patch is "100% good-to-go-never-gonna-break-solid."

      If I found out my bank deployed a hotfix that was whipped up by some sleep-deprived programmer and deployed without testing at 3:00 AM just to fix a security issue, I'd fucking quit that bank. Better to shut the whole god damn system off until it can be properly fixed. Seriously, I'm willing to wait. Idiots who won't wait can bank somewhere else.

  9. Depends on the scope by teknopurge · · Score: 1

    of the issue. My team has had to get things out the door in 4-6 hours before. Just make sure you have people that have intricate knowledge of the app so that you can properly scope any changes, which allows you to perform good QA.

    Regards,

    1. Re:Depends on the scope by SnarfQuest · · Score: 1

      of the issue.

      part of the sentence. Is SlashDot deleting some

      --
      Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
  10. As a Web Developer by Anonymous Coward · · Score: 0

    If a bug in our widely used web application is discovered at 12:00 I am often expected to put a fix on production by the time I leave at 6:00.

    That said, I would hardly call our patches bullet-proof, though we usually manage to not screw anything up.

  11. Web based by Anonymous Coward · · Score: 0

    My company sells web based software (hosted). I have found, fixed and pushed out to 30 servers in as little as 15 minutes. I love our system.

    1. Re:Web based by AuMatar · · Score: 1

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

      --
      I still have more fans than freaks. WTF is wrong with you people?
    2. 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.

      --
      --
    3. Re:Web based by Anonymous Coward · · Score: 0

      Could I have yours? I usually like my employees to be able to read at a 6th grade level.

    4. Re:Web based by thewils · · Score: 1

      The fact that you can do this in 15 minutes means I'd hire you. The fact that your company is set up to allow this to happen probably means that I wouldn't want to be one of your customers though.

      In this day and age, quite often it's the company that can respond quickest who gets the business. You can't afford a three week integration testing period whilst fifty trucks per hour show up at a gate waiting to be processed.

      Good on you for responding to your customers.

      --
      Once I was a four stone apology. Now I am two separate gorillas.
    5. 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?

    6. 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?
    7. Re:Web based by Anonymous Coward · · Score: 1, 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.


      Yes but there are minor bugs where the fix works, where 2 and 3 simply do not apply and where 4 can be easily avoided by doing a cvs diff. The 15 minute example is for extremely minor bugs. They are fixed because they can be. Sometimes, very minor bugs slip through the cracks. It happens to everyone.

      And for things that are not so minor, we can often fix and release in 8 or so hours, doing the requisite QA. If you know your code base well enough, you know the scope and reach of the code you are fixing.

    8. Re:Web based by AuMatar · · Score: 1

      No, there aren't. Its very tempting to think there are, I'll admit. But the truth is, no matter how well you think you know your code base, you never know it all. And its trivially easy to forget to do a cvs diff. If you have this attitude, you will eventually fuck up and release a bug worse than the one you're fixing. If you're lucky it will only be a little worse. If you're not, it will be a security bug or cause an outage. There is no excuse for ever short circuiting a QA cycle- it will come to bite you. There are no free lunches, there are no shortcuts.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    9. Re:Web based by Anonymous Coward · · Score: 0

      but the fact that they're making mistakes that can be fixed in 15 minutes speaks loudly as well.

      Of course, sometimes a bug can be that you gave the customer exactly what was agreed on, after long and careful discussion, and then it turns out it wasn't quite what they wanted after all.

    10. Re:Web based by Anonymous Coward · · Score: 0

      Except even 30 minutes is too slow in some cases (http://www.icir.org/vern/papers/topspeed-worm04.pdf).

      I wholeheartedly agree that QA is necessary, but many software companies build a large rigmarole into fixing anything which is both needless complicated and time consuming. Sure, for a "push" update, you want to make sure it's very high quality. But for many bugs (and especially any bug that your customers are in arms about), a fast hotfix is more important than steps 2 through 4. Step 1 (showing that it works, mostly) is all that is necessary. 2 through 4 can come later.

      Really, if you believe that going through all of your testing will make a "perfect" patch (or if you believe that a perfect patch has ever been produced by anyone), you're overestimating the quality of your software. Your software has bugs, and your patch (even after QA) will have bugs. But the bug that is hurting people *now* needs fixing; your hypothetical bug isn't hurting anyone. So your fix has issues, but your customers are far more likely to be better off with it than without it. And even after you do your QA steps, you'll still have to deal with bad patches.

      So quit shuffling your feet and making excuses! Issue a "bleeding edge hotfix", then do QA and make an official "patch".

    11. Re:Web based by einhverfr · · Score: 1

      A lot of our bugs which end up being things which are fixed quite quickly once they are understood.

      Yes, it speaks loudly that their bugs are fixed in 15 minutes. It means that they are able to get enough information to fix the problem
      quickly. Of course, if the fixes are small, minimal testing may be required which can also fit in that time frame.

      --

      LedgerSMB: Open source Accounting/ERP
    12. Re:Web based by Anonymous Coward · · Score: 0
      Would you want to hire a company which does meaningless things to please you?

      Get real -- if it pleases me, it must be meaningful. It's the stuff that displeases me that's mostly meaningless.

    13. Re:Web based by merreborn · · Score: 1

      This is really a case of "you get what you pay for".

      My last job was with a company that developed a custom point of sale application (including register/order management/inventory management and more) for a retailer with about 20 locations. They wanted it built/maintained/supported by a single full time developer on staff for $30k/year. When you're paying that much below the median wage -- and only hiring a single developer -- for an application that complex, you can expect "15 minute" bugs throughout the system, and minimal testing. They accepted this -- as the saying goes, "Cheap, fast, and good: choose two". They chose "Cheap and fast".

      Suffice it to say, the application was riddled with bugs, and they never kept a developer around for long -- the talented ones got hired away at much better wages (e.g. yours truly), and the others turned out to be terrible programmers (most people who are willing to work for that little are extremely inexperienced and untalented).

    14. Re:Web based by dcam · · Score: 1

      In general I'd agree, however I think it does depend on how well you know the problem. If you know the codebase intimately and have a good understanding of what the problem is, it may well be possible to push out a fix in a relatively short amount of time. It is rarely a good idea though.

      --
      meh
    15. Re:Web based by csaceanu · · Score: 1

      I think point 4 above could also be the cause for poor software quality. When that happens, you definitelly have major problems with your process. And probably the professional level can be also improved.

    16. Re:Web based by Anonymous Coward · · Score: 0

      And attitudes like yours are narrow minded and elitist.

      I can think of several different kinds of bugs that can be tested for as below - and have been seen in production systems from some of the most well known names in the software industry.

      1)Works (usually pretty obvious)
      2)Works correctly for all corner cases (or "corner cases" just don't apply)
      3)Does not have unintended side effects (or doesn't apply beyond "working")
      4)Didn't accidentally include some other changes you were working on before, which are not ready for production. (hint: versioning control)

      Get a grip.

  12. 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 lb746 · · Score: 1

      This is true of lots of other types of business's as well. I work in E-Commerce, and we do weekly minor fixes, and 24 hour serious fixes. 4 weeks for a patch even for our IDE/platform/development environment would send us elsewhere immediately. I can see 4 weeks for maybe a serious flaw in say a video game, but a month for something people are using and paying you money to use, that's just ridiculous. Just like the parent poster said, in banks they lose business the second a flaw is known to anyone, including themselves. The same could be said for a lot of business's if that flaw was exploitable in such a way.

    2. Re:We don't do "box" software by Ruprecht+the+Monkeyb · · Score: 1

      I wonder if that makes things worse, though. Patch a known hole and create a new one because of the time pressure, and you might go from a situation that could have been remediated short of an emergency patch to a complete unkown.

    3. Re:We don't do "box" software by Anonymous Coward · · Score: 0

      The plural of business is businesses.

      Thanks for your attention.

    4. Re:We don't do "box" software by NMerriam · · Score: 1

      An apostrophe means "look out, here comes an 's'!"

      --
      Recursive: Adj. See Recursive.
    5. 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.
                 ^

    6. Re:We don't do "box" software by bm_luethke · · Score: 1

      I just don't understand those type of "standards" - they do not really make much sense.

      If you are writing "Must Always Work" software (which is what you are saying) then there is no way you can adequately test to meet what *should* be compliance in 8 hours unless the software is trivial, let alone identify the bug and fix it. Heck, you would be lucky to have 48 hour turnaround if you put the whole team on it for the 48 hours solid though a 72 hour is normally doable.

      Yea, 99/100 times you simply unit test and it works (what I normally do, but nothing I've written is mission critical in that sense - if my stuff breaks I just get another phone call and I would normally start the regression testing after sending patches out), the problem is that 1/100 time that you break something else that used to work, that break is usually MUCH more major than the bug you were trying to fix. For most software this is quite acceptable, it is pretty much the "best" in terms of the cost/benefit - but if you truly have highly critical software then "best" usually isn't at the most benefit for the cheapest cost :)

      It just amazes me the number of software developers who seem to think this is somehow being "secure" - heck there are several posters in this thread that say that security fixes should be under 12 hours and all of theirs are usually under 6 - I *really* do not want a "security" person who think that unit testing is perfectly adequate and turns out a fix 3 or four hours after finding it. If your software is small enough that you can identify, isolate, fix, and regression test everything in under 6-12 hours then your software is small and not really what the OP is asking about.

      Of course, the above is how your industry is regulated (I have no idea if you think it is peachy keen or actually understand why things like regression testing are important for software that truly must be robust and secure) - I've seen the same thing in other industries I've worked in and it boggles my mind how many do not - and can not - see why there is a problem with their software production model. I generally bet that even if your bosses understood why it is a bad idea they probably do not care (and I bet only a few understand why) - after all they are following industry standards and they always have us to blame when unit testing in an attempt to get high turnaround time introduces a major bug regardless of the fact that it is a problem with your development cycle.

      --
      ------- Sorry about the spelling, I suffer from two problems. Dyslexia makes it difficult to spell well, lazy makes it
  13. 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 hcmtnbiker · · Score: 1

      If it's a windows vista security patch, then 48 days would be unrealistic.

      Not to sound like a M$ fanboy or anything, but they're average time to fix is 48 hours. The other 46 days is just how long it takes them to cycle it out. I assume that if you're cooperate or some other important customer it is possible to get the patch faster, but I honestly have no idea.

      --
      If i had one dollar for every brain you dont have, i would have $1.
    2. Re:Lack of information by Anonymous Coward · · Score: 0

      they're = they are

      their = belongs to them

    3. 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
    4. Re:Lack of information by hcmtnbiker · · Score: 1

      Thank you /. automatic grammar checker ;)

      --
      If i had one dollar for every brain you dont have, i would have $1.
    5. Re:Lack of information by EdBear69 · · Score: 1
      average time to fix is 48 hours.

      Where do you get this info?

      When I worked at M$, (in MSN, which releases WAY faster than any of the other divisions) getting a fix checked in to a bug I wrote usually took a week or more. Testing after that took anywhere from 5 minutes to a couple weeks. The process of rolling a new build into the production environment usually only took a few hours after the build passed QA, but was often scheduled for a few days in the future.

      The only way I would agree with your average 48 hour assessment is if all you're talking about is how long it takes the developer to fix a bug in their code. And that's after the bug has been found, isolated, documented, and some poor tester has gone blue in the face arguing with devs and PMs that this is a SERIOUS bug and NEEDS TO BE FIXED RIGHT NOW until they actually assign it as a priority task to the specific developer involved.

      Again, my experience is with MSN division. One of the properties I worked on shipped 14 releases in 22 months. A lot of times, bug fixes were put in to "version current+2"* because of the tight schedule of dev/test/release we were running.

      * version current+2 meaning that if we're currently running v1.0 on our servers and developing v2.0, a newly reported (non-critical) bug would be scheduled to be fixed in v3.0

      --
      I'm not an actor, but I play one on TV...
    6. Re:Lack of information by sharkey · · Score: 1

      Perhaps he's including the time it takes to compile everything once they receive the Gentoo CD.

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
    7. Re:Lack of information by techno-vampire · · Score: 1

      I wouldn't know, I've never used Gentoo. So far, Red Hat and Fedora have been quite satisfactory, so I've never felt the need to experiment. YMMV, and probably does.

      --
      Good, inexpensive web hosting
    8. Re:Lack of information by Anonymous Coward · · Score: 0

      Yea it does. They're using vista.

    9. Re:Lack of information by NeoTerra · · Score: 1

      The first 45 days are for deciding what Distro is the best (which I know can't be solved), or which you are willing to distribute. The last 3 are for downloading, burning, packaging, shipping, sending replacement when shipping cracks the CD, etc.

    10. Re:Lack of information by techno-vampire · · Score: 1
      The first 45 days are for deciding what Distro is the best (which I know can't be solved), or which you are willing to distribute.


      Not really. You just pick four or five that are easy to install, drop their names into a hat and send them whichever one you pull out. Compared to Vista, any of them are good.

      I have a friend who's a computer columnist, and has one machine using Vista. I told him a few days ago that somebody had asked me if she should have in on her new computer and he said, "Hell, no! Don't let her get Vista whatever you do!" He's not a Linux weenie or anything, he just doesn't consider vista ready for Prime Time.

      --
      Good, inexpensive web hosting
  14. 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
    3. Re:Can't compare by LGM95223 · · Score: 1

      I agree. I can add a new column to a report in an hour or two. The problems arise when the client thinks that adding an entire new feature set with additional database tables should be done in the same time frame. They seem to think of coding as approxiamtely the same as writing prose where a typo or two still leaves a usable document.

    4. Re:Can't compare by Anonymous Coward · · Score: 0

      You obviously don't work on mission critical systems. Yea, to code it may take 2-3 minutes. But did you write a testcase? Group code review? Run it through the regression bucket? Run it through your stress test suite? No? Didn't think so!

    5. Re:Can't compare by maraist · · Score: 1

      Agreed, but it also depends on the programming model. If you use agile/XP/test-driven-development, then hell, 30 minutes might be a sufficient turn-around for most any project. Course this also assumes a web-services model where shipping or on site maintenance isn't a concern.

      --
      -Michael
    6. Re:Can't compare by Vlaadimir · · Score: 1

      When you are working with big customers in the Avionics Industry, they tend to understand that turnabout takes time. We all have to deal with process our companies have created to comply with DO178-B. This process is comparable to the ISO 9000 family. So when you tell a customer it will take 2 weeks to fix a known set of issues, that is generally accepted. If you have an engineer on the scene, the turnabout is more in the scope of days, with the official patch coming a week after the issues are worked out.

    7. Re:Can't compare by ammoQ · · Score: 1

      Even in a mission critical system, I would go live with the 2-3 minutes fix (and have done so several times!) if
      a) I'm sure that the fix does what it is expected to do
      and
      b) not fixing it quickly causes major problems (not unusual when a major problem pops up in a mission critical system)

      a) requires:
        a1) both the bug and the fix are obvious
        a2) I understand the affected part of the system
        a3) the system is built in a way that makes it (almost) impossible that its parts interact in unpredictable ways (wild pointers etc.)

      a2) requires a good system design and discipline during the development process (naming conventions, comments etc).
      a3) is easier to accomplish when managed languages like Java are used, but it's also possible in C. It's essential that all bugs are fixed by finding and understanding the cause of the problem, not by trial-and-error hacks.

    8. Re:Can't compare by Sloppy · · Score: 1

      You obviously don't work on mission critical systems

      And you obviously didn't get the point. Did the poster say how critical it is? I can't tell whether we're talking about nuclear reactors, or MySpace. And yet, he asks if they're spending the right amount of resources on getting it right. It's an absurd question.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    9. Re:Can't compare by HeadlessNotAHorseman · · Score: 1

      Exactly... "How long is a piece of string"?
      The classic programmers answer: it runs until it finishes!
      --
      I like my coffee the way I like my women - roasted and ground up into little tiny pieces.
  15. Depends... by Foofoobar · · Score: 1
    Depends on alot of things: the size of the shop, the size of the project, the size of the fix, etc. Do you have an MVC framework? Do you have a centralized database architecture?

    The better engineered the project is, the faster development will be. The worse engineered and less centralized, the harder it will be. Also, the larger the size of the project, the more time it will take. Also the size of the company adds extra time as well; smaller shops can fudge on steps to get a fix out but larger shops have alot more customers to support and therefore can't fudge on QA.

    --
    This is my sig. There are many like it but this one is mine.
  16. 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
  17. 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 Anonymous Coward · · Score: 0

      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.
      A blanket insult to an entire group is flamebait.

    2. Re:Parent is right. by Anonymous Coward · · Score: 1, Informative

      How we handled this in one environment was simple. All normal updates followed process to the tee or else.

      But a process deviation authorization process also existed. In essence, the VP of engineering and marketing, the customer and legal had to sit down and sign a binding contract to get pre-release. The contract basically said "Without duress or obligation we both agree that we are not responsible for ANY issues or fitness for use and are not obligated in any way to mitigate. You cannot disclose any issues you may have with a pre-release product as it is of alpha-beta test quality and acknowledge this." Participated in a few too. Usually only done when the customer had some competative advantages by accepting the added risk.

      Essentially an agreement that if say, not being tested enough it wiped out a 10TB DB tough O. If not signed, they had to wait until Q/A said cut, wrap and ship.

    3. 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
    4. 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
    5. 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)
    6. 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. Re:Parent is right. by RobDude · · Score: 1

      You didn't happen to work for a small consulting firm in Downtown Chicago, did you?

    8. 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
    9. Re:Parent is right. by Anonymous Coward · · Score: 0
      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".

      Before I think of the customer, I'd have security frog-march the miserable son of a bitch salesman down to HR with instructions to fire his goddmned ass with the minimum legal compensation -- personal effects to be returned at our timely convenience. No way in hell would I let some low-grade shit try to bring my company down by overriding the judgment of my professional "expectations managers".

      Then I'd call the customer and apologize for their having had to deal with an out-of-control subordinate who overstepped the boundary of his authority.

      And then I'd make sure the rest of the sales fore was made aware of the consequences of such behavior.

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

    11. 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
    12. Re:Parent is right. by Anonymous Coward · · Score: 0

      Hah, Informative. Joke's on you!

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

    14. Re:Parent is right. by mattwarden · · Score: 1

      I agree with what you're saying, but what is the point of saying you have a fix window of X and 15X? It seems like it would not be useful from a business perspective (the client's), and just as arbitrary as any other window.

    15. Re:Parent is right. by Anonymous Coward · · Score: 0

      That's what marketing is for... pleasing the customer until reality hits home :)

    16. Re:Parent is right. by einhverfr · · Score: 1

      Normally, if a security issues is reported to us, we begin communicating with the submitter within a week. From here we can communicate what we are doing, how long it will take, etc. All security issues are fixed on a priority basis, and we do this pretty much as fast as we can.

      However, in general nothing is gained by pushing out a fix too soon. Reviewing the problem and solution takes time, as does ensuring that we understand it properly. This is very important for the development of quality fixes.

      Generally I would tell customers "one month maximum for most security issues." If we get it done in 48 hours, great (they will be happy).

      --

      LedgerSMB: Open source Accounting/ERP
    17. Re:Parent is right. by Anonymous Coward · · Score: 0

      99% of time fault does not lie with customer. It is either:

      -Sales trying to sell more products/maintenance, setting unreasonable expectations.
      -Support team lacking soft skills.
      -Bad managment just interested in covering their ass.

      If you do it once, you will likely have to do it over and over.

    18. Re:Parent is right. by Anonymous Coward · · Score: 0

      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.

      Basically, you do the work you should've done the first time you coded it? Interesting.

    19. Re:Parent is right. by einhverfr · · Score: 1

      Our main project (LedgerSMB) is still mostly an inherited codebase (we forked from SQL-Ledger, a nominee for worst web app ever). We didn't code it the first time around. Inherited bugs are responsible for nearly all of our security issues. Yes, we are rewriting from scratch but that takes time.

      --

      LedgerSMB: Open source Accounting/ERP
    20. Re:Parent is right. by thebigbadme · · Score: 1

      3)Profit!

      --
      "It's the Law of the Universe, and I'm the sheriff." Slash-cott 2/10-2/17
    21. Re:Parent is right. by Anonymous Coward · · Score: 0

      Ah yes, the good old American work ethic: Find the one to blame, blame him, punish him, publicly ridicule him, apologize to those involved and pray you don't see a lawsuit in the near future.

      That's how you build an industry.

    22. 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.
    23. 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?

    24. Re:Parent is right. by ghoul · · Score: 1, Insightful

      Just what kind of company do you work for if it lets a bug which can disable key features to go out of System Test much less User Acceptance tests. Bugs in well tested software are found in production only in 2 cases - either its a once in a year scenario which didnt get tested or its due to a new feature which has interacted in an unexpected way with the existing production system. Neither case requires an emergency patch. In the first case you take your time to provide a patch and in the second case you rollback the feature upgrade which caused the problem and then take your time to provide a proper upgrade.

      --
      **Life is too short to be serious**
    25. Re:Parent is right. by caeled · · Score: 1

      again afater 20 years I have discovered one true to unity truth. Dev and QA ALWAYS pad turn around time. I find myself unsympathetic that the dev group will have to skip their lunch and stay late to deal with a problem quickly. The CS team does it daily due to the things you all missed the first time.

    26. Re:Parent is right. by BigAssRat · · Score: 1

      They act as though we can save the world before dinner when they want something, and call us miserable worthless slacker bastards the next.
       
      Well, even if they dont' expect us to save the world by dinner, they certainly seem to exepect us to do it for $11/hour.

    27. Re:Parent is right. by nomadic · · Score: 1

      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.

      Since it's your incompetence which created the problem, maybe it really is up to you to figure it out and fix it? If you write buggy code, expect your customers to complain. You should feel some sort of embarassment here for having them point out your mistakes.

    28. Re:Parent is right. by mrdarreng · · Score: 1

      I very much doubt most people who know me would call me a "self-important little shite" Yea, they probably spell it shit instead.
    29. Re:Parent is right. by einhverfr · · Score: 1

      Shouldn't that be:

      3) Profit? (as in how much does it profit us to fix the bug)

      Honestly, we try to fix every bug reported to us. Some bugs happen faster than others.

      --

      LedgerSMB: Open source Accounting/ERP
    30. Re:Parent is right. by Anonymous Coward · · Score: 0

      Yea, they probably spell it shit instead.
      <clap>
      <clap>
      <clap>

      Yeah, sing it, brother, you are da man! The GP will think twice before messing with you again!

    31. Re:Parent is right. by pla · · Score: 1

      Since it's your incompetence which created the problem

      NIce try.

      Let me know when you write a perfectly bug-free program - And that includes both "quirks" in every library you use and the OS itself. And of course, "bugs" that do exactly what you wanted but the customer failed to describe their actual needs in the first place.

    32. Re:Parent is right. by Rich0 · · Score: 1

      I've worked with software vendors that would issue patches in the same day if possible (though a few days was more typical). You could wait a month for the regular release cycle as well and benefit from not having to manage 14,000 individual patch releases a year. They would support just about anything they sold in the last ten years, and backport both bugfixes and minor enhancements anytime it was practical.

      They also charged a fortune for their software, maintenance, and support. And their customers happily paid it.

      This is one of those industry-specific software packages that just about every major coproation depends on. If you're willing to pay for it you can find companies that will be there when you need them. The software easily pays for itself, and some bugs (security or not) are important enough that you really do want them turned around fast.

    33. Re:Parent is right. by Ilsita · · Score: 1

      Unfortunately, people whose job is not IT-related have no idea of what it is like to fix a bug. Until you know exactly what the problem is and it's implications, there is no realistic way to tell how long it will take. The bad thing is, these people tend to call us slackers or treat us with disrespect if a problem is complex and requires more time to fix. Software is complex, and patching something can trigger unexpected consequences, that is why things have to be done carefully and step by step. And I don't know about you guys, but do you get paid extra hours or do you get any compensation at all for not sleeping, getting extra stressed trying to find the problem and having to subordinate your personal life to your job? Because you would be surprised to learn that lots of people just don't. Granted, we love our jobs, we love coding, most of the time we enjoy the thrill of debugging. But I don't think it is fair to have other people put so more pressure on us with unreasonable deadlines for bug fixes. The customer can just say "The system does not present this" or "I clicked and it didn't {whatever}..." A user could think "How long can that take to fix, come on it's just a {window/figure/formula/report... whatever}. But large applications can be thousands of lines of code long and very complex. We are the experts. We are the ones that know. We are the ones under pressure. They should treat us with enough respect and let us do our job. They should let us assess the situation and work on it. The more they back off and let us do our job, the faster we can fix a problem. Fixing a problem requires intelligence. If you want to be on the top of you game you have to sleep well, to be healthy both mentally and physically. Sleep deprivation, caffeine and long hours before the computer without rest don't precisely help. Question to managers: Is that so hard to understand? Lots of us work with mission-critical applications. Specially in that case, just to try to put it into perspective with an example, when doctors do surgery, their main concern is to fix whatever is wrong because if they don't the whole system could crash (circulatory, respiratory, etc.) OF COURSE if they have to spend more time fixing it they just have to do it or the patient might die. Some of you might think I'm exaggerating, but those who have worked with mission-critical applications know that sometimes they involve security issues that can have consequences on human lives as well. Don't get me wrong, whenever I have to fix a bug I put all my energy and put my entire effort to fix it as quickly and carefully as possible. But I do think that impossible deadlines are unfair. Just because people from other areas cannot understand what we are doing or what it takes, doesn't mean they can dismiss us as slackers when things require more time.

  18. 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.
    1. Re:Unrealistic by Zadaz · · Score: 1

      I'll simplify it by one:

      You can get it fast, you can get it good, and you can get it cheap. But you only get to choose two.

      I've told this to clients in so many words, and it usually leads to a good, quick compromise.

      However it sounds like the original poster needs a new client/project manager. Or they just need to fire the client.

    2. Re:Unrealistic by gweihir · · Score: 1

      I'll simplify it by one:

      You can get it fast, you can get it good, and you can get it cheap. But you only get to choose two.
      I've told this to clients in so many words, and it usually leads to a good, quick compromise.


      I completely agree, these are the choices. Typically, difficulty is fixed, so it is not a choice anyways. Of course your statement is a lot clearer than mine and, as you say, suitable for direct use on the customer.

      However it sounds like the original poster needs a new client/project manager. Or they just need to fire the client.

      Firing the client seems not to be an option for many companies in the IT field. One of the reasons so many bad software is around, I think.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    3. Re:Unrealistic by Nazlfrag · · Score: 1

      You can get it fast, you can get it good, and you can get it cheap.
      I've heard this often, but its the first time I've heard the GPs equation.

      Well, I'll enumerate it to point out why I feel the GP is superflous to the three points you provided.

      Difficult + quality + speed = huge amount of resources
      Difficult + quality + resources = slow to create
      Difficult + speed + resources = low quality
      Quality + speed + resources = simplistic

      Only the last three are needed, as the first is unimaginable in most commercial contexts. It might apply to government contracts, large corps like Sun, IBM, MS, Google etc. but all resources are limited to some extent. Assuming limited resources, it simplifies to:

      Difficult + quality = slow to create
      Difficult + speed = low quality
      Quality + speed = simplistic

      Which is your more easily pitchable equation. Still, the GP would be useful if you can draw on vast resources.
  19. 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.
    1. Re:My jaded perspective... by thegrassyknowl · · Score: 1

      I think they're smoking crack.

      I agree. You can't design and implement the patch, regression test it, functional test it, test that it actually upgrades a live system without borking it and then package it up for the customer in 48 hours.

      I've been in similar situations regularly with managers pushing for shorter and shorter release times. When they rush it out without allowing time for thought of what the implications of their one "small" change are they invariably alter the system in some way that breaks regression testing. It's their fault it broke because they didn't allow a time for a proper investigation but they invariably blame the developers anyway.

      --
      I drink to make other people interesting!
    2. Re:My jaded perspective... by cowscows · · Score: 1

      It's important that a person/company be willing to tell a client that their expectations are unreasonable. I've worked for a boss that was completely unable to do so, instead promising the client almost anything they asked for. Many of these promises were not possible, and went unmet. Or the push to get at least something out often resulted in lower quality work. Either way, the client would often end up upset. And maybe even worse, it all stressed out the employees to an amazing degree. We'd end up constantly upset with our boss, upset with our clients, and this spilled over in many ways to get us all upset with each other. It could often be very bad for morale.

      A business with no employees is just as dead in the water as a business with no clients.

      --

      One time I threw a brick at a duck.

  20. 20 Minutes by sconeu · · Score: 1

    Seriously... but only once.

    We were on-site at the customer, and we were involved in a shootout to see who would get a major contract.

    We were "pre-demoing" to a bigwig, and it turned out we had an incorrect concept of one of the requirements. Hacked out a fix in 20 minutes.

    Needless to say, the customer was impressed (as were my bosses :P).

    For production level code, though, I'd never do that, but it was a do-or-die sort of thing.

    Oh, and we won the shootout (it wasn't even close, according to some of the guys who scored it) and the contract.

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    1. Re:20 Minutes by Marc_Hawke · · Score: 1

      And ever since then the custom has expected fixes to take about half-n-hour, because he's seen you do it.

      I've gotten official commendations from one side and official reprimands from the other side for the same bit of 'cleverness.'

      --
      --Welcome to the Realm of the Hawke--
    2. Re:20 Minutes by sconeu · · Score: 1

      Actually, no, they didn't. The customer understood it was a patch. What impressed them was the way we were able to correct a misunderstanding of the requirements that quickly.

      This was not production code, and the customer understood it.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  21. 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
    1. Re:Difference between Patch and new version by lb746 · · Score: 1

      Nicely worded. Too bad my last mod point expired over the long weekend.

    2. Re:Difference between Patch and new version by smcdow · · Score: 1

      Fair enough.

      What's your repository model? Stable trunk? Unstable trunk? Does that patch go into a current release branch or a new release branch, and/or is it also supposed to go into the patch branch and/or is it supposed to go into the baseline branch? Who's the gate keeper for the baseline branches? (please don't say that any developer can check in here!) Maybe that fix is also supposed to go into the future baseline branch. Can you point to a place in your code repository where the latest stable branch is? The last released baseline? The baseline before that? OK, if not you, then who can provide that information? How do you roll back a patch if necessary? You just go back to the last baseline, right? Do you have enough resources to do full-up testing for all these code branches and scenarios? What are the policies and decision making process for where patches land and how they're tested? What's your branching policy for getting new features added to the codebase?

      When you're talking millions of LOC, these issues matter.

      --
      In the course of every project, it will become necessary to shoot the scientists and begin production.
  22. Like everything in life ... "it depends" by Anonymous Coward · · Score: 0

    If your revision controls system is in a constant state of flux and you break daily builds more often then the US breaks treaties. Then yeah you can expect to have some problems getting a patch out to a customer.
    On the other hand. Most simple bug I've dealt with take less then a day. More complicated ones will take 2. Anything taking more then 2 days is usually a new feature and not a bug.

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

  24. It depends mostly on by antifoidulus · · Score: 0, Flamebait

    how hot she is and how much I've had to drink.....

    Ok, who am I kidding, this is slashdot, it depends on how good the porn is :P

  25. 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.
    2. Re:How much time do you spend on TPS reports? by borizz · · Score: 1

      Eight bosses, Bob. (You fail Office Space)

    3. Re:How much time do you spend on TPS reports? by Joe+The+Dragon · · Score: 1

      They down sized the one of the bosses.

    4. Re:How much time do you spend on TPS reports? by SCSI-Wan · · Score: 1

      I'll make sure you get another copy of the memo...

  26. It depends on the issue... by Bert64 · · Score: 1

    What was the issue?
    Some things are trivial and fairly obvious mistakes, that are often easy to fix without breaking anything, in which case it's not too hard to get a patch out quickly. Format string problems for instance, shouldn't be too hard to correct.
    Often a little extra validation can correct a problem too, just put in a check for a value being zero before doing a division etc. Things like this are also easy to test, and don't break anything else.

    Longer turnarounds arise when the issue is more of a design flaw than a simple typo, or when your patch includes more than just a fix for the reported issue. I think security patches should only ever fix the issue at hand, with any feature updates available separately. I don't want the process of patching my system to introduce new features that could bring with them new bugs.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  27. 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.

    1. Re:Extreme Programming by KlomDark · · Score: 1

      What if you come to work with a bad case of the farts? That can't make pair programming any fun. Even worse is if it's your partner with the farts.

  28. 48 hours is reasonable by evanbd · · Score: 1

    In the case of a zero-day exploit, 48 hours is an entirely reasonable expectation. As far as I can tell, it is far from the norm, however. For less egregious flaws, feature upgrades, or normal bugs, a slower turnaround would be perfectly reasonable (and what I'd expect). But for a zero day exploit... Well, I firmly believe software companies need to be held more accountable for those by their customers. If that's what your customers are doing, then good for them.

  29. 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/
  30. How fast is your turnaround? by ChengWah · · Score: 0

    Just remember - the cuntstomer is always right, even when expecting the impossible.

  31. What kind of patch? by orzetto · · Score: 1

    D'oh, it would be helpful to know which kind of patch we are talking about. Is that security? If so, how critical? Is that a theoretical case, or a gaping hole that is a dead giveaway to any script kiddie? Is the problem just annoying or mission-critical? Is that going to be used in a network? As a server service? On which platform? If it is a new feature, does it require re-engineering of the code base, or is it a drop-in feature you can be over with in half an hour?

    Most importantly, is your code base well-architectured, or is it a filthy can of worms you cannot possibly modify without breaking something?

    In my (tiny-sized) company, if the boss or other users of our in-house software need new features or a bug fixed, I have the habit of listening first to requirements and estimating time-to-delivery later, and I have a hunch most developers do just that. Sometimes it's half an hour, sometimes it takes three months. Last estimate I gave was "anything between two weeks and six months", when the boss gave me some very vague description of the next package we are to develop.

    --
    Victims of 9/11: <3000. Traffic in the US: >30,000/y
  32. 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.

  33. Pick a policy, follow it. by WPIDalamar · · Score: 1

    In general, the company I work for goes from end of development to GM in about a month, for boxed CD software that ain't bad. That assumes QA has been testing right through development. But it's going to vary widely based on the industry and size of the product.

    I blogged about the opposite issue this morning.

    http://www.rogue-development.com/blog/2007/11/i-love-my-job.html

    Essentially it comes down to choosing a smart policy and sticking with it. If your company's policy is "Spend 2 weeks QA on every release." and you don't spend that two weeks, expect that release to suck.

  34. Patching Bugs by ishpeck · · Score: 0, Offtopic

    My company can patch bugs within the same day the product's released. Never gone more than two days between a customer's bug report and a fix.

    But we don't let bugs slip by. I know since I'm on the QA team. Never a bug. Never once... :P

    --

    "If I were to ask you a hypothetical question, what would you like it to be about?"

    1. Re:Patching Bugs by Phu5ion · · Score: 1

      Wow, not a single bug? Either your developers are total ninjas or you are spending way too much time on /.

      --
      Slashdot is kind of like Playboy; we aren't here to read the articles.
  35. Depends by olddotter · · Score: 1

    If you are talking about serious security vulnerabilities with-out a reasonable work around, then the customer has a reasonable expectation that you literally work around the clock to fix the issue.

    If its a "normal" bug then I think several weeks or months is more the industry standard.

  36. Offer to make it the customers problem by Anonymous Coward · · Score: 0

    > are our customers being unreasonable

    Not for security patches no. If the customer is being a pain, push it without QA and tell them they're welcome to take their chances outside the terms of any support contract. Then tell them how long your unit tests and such take to run and give them a realistic time for a supported patch.

    Most PITA customers will opt to wait rather than risk downtime or data loss.

  37. Size of the problem determines response time by Shivetya · · Score: 1

    Let alone the importance of the problem.

    That is why I am having trouble giving you a fixed number. I have been involved in fixes done in days and ones that take months. Context.

    The real questions is

    Does your management know how to prioritize tasks?

    Then, do they know how who to put to to each task?

    Finally, do they know how to accurately judge if the work is done correctly?

    The problem I have always encountered is that a needed fix gets priority at first, then pet projects somehow get in there, and the deadline moves. Unless of course those affected have more pull than those assigning priority. I always found it amusing that our priorities are set by the people with most pet projects, wolves guarding the hen house.

    --
    * Winners compare their achievements to their goals, losers compare theirs to that of others.
  38. 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."

    1. Re:What is the weight of water? by Anonymous Coward · · Score: 0

      I'm guessing that's 20 million lines of code. An odd measurement of company size to be sure.

    2. Re:What is the weight of water? by XxtraLarGe · · Score: 1

      And what is ~20 Mloc? About 20 million locations? According Free Dictionary, one possible meaning is "million lines of code".
      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    3. Re:What is the weight of water? by mcmonkey · · Score: 1

      I figured loc may mean lines of code, given the context, but that still doesn't give us enough information. Is this a single application being patched? Is this all the applications support by one team? Currently supported by the company?

    4. Re:What is the weight of water? by jonadab · · Score: 1

      > And what is ~20 Mloc? About 20 million locations?

      LOC stands for "lines of code", but it's meaningless if you don't know stuff like what language they're written in, whether that counts comments and documentation, what the general style of the code is, and so on. I mean, a function that takes as an argument a name that might be in any of several formats, normalizes it, and returns the same name in a very specific format, by the time you comment everything out the wazoo and build in the documentation, can be two hundred lines, or you can golf it down to one line, and that's in the same language. On top of that, one line written in a VHLL (say, Perl) is worth about twenty lines, on average, of code written in a third-generation language (e.g., C).

      So what's 20 million lines of code? Without more information, there's no way to know. In theory that could be anything from a simple HTML parser right on up to an operating system with built-in web browser and office suite.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  39. 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
  40. Nothing is unreasonable by twifosp · · Score: 1
    Nothing is unreasonable when you tell your customers they can pick any 2 items from the following list:

    You can have it fast.
    You can have it cheap.
    You can have it reliable.

    If they want it in 48 hours, you should explain what that would cost.

    If you want to streamline your process for patch deployment, I highly suggest you apply some six sigma or equivlant business process improvement strategy to it. Asking Slashdot is going to be counter productive. Your application is very different from anyone else's. Industry standard turn around time for software for a toaster is not going to be useful to you.

    In other words, either you are working effeciently, or you aren't. It's that simple. If you aren't, fix the problems with your process. If you are, charge the customer what it would cost you to meet their needs.

  41. Hot Fixes by Hairy1 · · Score: 1

    If a customer has encountered a serious issue and is unable to operate, getting a hot fix out ASAP to them is sensible. Turn around time might be in the region of 48 hours. By hot fix I mean fixing the specific issue only compared to the state of the source when the last release was shipped - aka the maintenance branch for the last release.

    In terms of period between each formal release; that will depend, but we try to have complete iterations (release or not) every three weeks. Ideally it should be two weeks, but we don't seem to do it on that time frame. Basically its one week of planning and design, two weeks of implementation.

    Regardless, there is no 'correct' way - only the way that provides best value to the customer. If the customer can't use your software thats a *bad thing* - and you better fix it or they won't be your customer much longer.

  42. Depends on your field by Digital_Quartz · · Score: 1

    I would suspect this largely depends on the kind of application you're developing.

    Major problems in "cool blog software", for example, aren't really a huge issue. If it takes them a few weeks to be solved, then poor bloggers will be without some magic-pixie-dust feature for a bit.

    In the telecomm world, though, customers expect a root cause for a "critical" defect in less than 24 hours (and there's a definition for critical, although I won't get into that here). My company actually writes that into our support contracts, so we need to root cause in 24 hours in a very real and legally binding way (although we do not contractually need to provide a fix in that time; sometimes we do, sometimes we just give a workaround).

    Financial customers are even less forgiving.

    A critical problem in, say, the fire control on an assault aircraft, is expected to never exist in the first place.

    1. Re:Depends on your field by azrider · · Score: 1

      In the telecomm world, though, customers expect a root cause for a "critical" defect in less than 24 hours (and there's a definition for critical, although I won't get into that here).
      In the world of nuclear power plants, the systems that record all parts and events are even more critical (outage >24hours = cold shutdown of the plant). Fixes (and contract charges) are based on that fact.
      --
      And ye shall know the truth, and the truth shall make you free.
      John 8:32(King James Version)
  43. 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!
  44. 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.
  45. 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.
  46. How Fast is Your Turnaround Time? by ilikejam · · Score: 1

    Depends what chair I'm sitting on, and whether the armrests hit the desk on the way round.

    --
    C-x C-s C-x k
    1. Re: How Fast is Your Turnaround Time? by Anonymous Coward · · Score: 0

      It all depends on the girl.

  47. None by EmbeddedJanitor · · Score: 4, Funny

    I made them believe it was a hardware problem!

    --
    Engineering is the art of compromise.
  48. a lot of that can be shortened by Surt · · Score: 1

    It depends on the level of comfort you need to have with your release, and how quickly you can get there.
    I also work at a mid-sized company in the enterprise software business. We do a lot of automated testing. For an urgent, customer blocking issue, I could potentially:

    1) get really lucky and diagnose the problem instantaneously. Realistically, it will take me at least one hour to properly diagnose any serious bug that escaped our qa process.
    2) Make a fix. Assuming this is a fairly trivial fix, this can be done in minutes.
    3) Submit fix to automated testing. Autotest turns around in about one hour.
    4) Make a patch. This takes about 2 hours, as it requires an autobuild of the whole project plus some version control stuff. It can be done in parallel with the automated testing if the bug is sufficiently urgent. It might be conceivable that we could bypass our standard patch mechanism to speed things up, but we've never had a sufficiently urgent bug to do this in my knowledge.

    So we can turn around a patch in about 3 hours (plus fix implementation time) if it was nightmarishly urgent. A more realistic turn around would be next day, which would allow time for us to run a manual qa pass, and to do a more thorough job of documenting and testing the bug (which in the given scenario would take place after shipping the fix).

    What makes this at all possible is the high level of confidence we have in our automated testing. Our auto-tests cover our application surface really, really well, so passing auto test will give you a pretty high comfort level in giving something to a customer.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  49. 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 log0n · · Score: 1

      Yeah.. I was going to say.. I interpreted the FP as saying they are the customer, so they have every right to be 'unreasonable'. They bought something (seems to be mission critical) so they should have every right to expect it works for them. That's how the customer/provider relationship works, especially one that provides dedicated and one-off services like this seems to indicate.

      Of course, 48 hour turn around may not be possible.. that's another issue.

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

    3. 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.
    4. 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.

    5. 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"
    6. Re:That works both ways. by davidwr · · Score: 1

      What you need is rapid impact analysis, and teams that are able to tackle different tempos, based on what others better informed tell them. The result of the rapid impact analysis may be the criteria.
      --
      Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    7. Re:That works both ways. by Anonymous Coward · · Score: 0

      Not if that one time is in a business critical process which only occurs once a year.

    8. Re:That works both ways. by kaizokuace · · Score: 1

      Its not that both sides think they are right. Its a matter of both sides are trying to walk away with as much as possible. The more one side gets the less the other gets. Doing business is essentially a form of compromise that each side must take. People like RIAA seem to have forgotten this ans just take more for themselves screwing the customer. But as I said, it is only natural to have conflict when doing business. A customer that is being "unreasonable" is just trying harder than most to get what they want at the price they want. They usually know full well what they are doing as well at the company selling the product.

      --
      Balderdash!
    9. 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."
    10. Re:That works both ways. by roguetrick · · Score: 1

      Yep, thats how we can label the toilet paper environmentally sound.

      --
      -The world would be a better place if everyone had a hoverboard
    11. Re:That works both ways. by magisterx · · Score: 1

      Everything you say is true, yet keep in mind that saying "nope, we're not gonna fix that" will almost certainly result in loss of customers and depending on the contract and type of software could easily result in a law suit. Each situation will be unique, but often, there will be a middle ground.

      In any position that deals directly with the customer, it is often wise to apologize for the customer's inconvenience even when it is not your problem, and of course without admitting fault even if it is your fault. You do always have to on watch for feature creep that will increase your costs without increasing your pay and for unreasonable demands. But, when you can accommodate the customer, you should, and when you cannot you need to give them a reason why and also come as close as you can. In most situations, the right answer will lie between bowing down and obstinately refusing.

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

    13. Re:That works both ways. by Sleepy · · Score: 1

      In Soviet Russia, toilet wipes you!

    14. 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...
    15. Re:That works both ways. by nihongomanabu · · Score: 1

      Does this mean that in the west we wipe the toilet?

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

    18. Re:That works both ways. by arth1 · · Score: 1

      s/narrow/broad/2

    19. Re:That works both ways. by arth1 · · Score: 1

      I am quite sure that Oracle databases (as an example) are used for both toilet paper inventories and storing critical (no pun intended) nuclear reactor data.

    20. Re:That works both ways. by mwlewis · · Score: 1
      --
      JOIN US FOR PONG!
    21. Re:That works both ways. by Anonymous Coward · · Score: 0
      It's Windows? Sure.

      Windows is a general-purpose computing platform. My company uses Windows for everything. Well, nearly everything.

      Millions of end-users running all their applications on one Windows installation can't be wrong, can they?

    22. Re:That works both ways. by wtansill · · Score: 1

      You sell toilet paper and control reactors with the same machine?
      If the reactor controls fuck up, you're going to need a lot of toilet paper....
      --
      The contest for ages has been to rescue liberty from the grasp of executive power. -- Daniel Webster
    23. 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.
    24. 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
    25. Re:That works both ways. by tftp · · Score: 1

      I feel the janitor's pain. However a team of nuclear engineers probably has a chance to figure out how to use the toilet paper.

    26. 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?
    27. Re:That works both ways. by Kjella · · Score: 1

      You want the biggest difference? Sales love to mention *response* time, when it comes down to it *resolution* time is what's important, which of course noone wants to give any promises about. So what happens is that I'm pretty sure the support I deal with have someone taking work and assigning it, setting it to "Work in progress" but mysteriously enough simple issues that are reproducible in five minutes take a week of "work".

      --
      Live today, because you never know what tomorrow brings
    28. Re:That works both ways. by Anonymous Coward · · Score: 0

      What?! You only use toilet paper once a year?! Eiuuwwwwwwww!!!!

    29. Re:That works both ways. by Cairnarvon · · Score: 1

      Maybe the customer is being unreasonable. Maybe the developer is being unreasonable. It isn't possible to determine which from either person's viewpoint.

      Considering that the developer is generally far more familiar with the product than the customer and as such has a more realistic view of what is and isn't doable, it's nearly always fair to say it's the customer who's being unreasonable, and not the developer.

      Saying that it isn't possible to determine from either person's viewpoint is like saying that if a scientist says the universe is billions of years old, and your crazy uncle says it's six thousand years old, we can't rightly decide who to believe. Some opinions just count for more.

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

    31. Re:That works both ways. by BVis · · Score: 1

      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.
      Which conveniently results in all bugs being filed as 'mission critical'. It's like the people who send every email message they send out with 'highest' importance; everyone thinks that their stuff is the most important thing you'll do all day.
      --
      Never underestimate the power of stupid people in large groups.
    32. Re:That works both ways. by caeled · · Score: 1

      and QA teams especially those that report through the same structure as the development team let things through that most CS could find in 3 minutes of testing. Don't lay responsibility for dealing with your crap code on the group that has to deal with the aftermath. We do our job. Howabout doing dev right the first time?

    33. Re:That works both ways. by gstoddart · · Score: 1

      pretty much everything is more important than toilet paper inventory from society's point of view, so their inventory bug will never be fixed.

      Oh, I don't know. I put a fair amount of priority on my toilet paper inventory. Nobody likes to be stuck without paper.

      At the time, that's likely to be the most critical juncture of your day if you find your self trapped, in need, and without recourse. It's all down hill from there. :-P

      Cheers
      --
      Lost at C:>. Found at C.
    34. Re:That works both ways. by Archangel+Michael · · Score: 1

      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.

      I worked at a place where the loudest squeeky wheel got greased, in order of squeekiness. "My Mouse is broken and I have a Powerpoint presentation in ten minutes" screaming lunatic has the same priority as "the network is down", was SOP. Fix the screaming lunatic first, because his powerpoint is life and death to him, never mind the fact that the mouse hasn't worked in three weeks and this was the first you heard of it.

      Proper support requires some form or Triage to assign priorities. Urgent doesn't mean Important. Lastly, I know from experience, that as long as the mentality of the "customer is always right (even when they are wrong)" then real progress cannot be made. Sometimes, just sometimes customers aren't right.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    35. Re:That works both ways. by asc99c · · Score: 1

      Well to be fair, it's pretty much impossible to give a promised resolution time - just be glad the sales team didn't promise that :)

    36. Re:That works both ways. by jahudabudy · · Score: 1

      Oh man, that made me laugh and cringe all at the same time!

      --
      ...sometimes, in order to hurt someone very badly, you have to tell that person terrible lies. - PA
    37. Re:That works both ways. by wtansill · · Score: 1

      You sell toilet paper and control reactors with the same machine?
      If the reactor controls fail you're going to need a lot of toilet paper...
      --
      The contest for ages has been to rescue liberty from the grasp of executive power. -- Daniel Webster
    38. 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.
    39. Re:That works both ways. by Trifthen · · Score: 1

      They do this in hospitals; it's called triage. Hospitals have a nurse, or more than one, whose only job (ideally) is to assess and prioritize patients who can't objectively determine their own need, so those who truly need immediate care are serviced.

      eg. "This guy got his arm mangled by a wood-chipper. I think he should go in before the lady who sprained her pinkie, and furthermore, this guy needs to be fixed up NOW."

      Big corporations should have a very similar tiered setup. In the software world, we generally call these people project managers; they manage the projects and try to prioritize what can realistically get done in a specific time-period. This particular ask-slashdot is way too rigid, because there's (seemingly) no provision made for quick-turnaround on emergency triage. If a bug would put a client out of business, or ruin your company's reputation, or otherwise damage data, 48-hours is not unreasonable. There needs to be a short-circuit around the bureaucracy of meeting->design->meeting->confirm->write->test->qa->stage->production->rinse->repeat sometimes when the patient is hemorrhaging.

      --
      Read: Rabbit Rue - Free serial nove
    40. Re:That works both ways. by gstoddart · · Score: 1

      Big corporations should have a very similar tiered setup. In the software world, we generally call these people project managers; they manage the projects and try to prioritize what can realistically get done in a specific time-period.

      Most of them do, mine included.

      We also have these things called VPs who occasionally step outside of that structure and decree that something is important because a given customer is important and needs to be kept happy because something which affects the quarter could be on the line.

      Cause, really once the C*O steps in and says this is critical and needs resolution, what exactly do you propose people do? Maybe in your company, they have rules which prevent such things, but some of the rest of us have seen other things happen. (To be fair, not always, but it does happen.)

      The world is seldom so cut and dry as "things should work this way and there are no exceptions". When you're at the bottom of the hill, that's where all of the shit ends up. :-P

      Cheers
      --
      Lost at C:>. Found at C.
    41. Re:That works both ways. by The+Raven · · Score: 1

      Sales tells the customer what they want to hear. Support tells the customer the truth.
      Not quite true... poor salesment tells the customer what they want to hear, regardless of whether it's possible. And poor support tells customers whatever means less work on the part of the tech.

      Good sales personnel offer incremental benefits at incremental cost... you get this basic plan for this price, but if you want X, Y, and Z customization these will be the extra costs. They are also at least somewhat honest about timeschedules, because that keeps customers happy so they keep their service with you.

      Good support is honest, even pessimistic, about timeschedules because a customer howls when things are late. Better they are disappointed about the timeschedule early, than raging mad about it being late after.

      Few sales people are good. And also, few tech support are good. Most suck, and we all know it. Most support lack empathy with the customer, are unable to see things from their point of view, and are too stressed or tired to deal with every customer in a cheerful and upbeat manner.
      --
      "I will trust Google to 'do no evil' until the founders no longer run it." Hello Alphabet.
    42. Re:That works both ways. by fimbulvetr · · Score: 1

      Then the first time you work diligently and hard to get it done, as should be expected. The second time, you should be fairly compensated by then. If not, you have not made it aware to your superiors that you expect better treatment as much as they expect diligence, or you can always work somewhere else.

      Personally, I have no time for companies that don't give a flying fuck about my hard work.

    43. Re:That works both ways. by JWSmythe · · Score: 1

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

          Been developing long?

          Every customer considers every application to be "mission critical"

          And, regardless of if you were the developer or company involved, any unrelated problem will be thrown back to you. What if the data corruption bug is a failing hard drive on the client's machine? They'll sure as heck be asking you what YOU can do.

          Been there, done that, have the migraines to prove it. :)

      --
      Serious? Seriousness is well above my pay grade.
    44. 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.
  50. the fastest response by belmolis · · Score: 1

    I'm surprised nobody has mentioned the fastest responses, which may take essentially zero time. One is: "It isn't a bug.". The other is: "Already fixed. Update your installation."

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

    1. Re:That's a big "it depends" by laejoh · · Score: 0

      I'm an embedded developer, ...

      You're in Iraq?

  52. What type of product? by alta · · Score: 1

    I don't think there's enough info to even answer this one. I think the answer is entirely dependant on the importance of the program you put out. If you write rules for DoD firwalls, then you should be measuring in hours or minutes. If you write screensavers to put on OLPC... You have a little more time. And there's the inbetween, like if you write the algorithm that counts how many M&M's go into each bag.

    --
    Do not meddle in the affairs of sysadmins, for they are subtle, and quick to anger.
  53. No offense by moogied · · Score: 1

    No offense intended.. But you should be finding these things on your own and creating patches. Not releasing it out for your customers to locate. Its as if I buy a truck from Dodge/Nissan/Toyota/Wherever and I get it home to find out that if I hit it off after driving for 30+ minutes, and try and nhit it back on, it will only go in reverse. I expect that fixed ASAP. Not 4-6 weeks.

    --
    So basically, -1 troll/offtopic is really slashdots way of saying "I hate that you thought of something before me."
  54. 46 days by Maxo-Texas · · Score: 1

    Minimum turnaround.

    Large product. Billions in sales go through it.
    ITQA takes 10 days with no defect- 20 days with a defect.

    Scheduling installation time, Sox forms, required paperwork overhead, project approval comprise the rest. Actual coding and testing probably bout 8 to 16 hours.

    At a small privately held company, it would take us 1 to 3 days.

    --
    She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
  55. Maybe CowboyNeal by SnoopJeDi · · Score: 2, Funny

    does business with this company.

  56. fast by BigBossBert · · Score: 1

    Depends on the complexity of the problem. But with only 1-2 mloc, problems usually aren't to complicated. If the problem is both serious and affects only a small part of the software, patches can be issued in 10-60 minutes after reporting the problem. More often though, it can take 1 or a couple of days before we fix a problem. The key to fast response it the ability to deliver small patches that don't take a lot of effort to install. Our patches are installed on a central server, and then automatically installed on each of the clients whenever the client starts a program.

  57. 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 LingNoi · · Score: 1

      If your bug isn't something they think will affect a lot of people, it isn't likely to be fixed.
      A lot of companies do this. If you read the book "Joel on software" by an ex Microsoft employee who lead the Excel team you'll see that you have to balance the cost of fixing a bug with the number of users it affects.

      I personally disagree but I can see his point if it is going to take up ALOT of your time which could be spent on a new product, but most bugs are one or two liners anyway.
    3. Re:Turnaround time by Anonymous Coward · · Score: 0

      ... that shell fonts are poorly rendered ...

      Zap!

    4. 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.
    5. Re:Turnaround time by fyngyrz · · Score: 1

      Great news. :-)

      --
      I've fallen off your lawn, and I can't get up.
    6. Re:Turnaround time by fyngyrz · · Score: 1

      You know what? Rather than waste the space the troll occupied, I'd just as soon make an on topic remark and let people go from there. Respecting the space a FP clown claimed isn't built into my outlook, sorry.

      --
      I've fallen off your lawn, and I can't get up.
    7. Re:Turnaround time by fyngyrz · · Score: 1

      Smart people don't use slashdot moderation points to filter posts, because slashdot moderation is massively broken and constantly hides great posts. So there's no effect for the savvy slashdot reader. And I only concern myself with them. Certainly not with irrelevant AC interlopers like yourself who use obscenity and name calling instead of normal communications skills, and who have no sense of how slashdot actually works.

      --
      I've fallen off your lawn, and I can't get up.
    8. 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?

    9. Re:Turnaround time by Zashi · · Score: 1

      I'm listing you as a 'friend' for your replies in this thread.

      --
      Skiffy is Spiffy, but Ort is tort.
    10. Re:Turnaround time by encoderer · · Score: 1

      "but most bugs are one or two liners anyway"

      True, but as Joel himself points out, knowing precisely which line or two needs to be added or altered can take hours and even days.

      And no matter what anybody personally thinks about Joel, his writing, and his background, nobody can deny that he has built a successful software company from the ground-up without a dime of outside money. That's something that many developers have tried but VERY few have found any level of success. And it's hard to argue that it was somehow just a case of 'right place right time' when the guys bread-and-butter is BUG TRACKING SOFTWARE.

    11. Re:Turnaround time by LingNoi · · Score: 1

      Yeah, I do have to question the relevance of his product in a world of free bug tracking software, but whatever. He's making so much money that he can fly around the world on a tour so he must be doing something right.

    12. Re:Turnaround time by Anonymous Coward · · Score: 0

      FYI everybody.... use caution. the page below has a nitpick count off the charts!

    13. Re:Turnaround time by Anonymous Coward · · Score: 0

      Says the annonymous coward about someone who lead the development of Excel...

  58. 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!
  59. What's your experience level? by Malc · · Score: 1

    That's not a question that can be answered here. Why would you even bother asking? Every piece of software is different. Every company has a different set of talent, different size budget, different processes and different sets of expectations.

  60. Discuss Turn Around Beforehand by darkmeridian · · Score: 1

    You need to hire a lawyer. Part of my job includes crafting software licensing contracts. In your services contract, define levels of bugginess--mission critical all the way down to insignificant. Set acceptable turn-around periods for each level of bugginess: two weeks for mission-critical to months for bugs that you can work-around. (These are just examples; I'm not providing legal advice; hire your own counsel.)

    --
    A NYC lawyer blogs. http://www.chuangblog.com/
  61. 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.

  62. What if you had to fix a spacecraft by cjonslashdot · · Score: 1

    It depends. E.g., if your software controlled a spacecraft, and there was a mission-critical failure, you would be thinking in terms of hours to find a fix - not weeks.

  63. Scratch the "always". by iknownuttin · · Score: 1
    You will ALWAYS think that you're right and that the other person is unreasonable.

    For the exception of the "ALWAYS", I agree with you. I have never had the attitude that the customer is ALWAYS unreasonable. Honest.

    --
    I prefer Flambe as apposed flamebait.
    1. Re:Scratch the "always". by veganboyjosh · · Score: 1

      I ALWAYS don't think the customer is not unreasonable.

  64. It is common practice on Slashdot by QRDeNameland · · Score: 1

    to begin a post with a sentence fragment which is a continuation of the subject line.

    --
    Momentarily, the need for the construction of new light will no longer exist.
  65. It depends on the priority by Anonymous Coward · · Score: 0

    Low priority issues just get dropped. Management may order us to start working on a high-priority issue a month after it was raised. For simple problems a fix could be released another month later. Many issues have to be escalated to our supplier, which usually takes a few months. Hey, we just released a bug fix to our customers two whole years after receiving it from our vendor. Security issues such as exploits are deemed low-priority.

  66. simple solution by edwardpickman · · Score: 1

    Just change the version number and ship the patch. Then you can take all the time you need to fix it right.

  67. continuous fixes? by groovepapa · · Score: 1

    been doing some Agile/XP work recently complete with Continuous Integration. we write website code and not box code, so might be a special case here, but our CI server builds in about 13 minutes. we have a production branch of the code monitored by CI so if/when we make a patch, it's immediately tested and built and ready for deployment. so if it's just an easy fix, it might be as quick as 30 minutes that we could deploy it out to the production website.

    I also recall an experience I had with an open-source project in which I requested a somewhat trivial feature. the author added it to scm, sent me a patch file, and it was in the next nightly build as well. so that took about 12-24 hours.

    in light of these experiences, 48 hours doesn't seem unreasonable to me, but I also agree with previous comments - it's a highly relative thing to judge. the best you can do is keep your code maintainable and try to reduce red-tape, I guess.

  68. All depends on your SLA contract by Vicarius · · Score: 1

    It seems your managers weren't able to negotiate a good contract terms, and that's why customer is able to dictate such harsh terms. Whether customer is right or wrong, let them know, that out of Quality, Time (Speed), and Cost they can pick only two.

  69. How well is the code documented? by miffo.swe · · Score: 1

    I guess the real problem for many is the quality of the code in question and the level of documentation. If you as many OSS projects have very well written code that as a bonus is extremely well commented a patch can be issued within hours for Q&A. If on the other hand have a big pile of poorly made code that lacks both sanity and documentation, well, it will take time.

    Spaghetti code can make even the easiest fix break things in totally unrelated places making Q&A a nightmare. If it takes you a couple of weeks to get a patch released something is broken. Be it management or code, it still sounds like a long time.

    My own experience is that many OSS projects for some reason has extremely short patch periods and still dont break stuff all over when releasing a patch. One of the differences is the lack of centralized management. How much of the time for releasing the patch is really just waiting for approvals and such from others?

    --
    HTTP/1.1 400
  70. Too many unknowns by Coward+Anonymous · · Score: 1

    The answer to your question is - "it depends".
    It depends on too many unknowns that may take you longer than 48 hours to explain on /.
    The overall size of your code base is a meaningless metric - it could be a beautifully architected masterpiece that is easy to tweak and modify or lots of little pieces with relatively few interactions or it could be a 20 Mloc ball of spaghetti.
    What is the complexity of the specific code with the bug?
    What is the source of the bug? Is it easily reproducible? Is the location of the bug known?
    Is the buggy code relatively insulated from the rest of the codebase or is it central to the entire product (think my_very_specific_function_for_twiddling_diddles() vs. printf()).
    If you fix the bug wrong how many other parts of the code could be affected?
    What are the ramifications of screwing up the fix beyond embarrassment?

    Unless you know all of these, it is arguable you are not prepared to answer if the customer is being realistic (as opposed to reasonable).

    1. Re:Too many unknowns by Coward+Anonymous · · Score: 1

      Forgot one more important item.
      I don't know what your role is from the post but it is the engineer's task to provide a fix as quickly as possible (within the constraints of having a life, etc.) if that is what the manager wants. Though tempting and quite distracting, it is ultimately not the engineer's role to ponder the customer's reason. The engineer should provide his manager an assessment of the time required for the fix (in his role) and its associated risk.
      It's up to the manager (or higher ups) to decide, given the engineering assessments (of dev, QA, etc), if providing the fix quickly is realistic and acceptably risky or not.

    2. Re:Too many unknowns by Coward+Anonymous · · Score: 1

      I really should stop replying to myself...
      Another important metric is the impact of the bug on the customer. Is the customer shutdown and out of business until the bug is fixed or is it primarily a cosmetic bug or a bug with many workarounds?

  71. Faster - Better - Neither by rev_sanchez · · Score: 1

    So, they want these faster? Sure, you'll bust your ass to get it done a little quicker but the thing that generally suffers the most in this situation is testing time. That means there is a much better chance of serious bugs getting out the door (probably about as bad as what you were trying to fix).

    Management is going to notice when customers are screaming that the company is producing junk quickly. By now the boss has completely forgotten that he or she demanded a 4-5 week project be done in 2 days. In response they add more oversight (TPS reports and meetings with your 8 bosses) to ensure that they proper procedures are followed next time.

    Now the 4-5 week project takes 8 weeks because you need approval from everyone to do anything and daily progress meetings to make sure everything is on schedule.

    --
    If you didn't come to party don't bother knocking on my door. Prince '1999'
  72. Yes. by SoopahMan · · Score: 1

    Yes. But the right answer isn't to just say no. You and your company need to take steps to fix this problem.

    You: It sounds like you have a lot of panicked patches going out. Improve your tests, expand your test coverage, consider creating custom test tools to better capture edge cases. Try to define an area or category of the app that usually leads to this situation, and consider Test Driven Development for it.

    You do need to ask those within your company demanding the patch to allow you the time to get a proper fix done, not a hack job.

    Your company: There are people in the world who can speak with a customer or contact a group of customers, admit it brokèand leave the customer feeling happy and well taken care of. You need to find and hire at least one such person, possibly many, and have them handle these situations.

  73. 48 hour turnaround time, you have it easy! by gnuculus · · Score: 1

    I guess it depends on the severity of the fault but in my organisation they (customers) expect a "remedy" within 2 hours and a fix in 4 hours for a "show stopping" fault. If these times aren't met we incur financial penalties. That's mission critical for you..

    --
    "They misunderestimated me"
  74. QA QA QA QA by 0x4765654b · · Score: 1
    The only way you can consistently delivery rapid release cycles in a project of any size is to have your QA processes automated and repeatable. If you have automated test tools you can quickly turn around releases. But, you have to have the discipline to continually upgrade and improve you testing suite to respond to these quick fix requests.

    Basically, if you don't have the tools, you are SOL.

    --
    Geeks of the world unite!

  75. Call this an invitation to improve by ozzee · · Score: 1

    In my last gig, we had a continuous build process going for all builds and unit tests for lots and lots of things. The release bits was selected from a build from the continuous build system which automatically deployed to the test servers once selected - which meant that nothing was done by hand other than selecting which build. If the nature of the fix was such that with confidence problems would be caught in unit tests, then we would limit the amount of other testing. The build time was about 2 hours (because of the unit test run) and so if we did everything right, we could get a fix out within 24 hours depending on the complexity of the fix itself. There was no "build" guy, everyone on the team was responsible for the build. We used a home grown "tinderbox" like system which meant that we had very accurate knowledge of what fixes went into what builds. The build directories and test results were automatically kept if there was a build error so it could be examined manually if there was a failure. Intermittent failures came up all the time and were snuffed out because of the ability to go back and check. On windows builds, unit tests that segv'd allowed you to drop into the debugger saving a huge amount of time not having to re-create a failure scenario. On linux builds it would core dump which allowed it to be re-examined. This system could be improved upon in many ways but it was very very cool.

  76. 48 hours can be reasonable by ArchAngelQ · · Score: 1

    Last Friday, 2 hours turnaround time on a minor defect fix. But then, it's for a data delivery platform, not a shrinkwrap product, and it was blocking a large client's use of the system, and the fix was simple. It passed through support reporting it, a developer and QA person each testing it, the developer fixing it, the QA person regressing it to verify it was fixed, and it was deployed, all in that two hour time frame.

    So, yeah 48 hours? No, that's not unreasonable, depending on the difficulty vs. if it's a blocking defect. 48 hours turnaround for a new feature? Yeah, that's not reasonable.

  77. We can sometimes get.. by Anonymous Coward · · Score: 0

    ..experimental patches that have passed QA muster to an ailing customer within two days. It used to be much shorter than that, but our regression test suite is more extensive now as a result of our growing featureset. And this is enterprise-level software that services core development infrastructure for major software companies.

  78. Depends on Software Size AND Size of Change by PaulMorel · · Score: 1

    How big is the software? How big is the bug/change?

    For a new feature, 48 hours is generall way too short.

    For a bug fix, the question is where is the bug? If it deals with money at all, then it needs to be fixed quickly, but it can't contain errors, so both time and correctness are important. In that case, then the size of your team becomes the determining factor. If you have a small team (

    In my experience.

    --
    burrocrisy
    and that would be what? Ruling by jackasses? Never has a slashdot misspelling been more apropos
  79. It depends of course by stabiesoft · · Score: 1

    If the problem causes your customer to be dead in the water, then 48 hours is too long. If its minor, then no. Imagine if your furnace broke and under warranty and they told you it would be 48 DAYS before somebody got out there. I think the sw industry as a whole doesn't take customer service very seriously.

  80. Require Compensation. by Anonymous Coward · · Score: 0

    I imagine the team works (read gets paid) to work 40 hours a week.

    Would you, if compensated adequately, work 80 hours? This would about double the man hours and half the delivery date.

    I have no problem working weekends, or after hours. Read my contract and you'll see the rate is about 3x what I normally charge.

  81. It's all about risk by Mandatory+Default · · Score: 1

    This isn't a question about speed, this is a risk analysis question. Is is riskier to allow the bug to stay or riskier to run code that didn't go through a full QA cycle? At the end of the day, that's the customer's decision, not yours. It's your company's job to communicate the risks to the customer.

    Having said that, I'd say that getting a build out in 48 hours shouldn't be hard. If you have proper source control and proper build procedures, you should be able to reliably rebuild the last version of your product with absolute certainty. If you have a one line change that has been code reviewed by other senior developers, you should be able to create a point release and still sleep soundly at night. (Disclaimer: ignore his paragraph for software that human lives depend on such as space vehicles, medical devices, etc.)

  82. 8 Hours Realistically by plasmana · · Score: 1

    Eight hours is about the fastest we can go from code complete, to full regression test, to production. There's a lot of automation involved to pull that off. Most of the time is automated regression testing. Build and release to QA is 90% automated and only eats about 10 minutes. Release documentation is about another 20 minutes. Deployment to production is done manually and takes about 15 minutes. Our app is 300,000 lines of ASP.NET 2.0, C# and T-SQL. Database changes add another couple of hours to the whole process. Drop the full regression and we can go in less than an hour after code complete. We put a lot of thought into making our testing & deployment process as effortless and painless as possible, without adding any undue risks.

  83. One size turnaround time doesn't fit all by Kyru · · Score: 1

    It really depends on the system, the problem and the people involved. The system we run where I work has changes put into it in production daily with turnaround times anywhere from an hour to several weeks depending on the change. We have some customers where a fix can be worked on and implemented over the course of weeks due to testing and they have no problem with that and we have customers that expect things to be fixed later today. The real question to ask yourself and your team is is it reasonable in your product or system to be able to turnaround something that fast?

  84. Free/Open software projects get it done in hours by Tracy+Reed · · Score: 1

    It really depends on what kind of patch we are talking about but if it is a zero day security vulnerability I would expect it to be fixed in hours. The FOSS world is pretty much the gold standard for this sort of thing. If your software is super critical banking type stuff you should still be able to get a fix out in hours but also have an extensive set of regression tests to run the fix through so you can have some assurance that you did not break anything else.

  85. (~20 Mloc) by Anonymous Coward · · Score: 0

    ~20 Mloc.
    Fuck You.

  86. continuous testing by tolomea · · Score: 1

    I worked at a place with similar problems, while I was there they restructured things to rectify the situation.

    Originally they had all the engineers delivering work into the main code dev stream, then when a release was needed they would branch for release and then run a battery of verification and regression tests which took several weeks to complete.

    The solution was to tier the main line, developers delivered into an integration stream, the work in this stream was then regularly delivered en mass into a test stream where dedicated testers then gave it a work over to check for interaction issues between the various bits of work coming in. Once it received their approval it was then delivered into the mainline proper and another batch was brought into the test stream from the integration one. The mainline in turn was subjected to continuous automated regression testing.

    The net effect of this is that you always have a high level of confidence in the quality of the mainline code. So if an urgent release is needed for some particular fix only that fix and it's interactions need to be tested, the rest of the code can reasonably be assumed to be in good working order.

  87. Classical Advice by Applekid · · Score: 1

    Fast, Good, or Cheap.
    Choose two.

    --
    More Twoson than Cupertino
  88. Customers. Unreasonable. Huh? by CranberryKing · · Score: 1

    This is less of an issue about economics and more of an issue of intelligence. But lets indulge. In free market capitalism, business' (you) provide services to meet customers (them) demands. How well or creatively you do that has a direct correlation to your degree of success.

    So your really asking the wrong question. But you could try telling the customer that they are being unreasonable. Let us know how that works out for you. Heh.

  89. You mind a little advice? by twmcneil · · Score: 0

    Scotty: You didn't tell him how long it would REALLY take, did you?
    Lieutenant: Of course I did.
    Scotty: Oh, laddie. You've got a lot to learn if you want people to think of you as a miracle worker.
    --
    "The ferrets, they're every where I tell you!"
  90. I remember Theo saying... by Secret+Rabbit · · Score: 1

    ... in an interview that from a good bug report to patch issued was on average *1 hour*. I imagine that this is because they don't have the usual administration bullshit to deal with and can just "get it done." So, I'd honestly take a look at the process of getting the patch out rather than your development of it to find where the bottle-neck is (that is unless it is you guys that suck). Because, IMO, 4-5 weeks is ludicrous.

  91. In general, yes... by CaptainCarrot · · Score: 1

    are our customers being unreasonable?

    ...but it depends on their expectations and the nature of the bug. Suppose there a situation where a new feature they absolutely must have in order to do business is so buggy it renders the rest of the software unusable. That's a show-stopper. If the software doesn't work at all, then you must deliver a fix ASAP.

    For a new bug where you've recently delivered nothing new that's critical, i.e most of the time, IMO you're better off with a rollback than a 48-hour patch as long as there are no compatibility issues. What it comes down to is, do they want it done, or do they want it done right? A patch that breaks something else because you haven't been allowed the time to test it properly is a patch you're better off not releasing. In my experience, that happens with unacceptable frequency when you crank one out this quickly.

    But they may understand that risk and be willing to put up with it for the sake of whatever they want patched. In that case, it's their call as far as I'm concerned.

    On the other hand, if this is an online app, and the bug has opened up a vulnerability that has let them get hacked to the point where the goatse.cx man pops up every time they go to process an order... Yeah, that's probably one you should do in a hurry.

    --
    And the brethren went away edified.
  92. Traditional CS answer - It Depends by eison · · Score: 1

    Depends on severity of problem/risk assessment of change. Problem is, once you start factoring in risk assessment of change, you can be sure that whoever does the risk assessment will assess it as low/minimal risk to get it approved quickly. Then whoever has the problem will assign it critical severity to get it done quickly. So you need to do a real sanity check review and accept that you can't fully trust your inputs.

    If you're going to be updating a few million desktops around the world, take a month to get a right. But even Microsoft has a much faster process (hotfix) for limited-scope fixes that aren't goinog onto millions of desktops for important enough stuff. So yes, being completely unable to hit 2 days on an expedite/important change is pretty bad. But, you never said how important the change really was.
    If you are just doing something that isn't truly earth-shattering if it isn't perfect, if the cost of downtime isn't measured in $$$ per second, then you should seriously be able to trim down your timeline and process a bit here.

    I've worked at a place with a normal-three-months-but-emergencies-as-fast-as-a-day-but-usually-two-days procedure, and in a place with a normal-one-week-but-emergencies-in-minutes procedure, and both seemed reasonable given the scale. I've never worked in a not-possible-at-all-in-2-days shop, but the normal-three-months place certainly would routinely refuse a 2 day request unless it was a critical impact (security, billing, or commission tracking problem, or current outage - nothing is more important than fixing your customer's bills or your salesmen's commissions, and if the system is already broken then the parts of your beuracracy that are in place to keep it from breaking no longer apply.)

    --
    is competition good, or is duplication of effort bad?
  93. Don't write it all in C. by MikeFM · · Score: 1

    I think that software that takes a long time to patch is often, but not always, designed badly. Do the time sensitive parts of your code in C/C++/Asm and the rest do in a higher level language such as Python. That way the majority of your code should be pretty easy to patch quickly while still keeping the speed boosts where they matter most. An additonal benefit is that there are many languages out there that are easy to embed in your program and usually they have far more maintainers than you'd have resources to put on a project - any bugs that show up will often be found and fixed before you even know about them. Code written in high level languages often is also more resistant to many types of security issues.

    If you're already using a high level language and fixes take weeks then I think you may be doing something wrong. :)

    --
    At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    1. Re:Don't write it all in C. by inflex · · Score: 1

      That's all nice and fine for bugs such as memory allocation and pointer faults etc but no matter what language you write in you will still run into logic-faults, faults caused by you believing the code does one thing while the interpreter does another.

      Don't get me wrong here - C is a horrid little language, I've even written a small booklet on its bad quirks and how to potentially step around them but that all said the biggest fault/bug generator is still the assumption that what your write is going to do what you think it does. Most memory/pointer faults can be nailed down fairly quickly using valgrind or other electric-fence type environments, it's the logic faults that really get you pulling your hair out.

    2. Re:Don't write it all in C. by Z34107 · · Score: 1

      Do the time sensitive parts of your code in C/C++/Asm and the rest do in a higher level language such as Python

      C++ is more on par with Java, not assembler. Go looky at MFC, for example - your program is an object, your window is an object, everything you can think of is a CSomeObject that does CSomeObject->SomeMethod() stuff - not MOV AH, AL

      --
      DATABASE WOW WOW
    3. Re:Don't write it all in C. by Glonoinha · · Score: 1

      I think he was talking about performance, not syntax.
      I had a customer once spec that the system needed to sustain 7 transactions a second on a real-time system. Sure thing. No Problem.
      They said they wanted it in Java, at which point I laughed. This was in late 2000 or early 2001. I suggested we use C, and they bought it.

      And there is that minor thing about being able to write operating system extensions in C/C++ and Assembly (but not in Java), but I doubt that was what he was thinking.

      --
      Glonoinha the MebiByte Slayer
    4. Re:Don't write it all in C. by MikeFM · · Score: 1

      But logic faults are easier to find and fix in a higher language because you have less syntax to hurdle over to understand what is going on. I'd much rather try to read, understand, and fix Python code than the same functionality in C.

      Of course that doesn't fix every problem but I think it fixes a lot. I see so many programs written entirely in C when they really shouldn't be. I think programmers feel more studly if they write everything in C than if they write in a higher level language when possible.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    5. Re:Don't write it all in C. by MikeFM · · Score: 1

      C++ and Java are still a lot more trouble to work with than Python or a similar level of scripting language. Which language you do a given task in should vary by what is most appropiate for doing that task. If doing it in C++ instead of C will make your program easier to maintain then use C++. If doing it in Python makes more sense than doing it in C++ then do it in Python. If you have a domain specific problem where Prolog makes more sense then use Prolog. Don't replace three lines of Prolog with three hundred lines of C - just embed Prolog and learn to use it. Likewise, if writing something in Prolog would be slow and difficult to maintain then maybe C, C++, or Python makes more sense for solving that problem. Trying to force a problem into a given language it doesn't fit well with doesn't make a lot of sense.

      We all love the quirky folks that figure out how to write web servers in Postscript and Doom clones in QBasic but it just isn't the right choice for a real-world implementation.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    6. Re:Don't write it all in C. by inflex · · Score: 1

      For sure, too many people write too many programs in C when there are more appropriate alternatives. One of the really nice ones out is "Lua", I was using Python for a while and I ditched (mostly) in favor of Lua.

    7. Re:Don't write it all in C. by MikeFM · · Score: 1

      I've looked at Lua but was turned off by it's syntax. Is there any benefit to using it over Python? I'm pretty satisfied with Python but sometimes use other languages if I think they'll do a given task better.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    8. Re:Don't write it all in C. by inflex · · Score: 1

      Syntax can be an important thing but it's fairly personal too, I found the Lua syntax to be more pleasing than Python -personally- (much like I found PHP easier to read than Perl, others will be the other way around).

      The big gain I had with Lua over Python was the incredibly small interpreter footprint, making it very easy to transport with packages. Coupling Lua with SQLite makes for a very versatile, quick and compact system. Lua has its own set of "ARUGH!!!" moments, things like 1-based arrays/lists when you're used to 0-based, other things like not being able to pull lists out in the insertion order (because they're hashed in etc). There's a nice #lua community on freenode IRC as well.

      Of course, if you find the syntax too "at odds" with your mind then stick with Python. For me, Lua matched my requirements better.

    9. Re:Don't write it all in C. by Nazlfrag · · Score: 1

      Yeah, but you can hardly blame logic faults on the language, and sure bad C is horrific but elegant C is poetic. Its only fault in my eyes is not being low level enough to get both the unimaginably ugly and beautiful hacks you get in raw assembler.

  94. More information needed by im_thatoneguy · · Score: 1

    Please upload the applicable code and how to reproduce the security glitch and slashdot can make an assessment of the feasibility of the timeline. kk thanks.

  95. What price unreasonable? by ThreeGigs · · Score: 1

    we got an urgent request from our support team

    Seems it's NOT the customer asking for the quick fix, but the in-house support team.

    How's this scenario:
    A bug in the software is costing a customer using said software $80,000 per day.
    Customer calls support and basically says 'fix this asap and all is fine, otherwise we'll be suing you in court for damages'.
    30 days @ 80,000/day is a nifty 2.4 million.

    If every day you slip on the patch release date past 2 days costs $80,000, what does that do to your 'reasonableness' equation? $10,000? $250,000?

    If your own peple are asking for a patch in 2 days, I'd say you need to shoot for next day, as it indicates to me there's a large problem somewhere.

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

    1. Re:This reminds me of an "unreasonable" customer by Creepy+Crawler · · Score: 1

      And if you are a good embedded programmer, you should have counter-offered for $500,000 for done in 15 days along with integration, depending how difficult the project is.

      And then kindly point out that is 1/2 of one month savings if they balk. All you need to do is explain that more money raises their project higher in the queue. Pay for priority, get the fastest and best treatment and expertise. You're just putting the screws to the "Fast, Best, Cheap: Pick 2" and getting them to pick fast and best.

      What would you do for 500K?

      --
    2. Re:This reminds me of an "unreasonable" customer by Anonymous Coward · · Score: 0

      What would you do for 500K?

      Your wife, and if you're lucky and she's hot, your sister.

  97. An idiotic question by SmallFurryCreature · · Score: 1

    Not all bugs are equal. Some you will be able to fix in minutes as they are little more then simple errors in your code. Others will be more complex because you designed something wrong and changing it impacts more then just the part that is bugged. And finally there will be errors that not just affect your program but the data the customer has created with your program.

    You can't say a bug == 4 weeks. That is like saying, repairing a car takes 4 weeks. Is it a loose cable or have the wheels taken a detour?

    To asses how long it will take to fix you have to know what the bug is. Is it an error in a line of code? Is it a function that does not quite what is expected? Is there a design flaw/oversight? Is data involved? And finally, have people come to depend on that bug as a feature? This ranges from a hotpatch in a couple of hours to something you may just have to learn to live with including having to code that 'bug' into future releases.

    Now stop reading slashdot and start fixing that damned code. Geez, you would think Microsoft would have better control over its people. Oh wait, a patch in a month? Nah, too fast for an MS coder.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  98. Turnaround time all depends by Aging_Newbie · · Score: 1

    I can't answer your question but I can give you things to look at in answering it yourself. I hope these questions help you cut your fix time and make your customer a happy camper.

    If you are taking several weeks turnaround time I would suggest that somebody look into what is happening during that time. How long from customer finds bug to reporting it? to diagnosis? to approval to fix it? to fix it? to build the package? to test it? to deploy it? How many times do you need to repeat one of those steps because it messes up?

    Was the product built in a hurry and filled with spaghetti? When you make changes are there frequent crazy side effects? Do you respond to long release cycles by bunching up lots of fixes so that even though the customer gets a release late they get a big release? Are you making the releases too big?

    My bet is that many of those items are taking way too long. For example, if you invest some money in regression testing capabilities then you can cut the testing time by a great deal, not to mention saving repeat bugs. If you automate and streamline builds then maybe you can get a reliable build out the door quicker. Of course, the disciplines of code management require equipment and tools and training/design to be successful.

    Now, my next question is why is fix turnaround such a big deal? Is the product buggy? Did it launch without being complete and is now being enhanced? Are the customers extracting a pound of flesh for a late delivery by expanding scope and getting free work? Are you issuing bug fixes that result from the previous bug fixes?

    A well funded and streamlined team can turn around fixes in very good time if they have the tools and the support to attack the causes for development delays. Most times managers want to shorten times without investing any effort (money) in methods that will save time. There is a common illusion out there that increased pressure will result in increased outut while in fact it typically results in the opposite.

    Human factors - typically programmers, especially good ones, assume that they are the cause for their problems. Many times they are, but when the system is not optimized then no programmer regardless of how good can be productive. So everybody just looks at bad failure rates and is unable to change the situation. Frequently it is the process and methods that need to be fixed, not the programmers. Recognizing that is a major step in creating a highly performing team.

  99. I wish I had 48 hours by Anonymous Coward · · Score: 0

    48 Hours?! HA! I wish my company had that, we (a few of our firemen) get a problem and fix it on the same day (through QA etc.) Meaning we could get a problem, and have the fix on their site in less than 2 hours total. It is actually encouraged we do this within a 24 hour period on some.

  100. Service Agreement by teh+moges · · Score: 1

    When you sold the software, your company should of sold a service agreement. This should indicate how long you have to fix bugs (depending on the nature of them) including lots of other stuff.

    If they have asked for a fix in less then that time, you can try, but your customer should be made aware that if they want the fix faster, they should be paying for the priviledge.
    If other people in your company are telling the customer something different, then you need to speak with your manager. The entire company should be giving the customer the same message. If that message requires you to have bug fixes out within a short amount of time, you need to inform your manager that you need extra resources (people, machines) to be able to do that. Obviously you can't get a fix out as soon as you hear about a bug, but any small bug should be fixable within a day or two, provided you have the resources to find the bug, determine the cause, implement a fix and test it within that timeframe. If you don't have the resources, your company shouldn't be selling the product (whether that is at the time the customer is buying the product or when support is answering a call) in a way that gives the customer the impression this is possible.
    I don't know what your work load is, but it sounds like you don't have the resources to do this. Either get the resources or ask management to give their customers relistic expectations. I know its one of those "harder then it sounds" things, but either the company will get a bad name because they can't fix bugs, or the company will have a high staff turnover (and ultimately a bad name).

    To summarise, discuss this with your manager.

  101. Longer than that by Gonoff · · Score: 1

    My understanding of Microsoft fix timescales is something like

    1. 30 days saying that there is no problem
    2. 30 days saying that this is an unusual problem and only affects a few users
    3. 30 days acknowledging the problem
    4. 1 day saying that this is a major problem and we release the patch tomorrow

    That makes 3 months. Is that a scheme that the rest of us should Embrace & Extend?

    --
    I'll see your Constitution and raise you a Queen.
  102. We Are! We Are!!!!! by robbak · · Score: 1

    Constantly. Isn't "don't use windows" article 1 of the Slashdot mantra???
    (Typed on a Windows Vista notebook, of course.)

    --
    Prediction for end of Universe #42: Fencepost error in Quantum_bogosort.cpp
  103. The customer doesn't know how it fucking works. by pclminion · · Score: 1

    There is one thing you must never, ever do. That is to release code which has not been thoroughly tested. If you can't push a change through your normal QA process in 48 hours, then the change does not happen. Period. You don't lower your own standards and release shoddy workmanship just because a customer is demanding it. You get this change out there, it explodes in the customer's face, and you look like a moron. Not just to that customer, but to ALL your customers. And to any other professional organization your are affiliated with.

    If the customer simply refuses to deal with you unless you circumvent your standard quality control, then that customer is doing you more harm than good.

  104. Fix != patch by Anonymous Coward · · Score: 0

    If one specific customer wants a fix for one specific problem, it may be feasible to diagnose, design and code that within 48 hours. Testing is obviously out of the question, but - depending on the problem, and partly on the customer - that might not matter.

    Talk to the development team and ask if it can be done. If they don't laugh at you, then talk to the customer and tell them that what they're getting in that timeframe is not a patch (with all the connotations of QA that word carries), but a "hotfix" just for them, that's not being released to anyone else unless they ask for it, and they should be aware that this fix may or may not cause unpredictable side-effects. Then everyone gets to be happy, and you don't have to compromise your patch process.

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

    1. Re:It's about risk by tknd · · Score: 1

      You deserve an award. Every post up until now has not gotten it. It has only been rehashes of "they deserve what they pay for" or "ask for more time". But in the real world, sometimes neither of those are options, and you, sir, actually understand that aspect of the issue.

      Their problem is the software does not do something or does not do something critical correctly. The business in need may be losing money ever since the issue came up, or even so critical that it can cause them lost business. So the correct question in this situation is: do the costs (short turn around time) justify the risk? Sometimes it may be that there actually is no risk to having a short turn around time with little to no testing because it may be the case that the software doesn't work to begin with! Therefore any solution (even a partially working one) is probably better than where they are at right now.

      But it is up to you the software support provider to understand if that is the case or not and determine if the needs are justified. If they're simply doing it just to beat you up, from a business perspective, you then have every right to delay their request or charge them more money. But if they're not, and this may cost you your business (either by your customer going out of business or them turning to another competitor), you may have to think otherwise about your decision.

    2. Re:It's about risk by slartibartfastatp · · Score: 1

      I also provide software for healthcare, and what we do when there's a urgent issue is:

      • hack the problem out (in the minimum possible time)
      • start working in a non-hack solution as the rush is over

      As by doing this we lose time and work, we avoid doing this unless it's really really necessary.

      --
      -- --
  106. 24 hours by olivercromwell · · Score: 1

    On an issue where we have a medical device reportable event, and patient safety may be at risk, we can issue a patch within 24 hours.

  107. 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.
  108. Mozilla. by Karellen · · Score: 1

    "10 Fucking days"

    -- Mike Shaver.

    OK, that statement has been retracted. But Mozilla have got serious security bugs analysed, fixed, QA tested on 3 different platforms, and out to tens of millions of customers within a week of the report being filed. And they're not getting paid for it.

    --
    Why doesn't the gene pool have a life guard?
  109. coding turnaround time: analysis by goffster · · Score: 1

    The question of your turn around time is meaningless by itself. Suppose that a customer representing 90% of your business insisted that it was essential to get a bug fixed in 48 hours, or they exit, you go bankrupt. Obviously a 4-5 week turnaround is *not* acceptable in this case. Suppose a smallish customer made the same demand. 4-5 weeks may now be reasonable, depending on your evaluation of the bug. It all comes down to a simple equation: If the *cost* of action A is greater than the *cost* of action B, you choose action B. The cost of careful software management tends to be smaller than mayhem, but that may not be true for startup situations, or emergencies. So... Don't get caught up in dogma, always analyze every situation regardless of predjudice.

  110. 24 hour turn by Anonymous Coward · · Score: 0

    I worked on a few teams at Sun in the 90's that could turn the crank overnite, in as little as 8 hours. If a team cannot turn the crank from the time the developer submits the fix in less than 24 hours, the process and infrastructure is severely broken

  111. How long? by Sparohok · · Score: 1

    How long is a piece of string?

  112. demanding by Anonymous Coward · · Score: 0

    I work at a software firm that handles CMS, association management, custom apps, etc. I know our customers want a fix within hours sometimes. We do our best but it will never be fast enough...they expect bulletproof apps from install (we know this will not ever be the case) but remember:

    Select * FROM Users WHERE Clue > 0;
    0 rows returned

    (I love that shirt from think Geek...I regularly wear it on casual fridays)

  113. Exactly by Anonymous Coward · · Score: 0

    There's a lot of variables here. Ultimately the question is simple: can you get the job done to the expected level of quality in the amount of time given. I will now check the anonymous box and continue to talk about my previous job.

    In my previous job, I worked for a client software developer (vague, but go with it). Basically they put together software for cell phones, laptops, etc. As part of this, there was a server component that was used to update those clients periodically with new software, profiles, etc. The entire team consisted of:

    2 Lead Developers - me and one other guy
    1-2 Offshore developers - Bangalore for teh win

    Now, given that, you may notice something missing. Anybody? Anybody? Oh wait, no QA.

    See the thing is we had lots of QA people assigned to deal with the client side of things. But not a single one of them knew a damn thing about our server software. We could occasionally get QA assets, but since they didn't understand the system, you didn't get much for thorough QA.

    So, as a result, most of the time, I wrote, tested and released my own code without a single other person even glancing at it. Thus, invariably we had bugs fairly routinely, especially given the contributions of our team in Bangalore. On the bright side given that I wrote most of the code myself, I could identify and fix the bugs very quickly. So I would often have a bug fixed and deployed to a customer in mere hours. I was however frustrated and pissed off much of the time because I never felt like I had any support, and thus why I'm no longer working there.

    Getting back to this though, my point is, in that environment, taking more than 48 hours to fix and turn around a bug would have been overkill most of the time. If it was a lower priority issues, then we'd put them off to be fixed as part of a larger collection of minor bugs. If we'd scaled up the development team and the scope of the project and actually had QA people, it would inevitably take longer to triage and fix a bug regardless of the severity.

  114. 2 Hours for a bug, 12 for a major release by CRODNY · · Score: 1

    At major hedge fund in Greenwich we turn around major defects in two hours under threat of losing our job and our families livelihood while being screamed at by traders. Given this doesn't happen very often, but when it does you can believe it is fixed in two hours. All traditional software positions outside of finance on Wall St. are day care for adults.

  115. Turnaround time by Anonymous Coward · · Score: 0

    By keeping the trunk reaosonably stable at all times (yes, spending a few MORE minutes looking and verifying changesets), we can put a copy of trunk on the customer's box without much risk. It's much like doing a git pull in a linux kernel tree.

  116. Bulletproof? by Sparr0 · · Score: 1

    Since your software continues to have bugs, I don't think you can claim that any previous patches were "bulletproof". That being the case, you don't hold a candle to most FOSS teams who get equally good patches for such exploits out in days, if not hours.

  117. 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)

  118. Depends on the, well, everything... by rickb928 · · Score: 1

    Our app is a VB frontend using an Access database. Yeah, I know, I know...

    But I found a noticeable bug, causing about 10% of our users (well, maybe 150-200 users) significant problems, not data loss but very poor performance.

    We got a patch in 4 hours, and rolled into into the next service pack with little effort. I suspect our app is tiny, with at the time 2 full-time developers, 1 QA position, and around 8,000 users. It's highly specialized, and crucial for our clients, the product of 3 years' serious development and another 8 years before that of previous systems all the way back to DOS.

    48 hours to patch a serious bug? Sounds like a big, all-hands-on-deck event. You present it in a way that implies, to me, that you don't like to send out 'good enough' patches.

    It's all about priorities. We've been watching development of a web-based app to replace our Windows- base solution. F-I-A-S-C-O. A case study in how NOT to do project management, web developent, app design, everything is wrong about this. I pray that it will silently go away, but there is no practical hope of that. Someone has it on their list of things they did last year, and why they are deserving of their bonus. And they will get their bonus. We get the support calls.

    Hold out for time to deliver excellence. When the business demands it, solve the problem, even if it's dirty, and then go and perform perfection. If you find that the dirty patch is considered good enough, and you;r enot allowed to go back and 'do it right', then you will have more reason to push back and resist the quick fix.

    It's all a compromise. Fast, Good, Cheap. Choose any two of the three, right?

    --
    deleting the extra space after periods so i can stay relevant, yeah.
  119. Fixing a problem or a change order by tuomoks · · Score: 1

    Some have already mentioned that it is not possible to answer your question without more knowledge but we all have opinions, this is /. All I can add that it depends, if you rush just for a change order there is something wrong with your management. If you take 48h to fix a problem for a 24x7 something else is a problem. I like that toilet paper answer except - I once had a paper mill as a customer, simple ? application taking care of the warehouse. The problem, 6pm 100 miles away it started crashing but it is just the warehouse application? Except, if you can't manage a warehouse you have to stop the production, if you can't manage the warehouse you can't send the paper out, nobody can track all that without a computer. So the estimated deadline was midnight and after that 3 ships would sail without paper, machinery stopped and restarted, cost XXX millions. Not 48h, not even 12h to fix - I got the system fixed 11.45pm by patching a live/running system in memory ( with help of a person in other country more experienced of that part of the system ) So, yes, I have taken my time to fix something and lazy as I am, sometimes days but (un)fortunately most my customers are/have been 24x7 - you fix it now ! So, case by case and remember to build your system they way they are easy to analyze and easy to fix.

  120. I do Aikido on a regular basis and I'm pretty fast by Qbertino · · Score: 1

    I do Aikido training about once a week. We've got this basic excercise that's called 'Irimi-Tenkan' which actually means 'Going in (into/close to the opponent) and turning around (spinning)'. I'd say I'm about down to half a second. You half to bend your knees a little and see to it that the front half of your feet are the first to touch and the last to leave the ground. Watch out that your upper body stays vertically upright even if you're downing your first uke with a technique while doing so. That way you'll be spun 180 in an instant and ready for #2 coming from behind. Just don't be to hectic or you'll lose balance.

    Bottom line:
    It's all about pratice man. And take my word for it: 4 weeks and even 48 hrs is *way* to long, even for a beginner. I know snails that go faster. Really now.

    --
    We suffer more in our imagination than in reality. - Seneca
  121. Maybe I have worked for the exceptions... by Belial6 · · Score: 1

    The first programming job I had was with a California insurance rating company. We were unusual for a software company in that if we actually guaranteed the accuracy of our software. If our software said your premium was going to be $600 a year, and the correct calculation was $1200 a year, we paid the difference. As you can imagine, this lead to great urgency on our part to fix bugs. If the bug was going to be an expensive one, our bug fix turn around time was 24-48 hours. If our error was a fringe case that was only going to cost us a couple of hundred dollars, we might let it sit for 2 weeks. I still wait for the day that Microsoft shows as much faith in their software that we showed in ours.

    I worked for a consulting company doing custom development for various customers for many years after that. Our turn around time for bug fixes was usually 24 to 72 hours. On a rare occasion a bug would sit out their for 1 to 2 weeks.

    I currently work for a company doing internal development, our department has much more control over what we do and don't do. Non-critical bugs can sit out there for months. Anything that is a security bug or one that prevents people from doing their job are usually dealt with between 24 and 72 hours.

  122. Our average is less than one week by Yoooder · · Score: 1

    I work in an agile development environment where our application is a network-distributed thick-client program. We are in constant communication with out end users, and when issues are reported at least 1 developer (more as needed) is placed explicity on the issue at hand. Many small issues are commonly released to our users in a matter of hours, larger problems requiring in-depth diagnosis are typically released within a small number of days, and only problems with elusive resolutions require longer than a week. It's not uncommon for us to be working on an issue less than 15 minutes after the report comes in--and the beauty of it all, all it takes for our user's to receive the updates is a restart of our application. It's wonderful to be able to call up a user, say "we've found the bug, could you restart the program and try it again" and have the problem finalized in moments. The application we are replacing with this one however was a different story. It has issues reported years ago that are backlogged to be released in future versions. There's often vastly more documentation than code for the fixes, and it's astonishing what sacrifice in quality a manager will accept as long as there's a plan to resolve it within a decade.

  123. Don't Do It! by Nom+du+Keyboard · · Score: 1

    But the other day, we got an urgent request from our support team to come up with a decent fix in 48 hours.

    Do it once, and they'll expect it from you every time afterwards!

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  124. How appropriate... by Anonymous Coward · · Score: 0

    Usually we get small bugs and feature requests released within a few days. Today at 5pm we got a feature request that the customer said absolutely had to be there by tomorrow morning. Slightly optimistic I think, especially considering they're only on an evaluation license...

  125. Re:ditto, but more Re:how long is a piece of strin by Ash+Vince · · Score: 1

    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) Not sure why nobody else has mentioned this but maybe it is just me being thick. The big question to me is "Do you control the hardware / OS?"

    Where I work we generally get bugs fixed within 48 hours, anything longer and my boss gets an automated email detailing when the issue was raised, developer it is assigned to, etc. We can do this because our testing cycle is short and we only support hardware / OS / browsers of our choosing.

    In my experience QA / Testing is the longest part of any bug fix. You might change one character or half the code base, but the testing department still have to go through the same process because they probably do not know the extent of the fix due to the principles of blind testing.

    If the testing team are given too much info regarding the nature of a bugfix they may well tailor the tests they run to each fix. This sounds fine in theory, but it means if the developers miss something the testing team probably will too. Decent testing should be based on the original written specification rather than the implementation.
    --
    I dont read /. to RTFA, I read /. to offend people in ignorance.
  126. patch lol by luther349 · · Score: 0

    sometimes patching dosent always work as a old dev i knoe this. i had one program with a miner bug that plaged it no matter how mutch i tryed to patch it it would not go away. a patch i orginaly figured a cuple days would up being a cuple months. couse i had to rewright the entire program for the bug to finnly be dead.

  127. Real-time patches anyone? by Anonymous Coward · · Score: 0

    Back in the bad-old mainframe days, it was not entirely unusual to live patch (in memory, no less) the operating system on one of the Burroughs mainframe lines (Medium Systems, aka V-Series).

    One customer in particular, a large finance services firm in Wisconsin, was running a very large ATM network on the system and needed a high-priority patch applied. I stopped the processor with the maintenance console and used the maintenance console to hand patch the operating system 'open' system call and started the processor back up. Less than a minute of service interruption wasn't even noticed by the branches or the ATM network. We had staff on site and developed, applied and tested the patch within 30 minutes of the bug manifesting.

    Patching that system was quite easy, as it was all BCD (and addressable to the nibble).

  128. Use an analysis of the application and its data. by autophile · · Score: 1

    Is it an enhancement, or a bug fix? If an enhancement, then you'll have to leave it to the marketeers who will always assume the enhancement is needed RIGHT NOW! Unfortunately, your bosses will determine the schedule for enhancements.

    Bug fixes are a little easier to get a handle on. Determine what impact the bug has. Is it leaking data to unauthorized users? If so, is the data private or public? Use the egg-on-face test. If the data got out to the press, would the PR have a highly negative effect on the company? Negligable effect?

    Is it corrupting data? If so, same analysis, but does the corruption of data have a highly negative impact on the application's usefulness? Negligable? Does it destroy very important customer data? Not so important?

    Is it delaying data? Is the data involved very time-sensitive? Not so much?

    Each of these criteria can help you determine how important it is to fix the bug. Unfortunately, it's your company's culture that will determine the timeframe. Laid-back company? Large company? Going downhill and everyone knows it? Critical fixes: 1 week, important fixes: 2 weeks, nice-to-have fixes: 4 weeks. Small company? Foaming-at-the-mouth company? Critical fixes: 24 hours, important fixes: 4 days, nice-to-have fixes: 2 weeks.

    These are just guesses. Again, it depends on what your company has historically done.

    And if, at the end, you still feel the deadline is unreasonable, I guess you can always just slow the work down without telling anyone ;)

    --
    Towards the Singularity.
  129. Re: 15 minutes by Anonymous Coward · · Score: 0

    Most defects can be fixed in 15 minutes once you know the root cause. Of course that can take days sometimes.

    If you're worried about companies making mistakes that can be fixed in 15 minutes, then you probably shouldn't buy or use any more software, ever, especially from a couple of fortune 15 companies that shall remain nameless.

  130. How about a sum up comment. by robbak · · Score: 1

    2 weeks is a standard practice in the industry. However, it can be shorter - much shorter - if the right things are done.
    1. The customer has to be aware of extra risks. Getting it to them in hours means that some testing has to be omitted. They need to be aware of and accept the risks of a quick fix.
    2. You need to have a well written code base. If you code base is fully understood, nicely modular, well documented etc. - everything that code bases generally are not - then you can find and stomp on a bug quickly. If not, it might take weeks of dump grovelling just to find the bug. If your code base is an organically grown monster rapidly achieving sentience, and management wants x-hour turnarounds, you need to tell management what resources you need to rework your code base. The upside: well written code bases have less bugs.

    --
    Prediction for end of Universe #42: Fencepost error in Quantum_bogosort.cpp
    1. Re:How about a sum up comment. by geekoid · · Score: 1

      I would like to see the study that says two weeks is standard, I find that hard to believe.

      Most customers will 'accept' that risk, until it bites them in their ass, then it's your fault.

      Even the best code bases can take weeks to find a bug. Perhaps it's an interaction program with some other software? Perhaps it's do to an OS patch, or the lack there of.

      Hell, I had a problem with a memory leak that would ONLY happen on the clients machine. It turned out to be due to the video card drivers.(Thanks ATI, you crooked SOBS!) That took a while to find, and then not fix. Fortunately I was able to prove it to the customer, who then replaced there video cards. 250 machines, that ain't cheap.
      TO hold them over I wrote a nice piece of software that did the proper clean up. well..not nice, more like clever because it was an ugly hack. I literally saved 500,000 dollars a year customer, and for my good work they laid me off because I was the highest paid.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  131. Abuse or Cooperation? by fishbowl · · Score: 1

    If management from the director level on down works around the clock, so will I.

    --
    -fb Everything not expressly forbidden is now mandatory.
  132. Your customers by Anonymous Coward · · Score: 0

    I'm one of your customers, so I'm really getting a kick out of these replies...

  133. 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!
  134. Try to deliver as much as you can in that deadline by khallow · · Score: 1

    I suppose it depends on what kind of request this is. I doubt it's a "wanna new pony" request for something nonessential but very time consuming, but a request for something vital like security or critical usability. Even if you can't deliver in that time frame (and odds are probably good that you can't otherwise you'd have done it rather than complain), you can still come up with something that will mitigate the damage for the customer. Then keep the customer updated as to how you are progressing in solving the problem. Devote as much resources as you deem necessary given the importance of the customer and the bug. It might not keep the customer happy, but that seems the best use of your resources.

  135. The Real World by ozzmansn · · Score: 1

    In relation to the current state of the industry, your turn around is great. In my opinion, the industry stinks. The truth is that you can never be quick enough; the customer will always expect things sooner and sooner. I have worked in every type of shop there is from extremely "agile", since everyone has to put a term on something, to extremely structured. My best experiences were in an agile shop. The downside with this structure is that every developer needs to know everything that is going on. In my opinion, that should be a requirement anyway, but not everyone sees it this way. In the agile shop we could turn around fixes within hours or days. Because everyone felt a sense of ownership, people were less lazy about their work. If we were putting out fixes in hours, the expectation still grew -- they wanted it in under an hour. In the structured environment, all the developers felt stifled and disconnected from the application, without a sense of ownership; their input was less important. The work wasn't as strong and people rarely did anything extra. Business analysts who were not technical at all decided how the application should work, which was usually wrong. The development cycle was ridiculous. Something I could have completed in a week in my old environment took 6 months to a year. It was culture shock to the say the least. Some people think an agile environment is sloppy where the programmer should not be trusted. I say that if you can't trust your programmers, you need to hire new ones or a better lead. What is worse is documentation. In structured environments, documentation is treated as if it is the final product, rather than a means to the final product -- pampered and petted with political combing and pseudo-code. But if the industry wasn't this bad, Dilbert wouldn't be as funny as it is.

  136. I was gonna say. by greenguy · · Score: 1

    My turnaround time? Half a second. Watch, I'll do it again.

    --
    What if I do the same thing, and I do get different results?
  137. True story... by Anonymous Coward · · Score: 0

    I once worked with a developer that got an urgent request he turned it around in four hours. I stopped him before he pushed the patch to production. I forced the first peer review ever in that shop. His fix introduced a bug so severe it would have subtly corrupted all the data in the system over time. The one bug he was trying to fix would have been fixed but he would have destroyed every other working case for the code.

    I stopped the patch release and as a team we provided a real fix in three days. I wasn't a popular guy with my coworker for a very long time because I stepped on his ego. I sometimes wonder if developers shouldn't have to carry malpractice insurance.

    My consolation prize was that upper-management personally thanked me.

    Upper management clearly got the big picture: You may look like a jerk for taking three days to fix a high priority bug, but how much more incompetent would you look for rapidly producing a cure that killed the patient?

  138. Time IS Money by czfqnr · · Score: 1

    In some cases, critical fixes help save companies from bad publicity, loss of potential
    revenue, or loss of existing customers.

    If you're writing code that is used by banks or other financial institutions, you have to keep in mind
    that those companies have regulatory requirements. Violations of those regulatory requirements,
    can lead to fines. Fines which could far exceed the cost of any software purchase price or continual
    maintenance fees.

    I know it may seem like an unreasonable request to turnaround a patch in 48 hours, but if
    your customer is paying for that service through enterprise level contracts,
    your company should be well compensated for the request.

    Whether or not you, (the developer) are properly compensated, is something you'll have to take up
    with your employer.

    Happy Coding.

    --
    Avg. Live Expectancy of a SysAdmin, 45 Years.
  139. Tests by Anonymous Coward · · Score: 0

    If you have tests in place, it should be very reasonable. If you don't have full test coverage, you have to test everything manually, which could take a lot of time depending on the size of the code base. Write tests first is the lesson here.

  140. Not unreasonable. by darqchild · · Score: 1

    My company's product is a suite of GIS applications. It's not uncommon to find bug mission-critical bug after a code push. Things often get patched, QA'd and released within 12h. It really depends on how important the bug is, in relation to value of upcoming project deadlines.

    --
    What? Me? Worry?
  141. ultra short times exist by Anonymous Coward · · Score: 0

    I often have to do fixes that are requested in 2-3hours.
    7H for a reasonably proof fix.
    approx 14H for a bulletproof fix.

    yes that's fcking short and i never failed yet:p it includes testing and packaging, also "external human" testing for the 14H one.

    welcome to my world (i think i would get bored in 2 weeks o.O)

  142. Depends by ed.markovich · · Score: 1

    I think you're asking an unreasonable question. The industry turnaround time is irrelevant to the particular business, software, and defect type that you're dealing with.

    Like many other decisions, there is a simple balance between risk and reward here. The question is - what do you gain by doing the fix in 48 hours vs. what risk do you incur by foregoing the longer testing/QA cycle?

    The answer to this question empowers you to deal with the customer more reasonably. If you're reasonably sure that this quick fix corrects the problem and does not add any new ones, and the problem is severe enough that it should not go untreated - why wait even 48 hours? Code it up and fix it.

    On the other hand, if you can honestly say that the fix has major scope and brings a lot of risk/unknown with it, then you should make it clear to the customer that the possible reprocussions of rushing with this are greater than the problem you're trying to solve.

    In general, bugs should be fixed as early as possible and as a programmer you should have a good sense of what's simple and safe and what's risky. You probably already know the answer to your own question, and the industry averages probably don't matter.

  143. Speaking from a mainframe support perspective by Anonymous Coward · · Score: 0

    On IBM's zSeries boxes, there is a big difference between a test fix and a final fix. If a customer has a serious downtime bug and millions of dollars are at stake, we get them a workaround/testfix as soon as is humanly possible.
    The support staff works 24x7 until the problem is identified, and once that occurs a "simple fix" which may not be the final one is shipped.

    In that respect, it is not unreasonable to expect a result in 48 hrs. You resolve that customer's problem and document the temporary solution for others who may need it. (sometimes these temporary fixes involve rewriting the hex machine code in memory while the system is running... those are the fun ones!)

    Once you get that out of the way, then as long as that temporary fix is stable, the development teams will take months to produce a final, official, and rock-solid fix. Since no one is sitting with downtime, it isn't a problem.

    So which is it that the customer wants? A solution to their problem, or the Final Official Fix for the bug you've found?

  144. Sitting on releases is a good thing by Anonymous Coward · · Score: 0

    We could release fixes once a day but we sit on them and make the customers wait for no reason other then we look release happy and unprofessional to our customers not to mention wasting an extraordinary amount of time managing builds every day.

    Whenever we get release happy we cover it up by merging several releases into one in the change chronology.

  145. Palm Inc? by ufpdom · · Score: 1

    By Chance do you work for Palm Inc? I know that urgent tickets pertaining to error 3000 from their major MR fix for the Treo 700P took months instead of days. Just curious.

    --
    There's no Freedom like UFP-dom
  146. Patches in hours by Anonymous Coward · · Score: 0

    I work for a very small Telecom software company. I often times release patches in hours. We never take more than a few days to fix issues that are critical if we can help it. Occasionally our patches break something, which means another patch with a fast turnaround time. Our customers are often times depending on our software for their day-to-day operation, so quick turnarounds are often necessary. Other times we do it quickly because we can and it makes our customers happy.

  147. 72 Hours by apok04 · · Score: 0

    I work for a large defense contractor on mission critical applications with millions of lines of code, and we have requirements (in the software spec) that mission-threatening bugs be fixed in 72 hours or less. The longer it takes, the less we get in our award fee (the "bonus" in a cost-plus contract). That includes root cause identification, patch development, regression test (at subsystem and system level) and delivery to the customer site. It's amazing how motivating money can be.

    --
    It's not a bug, it's a feature
  148. It varies proportionately to organization size by Anonymous Coward · · Score: 0
    I used to be able to turn around small changes in minutes; in fact when there were only 3 or 4 people working on the codebase, fixes were generally very quick. Hard bugs - structural problems, for example - would take much longer, as we'd work out a solution and refactor the codebase to fit the solution.

    Now, as the organisation has grown somewhat larger, there are many more developers, much more process involved in making even the most minor change. A lot more people want a say in everything which gets done. So our bugfixing time has increased exponentially. Major bugs, like "system down" still get a lot of attention and get fixed quickly, but turnaround on small easily fixed items now sometimes stretches into months.

  149. One of my favorites..... by cary67 · · Score: 1

    Fast Cheap Right Pick any two...

  150. 24 hours - with stipulations by Anonymous Coward · · Score: 0

    I try to keep my dev team on a 24 hour goal. 24 hours from discovery to successful fix. Unfortunately our release process takes MONTHS to get executed after the fix has been made, but at least its available for human consumption ASAP.

    The stipulation is that any fix which is beyond a certain complexity level cannot possibly be completed in 24 hours, but fortunately 90% of our fixes can (i.e. correct spelling, check for a null pointer, etc).

  151. Re: Emergency Joke by TaoPhoenix · · Score: 1

    So tell us the barest form of the joke in a truly ugly form factor.

    Then you can refine it much later after this story is no longer news. : )

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  152. Re:SLASHDOT SUX0RZ by fractoid · · Score: 1

    IS THERE ANY WAY TO BAN THIS ASSHOLE!!!! (pardon the little pun I threw in) I don't think you'll ever ban the goatse, erm, asshole from /. :P
    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  153. 48 hours is too short, 3-4 Weeks is more like it by w00ten · · Score: 0

    I work for a fairly large software company(about $1 Billion of revenue per year) and our turnaround time really varies. If we are talking a HUGE issue that effects lots of customers or one of our largest customers, then we are looking at 3-4 weeks once it gets sent from Support to Dev and then goes through the whole QC and testing process(example was a bug we had in our DST patch). Other issues can take over a year to get fixed, or if it is a small bug that effects one small customer, it may never get fixed. It's all about priority. 48 hours is totally unreasonable for any fix though. Someone needs to sit down with your customer and give them a wake up call.

  154. Turnaround by countach · · Score: 1


    I could generally get a fix for a small problem out in 48 hours. But then again my software may not be the complexity that your software is. If the software I was working on was say, the kernel of Oracle or UNIX, then I'd imagine 4 weeks would be good.

  155. 3-4 weeks on a zSeries Mainframe by TechnoJoe · · Score: 1

    The vendor that supplies our company's billing system runs their software on a zSeries mainframe. They take 3-4 weeks for the more critical fixes and about 3 months for the low priority bugs.

    You're already in line with industry standards. The best you might be able to do is shave off another week.

  156. Hours by SlightOverdose · · Score: 1

    We can usually get a response in a matter of hours, but we build web applications which completely changes the playing field.

  157. Re:SLASHDOT SUX0RZ by Anonymous Coward · · Score: 0

    Wow. I never thought I would see such an offensive post on Slashdot. That was in every way childish and wrong.

  158. Mainframes and turnaround by tuomoks · · Score: 1

    I would like to comment this and turnaround. Some countries have laws for billing and salary systems so you better be fast otherwise someone may in worst case lose their business license, you or your customer, or at least it is very costly. About the bug in OS, if it has an effect to your business, you again better be fast. Been there, done that 2am for a system on other side of globe. IMHO the mainframe support is the best, my dealing with IBM and they were always able to deliver a PTF ( program temporary fix ) in hours at any time of day.

  159. It depends by Eivind · · Score: 1

    It depends, doesn't it always ? A fix can be urgent, but still utterly trivial to implement. Say a spelling mistake in a highly visible spot. If it's really a question of changing a single character in a string and rebuilding, I don't see why 48 hours is unrealistic at all.

    If the fix is substantial, so it really requires new code, plus testing, quality-assurance etc, then 48 hours is unrealistic.

  160. Turnaround in MONTHS? Way out of reality... by Anonymous Coward · · Score: 0

    Yesterday afternoon I got a call that one feature in a new product did not work as intended. Project change 5 Minutes, verified, fixed and tested in two minutes, regression tests 45 minutes, rollout to all units in the market(!) three hours.

    If there is something new or a complicated fix, I might get a day to fix it.

    We are not Microsoft, we can't sit down and wait for things to happen. Our customers expect us to make things work. And thats what we do.

  161. Well, no by nagora · · Score: 1
    Your customers really shouldn't be having to ask for fixes to zero-day exploits. If they are, then your "QA" step isn't working no matter how long it's taking.

    Too many (ie, all) software companies have got to the same point of assuming that software will be broken and that it's "reasonable" to release in that state. In fact, it's not and it is you who's being unreasonable, not the customers.

    TWW

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
    1. Re:Well, no by geekoid · · Score: 1

      Some exploits and bugs can be very particular on what it takes. Sometime it could be do to someone else software not playing right.

      There is a certian mathematical probability that no matter how ell you test, some thing will come out in the wild, as it were. That is why mission critical stuff(Space Shuttle, Air craft, vehicles, industrial robots, etc . . .) makes a very strong attempt to control the wild. i.e. the environment the software will run in.

      It could be that there QA process is 'teh sux' I don't know, but to expect no bugs to get to the field in mathematically unrealistic. Naturally the probability goes up with the more lines of code involved. I say involved because people forget to think about things like DLLs in their statistical calculations.

      In fact, it would behoove a shop with 20 MLoc to contract as statistician to determine what the could expect and use that as a guide line for the EOY reviews of their process.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  162. Automated testing by BrightCandle · · Score: 1

    In all the projects I've worked on I use one question above all else: "I'm your customer, I need to ship what we have finished today, when can we have it?". if the answer to that question is anything but this afternoon then inheritently you aren't really doing agile (or not doing it very well). One of the back bones of the agile methodology is testing, and since you have to do it every day you automate it. Its this automatation that can give you confidence to release without massive cycles. But in order to get the confidence you need a decent set of tests:
    1)Unit tests
    2)Integration tests
    3)Functional tests
    4)Performance tests

    Ideally you shoot for 90% code coverage from the unit tests, and the rest is about covering all the major functionality and error cases as possible. Every bug you find starts with writing a test that fails.

    As a process this in itself can drastically reduce your turnaround time for a fix and give a team the confidence to release within a few hours. Because if the regression suite runs then you know you haven't broken anything important. Automate more and you should see your turn around time reduce.

    Teams doing waterfall support models tend to take a minimum of a couple of weeks to release because they need to do a big block of testing (functional and performance) for all the new functionality and regression of the old software. A common way around that is for emergency quick fixes they branch from the current production and do the fix there with a different track in their team, which gets it out fast. That doesn't work so well for features however because they don't have the same sort of testing effort available and it just slows them down.

    Teams doing agile don't need the big testing cycle, and in the worst case need to go to the end of the iteration to have the fix ready (which is normally 1-4 weeks long). They tend to be faster at fixing and don't normally need to resort to going back to the last production, because they do some form of release every iteration anyway.

    Sounds to me like a bit more automation and reliance on it might help you greatly. With 20 MLOCS that is going to take a while for the coverage rate to get high. Still every little bit will help.

  163. Two Policies by Anonymous Coward · · Score: 0

    I work for a major db company, and we have two policies covering this. Policy 1 is that if the customer finds a real show-stopper (as in they have to suspend business operations) we will ship a hotfix as soon as possible. That might mean within a few hours, depending on the nature of the problem. This fix will not be tested before it's released (though we'll certainly QA it as soon as we can) because that would delay the release, and however bad the fix is it couldn't be any worse than what they already have - that's pretty much the definition of a Sev 1 defect. All other fixes will be released in point releases aproximately every 3 months, all nicely tested and packaged.

    In contrast there's policy 2. That states that we'll do the above, roughly, but we'll also release a hotfix every 4-6 weeks, fully QA'd, that contains as many fixes of any importance as our major customers tell us to include. All versions of the software will be supported for as long as our major customers tell us they will be. Any functionality required by major customers will be backported from the version it was introduced in to the version they have. All customers are considered major.

    Can you guess which one we operate?

  164. sound's like your process needs loking at to me by happytechie · · Score: 1

    4 - 5 weeks is rediculous to be honest, if you automate the build - test - packaging you and probably reduse the time taken here to effectivly 0. look at some tools to make your life easier, team foundation server if you're a MS shop, Cruise control and JUnit if you're not. Once you get used to having a full set of unit tests run for you every time you check in a fix to the main tree you'll never go back to a waterfall aproach. We aim to get a fix built, tested and ready for release in 2 - 4 hours from the point at which the programmer is given the task.

    --
    --
  165. Where do you spend the time? by Chief+Camel+Breeder · · Score: 1

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

    It depends on where in that sequence you spend the time. If all the time is going into build/package and shipment then your customers are right to demand a speed-up.

    If your QA time was, say, one day, then I would look for a turn-around time (on the critical issues) of 48hrs plus the time to find the root cause and code a fix which could be anything from an hour to a year. If the customers don't know the root cause then they can't expect such a quick response.

    Yes, I appeciate that you may need a lot longer than a day for QA. But if QA is a large part of the 4-5 weeks then maybe you need to work on this?

  166. A view from a different type of system by iandykes · · Score: 1

    I'd just like to put the timescales mentioned here into perspective from a different type of software system. My experience of development has been providing online services in the form of web applications, so that means our customers don't need to install anything. That means our release process is different from the one mentioned in the question: it sounds a lot easier and quicker.

    But any errors we introduce can impact the business severely, and in these cases 48 hours is just too long to fix a critical error. In such cases we need to take a view on how much the error is affecting our customers. If a high percentage of customers are affected then it needs to be fixed ASAP, but if only a small percentage is affected then a longer time can be taken to fix the error.

    In our case it comes down to how much business we'll lose by not fixing the error.

    http://devproj20.blogspot.com/2007/11/how-fast-is-your-turnaround-time.html

  167. depends on the Bug by pazZz · · Score: 0

    I think it really depends on the Bug. In a Web Environment i dont see any Problem to realise it. With our Navigationsoftware it is alot harder but sometimes possible. What has to be done, has to be done ;)

  168. a month turnaround for bugfixes?!? by ynohoo · · Score: 1

    I'm amazed you still have customers. For really subtle low-level bugs, that will affect large parts of the system, ok. For run of the mill bugfixes, a week should be plenty of time. Unless of course you stuck with some dumb OOPs architecture. In which case all I can say is hahahahaha....

    1. Re:a month turnaround for bugfixes?!? by geekoid · · Score: 1

      Who do you work for? I need to be sure to never use any of your products.

      Any bug fix that ca be fixed in a week should have been caught in QA.
      Your shop sounds sloppy. I would guess nobody there as ever done engineering.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:a month turnaround for bugfixes?!? by ynohoo · · Score: 1

      Unless you are a Utility company, you are unlikely to need my current employer's product - and much of it is considered "mission critical".

      Curious about you email handle - is that PDX,OR? I worked there in the 90s for both Kaiser and Fred Meyer, and they had no complaints about the quality of my work or the turn-around time.

  169. Criticality by Unicorn+Setu · · Score: 1

    Depends also, on the level of integrity required. If your software is a drawing package and the bug is that you cannot save drawings, then maybe you should have a patch on the internet in 48 hours, but if you have an aircraft flight control system, then maybe release in four weeks (analyse problem, design fix, risk review of knock-on effects of changes, code review of changes, update of test simulators, review simulator updates, write silumation tests, review simulation tests, test changes, review test results, write test reports, get clearance for flight trials, write flight trial tests, perform flight trials, analyse flight test data, write reports, submit for certification, etc), would be seen as impossibly fast. What is to be lost if your quick fix fails?

    --
    Unicorn Setu. "Eagles may soar, but weasels don't get sucked into jet engines".
  170. Fyngyrz, please suck my balls like a fairy! by Anonymous Coward · · Score: 0

    1. You reply to FP.
    2. You try to get karma by replying to FP.

    Quit ignoring that by getting the first reply to the first post, your post cannot be buried any more than it is. You deserve to DIE.

  171. Urgence vs Risk by Blyx · · Score: 1

    I work on a soft that we release periodically. It take about 2 weeks to test and validate. So, the shortest period between 2 release is about 1 month. That is the normal bullet-proof release delay.
    Sometimes our customer and sponsor asks for a special new feature very important, and wish to have it released tomorrow.
    First, we schedule a meeting to have the feature explains in detail - half of the request end here as our soft is heavily configurable and we find a way to do about the same thing with the current version or at least help the customer enough for him to wait the next official release.
    Next, if we have to develop something, we explain that we will do the best possible but that we can't validate the soft so there is a regression risk. This is done during a meeting where one of us explain in detail what changements are involved by the patch and where the risk is pricesly. Half of the request end here with a "no go" as the sponsor think the risk is too high.
    For all the other case, we develop something very quickly and the result can be anywhere from very good to very bad and this depends only on the developer skills.

  172. hard to say by __aalnoi707 · · Score: 1

    The battle of sales vs. Support will always exist. To cite an example, just last week one of our clients need more upload space. We removed the quota for the acccount because sales said yes. Just yesterday, the server crashed because the hard drive filled up. What should of happened, in my opinion, sales shpuld have asked: can we support this? We then would have said: not at this time, but, give us (three) days to get a new file server up so we can. If the client then wanted to leave, to me thats unreasonable. The client would then have to research similar companies, set up a new account, transfer everything, etc. But we could have given them more space in three days. Personally I think we all need to be more patience

  173. No they are not...really by sigzero · · Score: 0

    They just don't understand your side of the issue. All they see is "I have a problem" and "You need to fix it" without knowing anything technical. You need to say "48 hours is not reasonable and here is why" and list them out. If the customer still wants it, let them know it won't be "bulletproof" and they need to accept that.

  174. Seems about average... by R22B · · Score: 1

    3-4 for weeks seems about average here... or at least it was. I submitted a few bugs shortly after our programmer left (which was over a month ago). I checked up on them the other day and they've yet to be looked at.

  175. Depends..... by Henry_Doors · · Score: 1
    We might turn around a fix for a major 'show stopper' bug in 48 hours, that would depend in the comparative risk of putting a quick fix live as as against living with the bug.

    Generally a priority 1 bug would get turned around in 1 to 2 weeks assuming;

    developer resource available to look at it

    it was fairly straight forward to diagnose & fix

    didn't require business analysis input

    testing resource available to test it.

    So if the bug is causing your customers significant pain then 48 hours may not be unreasonable assuming it is possible to identify and code the fix in that timescale.

    --
    "I deny nothing, but doubt everything." Lord Byron
  176. Depends on where you work by Anonymous Coward · · Score: 0

    I pretty much get paid to push out 'mostly' bug-free code very fast. It's not unusual for me to post fixes within hours (or less) of a bug report. My clients understand what this means and accept that bugs are going to get through that, mostly (one of my biggest ones - and I mean huge corporation that you would know the name of - refuses to supply me a QA person no matter how much I bitch nor will they let me speak to users when I'm trying to decode their specs)

    It's just the way it is depending on where you work and what the applications do. At one of my clients, my software pretty much runs his business - everyone there uses it all the time. If there's a problem, I pretty much turn it around as quickly as possible, period. It's what he pays me (quite well) to do.

    Is it the right way to do things? hell no. Is it the way a lot of corporate america works? hell yes. I'm lucky if I HAVE specs on paper to work from half the time - and it's never actually complete.

    It's pretty much this way with most of the coders I work with (admittedly a small circle) - we come in to get the job done, mostly when other people have screwed it up. I usually have to deal with a lot of resentment from employees coders but they can't deny I get the job done - and that I wouldn't be there if they were.

  177. Part of your problem by BitZtream · · Score: 1

    is probably that you are posting on slashdot rather than actually working on the problem.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  178. How long it will take by wrook · · Score: 1

    Lots of comments already, but heres my take. Regardless of how long it takes *other* people to do it, it will take you about this long:

    - The amount of time to understand what the problem is plus
    - The amount of time to identify who can fix the problem plus
    - The amount of time to communicate the problem to the people who can fix it plus
    - The amount of time to find a load of the customer's software and equivalent hardware plus
    - The amount of time to verify the problem with the build plus
    - The amount of time to find the correct version of the software for the build plus
    - The amount of time to fix the bug in that version of the software plus
    - The amount of time to verify that the bug is actually fixed plus
    - The amount of time to build a full production build of the fixed load plus
    - The amount of time to run regression on the fixed load plus
    - The amount of time to fix problems discovered in regression plus
    - The amount of time to document any user visible changes plus
    - The amount of time to package the load for the customer plus
    - The amount of time to get the new load to the customer

    While there is a lot here (hope I didn't forget anything), almost everything is under your control. Estimating each of the steps for a typical problem will tell you how long *you* can currently take. If you want to shorten the time, you probably can. But it will cost time and money (of up front work before a problem is discovered) to get the time down.

    As you will probably find, even if you fix the bug in 0 time, there probably is a lot of time being taken up by other steps. So the question of "How can we reduce this number" should not be taken as a question of your programming competency. Instead it is an opportunity to clean up other areas. For instance:

    - Reduce code ownership so as to allow more people to handle problems in various areas. This will reduce the amount of time it takes to route the problem to the programmer.
    - Keep each programming task in normal development down to only a few hours (1 or 2 days max). This will increase the availability of development staff.
    - Engage in training for first line support to streamline the process of taking technical details.
    - Engage in good configuration management practices and maintain builds of every active load in the field
    - Maintain a lab containing all the equipment usually used in the field
    - Train programmers and testing personnel how to set up all the equipment quickly
    - Maintain high availability of testing personnel for verification of field issues
    - Keep a log of all the software (with versions) run by all important customers
    - Maintain low complexity software (i.e., value low complexity in the code over other factors). Refactor complex code.
    - Invest in a build system that can easily and quickly build a load on demand
    - Ideally have the build system runnable on every developer's machine so that they are testing with real builds
    - Maintain a full automated regression test system
    - Maintain a continuous build system with automated regression system
    - Have automated notification of build and regression system failures
    - Have an automated packaging system
    - Have a network (i.e. internet) distribution system for new builds to the customer

    Mostly these are the obvious ways to improve your turnaround time. But probably you aren't doing all (or possibly even any) of these things. So there's always room for improvement. Since you have an intimate knowledge of your work environment, you can probably find all sorts of other ways to speed up the process. But all of these things are costly, so chances are management will choose not to do them. Then it's their choice to be slow.

  179. who pays for your internet t ime? by caeled · · Score: 1

    20 years in customer support, but bulk of that in Tech Support and the most likely group to send development such requests.. They don't care if you have to keep a team at the office round the clock to get 3 weeks of dev in within two days. They don't care that they are being pushy. They care that you released a product without realworld QA, that your code is impacting their business, and that getting a straight answer out of the CS group can be damn near impossible. Those "unreasonable" customers are responsible for the rather high salaries you all make coding in the dark.

  180. Small shop by kcdoodle · · Score: 1

    I work in a company of 4 people.

    My projects are ALL MINE. I rarely require assistance from the other guys. I am the Network Admin, Database Admin, Coder, Tester, Q.A., Documenter -- everything for my projects.

    When there is a problem or a simple request, I can usually get the work done before the end of the day. When there is a request for a totally new procedure, it depends on the complexity of the procedure and whether or not I have a similar procedure already in place.

    My work requires web sites, WSDLs, cron jobs, UNIX, Linux, MS, Backups, Help pages, Automation, SQL, Perl, PHP, C++, Shell scripts, VB, and anything else I determine is necessary. I have the luxury of using what I need. I have never had to go to a two hour meeting with 10 managers to get a permission to use a $50 software package.

    So a short answer is multiply by a fact of 3 for every level of development (Q.A., DB design, Web interface, etc) and multiple that by 10 for every level of management. If only one person is the end all and be all (and is not too overworked, and LOVES his job) then only multiply by 1.

    --

    - I live the greatest adventure anyone could possibly desire. - Tosk the Hunted
  181. Depends. . . by jafac · · Score: 1

    Do you want code modified and compiled on the developer's machine, emailed straight to the customer, with no guarantee that it will work, it's been tested, changes are documented, changes were checked back into source control, (etc)? we'll get that "fix" to you in 3 hours man!

    But if you want all that silly "software engineering" stuff. . . well, that takes a little longer. Even with well staffed, smoothly-oiled organizations.

    --

    These are my friends, See how they glisten. See this one shine, how he smiles in the light.
  182. Good vs bad by Grax · · Score: 1

    Of course it is unreasonable to expect a bullet-proof fix in 48 hours. The thing that we look at in my department is downside vs upside. Downside = risk for additional bugs, upside = good customer relations, fast elimination of current issue.

    Any code with that short of a turnaround time is a risk for bugs but if there is no workaround (or if the workaround is unwieldy) for the bug out there, it may be the best way.

    The other issue to watch for is the "you did it before" problem. You need to protect your department from having these kind of demands put on it for minor issues, as these demands will lead to reduced code quality.

  183. Wrong question. by lwriemen · · Score: 1

    The questions should be asking, "how much time should we spend in up-front work to reduce our error counts?"

    You'll never improve quality in a test-driven environment. Quality comes from proper analysis of the problem space, and proper analysis of the design. This leads to isolation and minimal impact of requirement changes.

    BTW, the posters who responded with the "why are you wasting time on Slashdot?" type responses are obviously ignorant of the meaning of knowledge work. To quote Timothy Lister, "People under time pressure don't think faster."

  184. Vicious Cycle by Unoti · · Score: 1
    It's a clear vicious cycle. They demand an urgent fix. So you fix it urgently-- and hastily, circumventing the normal test process.

    Why is the fix so urgent? It's because the custoemr is being hosed by the defect that's in the software in production. The test process is (should be) designed and improved over time to be a proven way to turn out code that won't mess put your customer into a desperate situation. So you do this 48 hour fix, and before long there's another customer that's got a desparate situation caused by this fix. And it may not be this fix that causes the problem, or it may not be the same customer that has a problem with this fix.

    The software development organization needs to take a step back and release changes only after they are tested. Alternatively, the development organization needs to be clear with the customer that this is an unstable version, and don't be too surprised if it messes you up a little. The reality is there's only two scenarios you can realistically offer your customers: either take the stable version that we only update once per quarter or whatever; or take the leading edge version that can have lots of changes and customizations, but realize that you may be bitten by issues with it. Should issues pop up, we'll do our best to get the changes to you rapidly, but the changes will go through our test process.

  185. Turn around time by wskibum · · Score: 1

    I bought Red Hat 5 when it was first released for a customer demo. The demo was keyed to me getting a large contract to install mail servers virtualized and clustered. Problem, after creating virtual hosts I was unable to register them for updates at rhn. As the first release of RH-5 was pretty well riddled with flaws there were plenty of updates (about half the total installed packages). Working with Red Hat support and several members of their upper management I was able to get the issue resolved in just over 90 days. Lost the contract, thank you Red Hat. I will never buy, sell, or even remotely suggest your product again to any current or future client. And that my friends is what happens when you let your customers dangle.

  186. QA by suitti · · Score: 1

    Others have talked about how hard or easy the fix might be, and so on. This is about Quality Assurance and the processes that organizations use to attempt to achieve it.

    I've worked in environments where a single line fix that isn't an emergency, takes seven weeks. I've also worked in environments where such a fix takes five minutes. In my experience, the quality of such patches is very similar.

    In some environments where an emergency break fix takes ten days. The application is broken for at least that amount of time. No amount of persuasion that the fix in hand is better than production will speed it up. The idea is that the process for getting something into production includes so much testing, that things simply aren't broken in production. This approach is problematic. Testing generally does not test everything, despite claims to the contrary. Not a single such environment i've worked for has required code coverage testing. Only one environment in twenty required a code review where another developer looked at the code. Quality gates essentially consisted of a manager asking the developer if certain steps were taken, and if the developer says they did it, then the approval stamp was given. This is worse than useless. It takes time to get the attention of the appropriate manager, while adding no value.

    These quality gate environments often also have built silos where a systems admin must perform deployment. A database admin must perform all database changes. And so on. Each of these groups are nameless and faceless. Communication to them is equivalent to email, that is to say, one way. Despite considerable chances for miscommunication, the admin teams are considered infallible. When it turns out that they aren't, and they end up changing the environment, breaking the applications, it often still requires the full cycle to apply fixes.

    Another quality gate often enforced is documentation. I used to think that programmers didn't like to write documentation, and therefore avoided this work. However, it turns out that the required documentation typically has no well defined audience. No one ends up reading it, because it has so little to say that they need to know. The developers themselves don't value it, because it is often out of date with respect to the code. Some documentation has required sections where huge volumes of screen shots, ER diagrams, class diagrams, and so on are included that are automatically generated. So any effort towards documentation is considered to be a waste of time.

    If you suffer from some of these symptoms, the recommended route is to change the processes. Drop managerial approvals. Include real peer reviews - code reviews. Consider implementing automated regression testing. Pull admins out of isolated silos and into development teams. Require only targeted documentation omitting content that is automatically generated. If possible, get the customer to verify all changes before launch.

    --
    -- Stephen.
  187. Type of software / Type of bug / Type of support by asc99c · · Score: 1

    I work for a smaller commercial software company and quite frequently do fixes with even shorter turn-around times even down to 15 minutes if it's a data corruption type of bug getting worse at that very instant.

    However, this is for fairly heavily customised software - for each project we take a new copy of the codebase and so changes made in an emergency for one customer do not have any effect on any other. The system is also designed for easy patching so we can usually put in an emergency fix with no downtime and without the operators even knowing. A knock on of the level of customisation is that our front-line support in emergencies is handled by the engineers that wrote the system, aided by a direct link to the client's site.

    With increasing levels of 'bespokeness' of the software, you'll always see more bugs but they'll be easier and faster to fix. MS beta software goes out to tens of thousands of users for testing and still the final product has bugs that no-one ran into before. Fixing a bug in this sort of software generally involves reading a vague description from a non-technical user being interpreted by a semi-knowledgeable front line support guy. If you can work out what's going on, you still need to check the change isn't going affect the other users using the software in different ways.

  188. [ot] SLASHDOT SUX0RZ by wild_berry · · Score: 1

    I (nostalgically) thought it was part of the 10-year anniversary celebrations...

  189. Quick Fixes by geek2k5 · · Score: 1

    The complexity of the system and the magnitude of the problem play an important part in this.


    If it is a simple fix in a well understood part of the package, 48 hour turn around would be reasonable. This might be necessary if someone made a mistake that QA missed because testing requires special conditions unique to the customer. (Bullet proof testing is virtually impossible once the complexity of the system reaches a certain point. You can't test ALL the branching options a client is likely to encounter unless the system is VERY simple.)


    If the sales people claim that something is a simple fix, and it isn't, try to document what the so called 'simple fix' requires in terms of modification and testing. You'll have to do the research anyway to do the fix, so you might consider presenting the preliminary results of your impact analysis and say that this is only the first pass.

  190. History of Success by frost_knight · · Score: 1

    At my previous job, the Unix admin group had a contract to fix problems within 48 hours. We almost always completed tasks within 2 hours. Because of this, whenever we would take, say, 10 hours to finish a task, we'd start getting phone calls and emails asking us WTF. We'd have to gently remind them of the 48 hour clause, although this never made the client happy.

    I recall only one instance where it took us longer than 48 hours. We informed the client right away that what they needed done was going to take at least a week. They shrugged and said, "okay".

    --
    It always takes longer than you expect, even when you take into account Hofstadter's Law. --Hofstadter's Law
  191. 4-5 weeks?? by WrongOne · · Score: 0

    Man I would love to get 4-5 weeks to code and test. Instead of the 4-5 hours i get now to push out critical patches. so my question is.... Are you hiring??? And which planet do you work on?

  192. Working in the medical field by LightningTH · · Score: 1

    The company I work for deals with getting medications to patients in nursing homes. If there is a bug it means I stay up and work until the bug is solved. It does not matter if it is 1am that I get a call about a software flaw. I'm up and awake until the bug is resolved so that we do not kill a patient by giving them the wrong drug.

  193. 48 Hours, try 48 Min by Anonymous Coward · · Score: 0

    I think it depends on the nature of the bug. I was sitting down for coffee the oether day with a field guy going over issues from a customer. Most were enhancements, one was a bug. It stopped them from using a feature. I could visualize the code problem, found it fixed it while at coffee. Checked it in, called into work for someone to hit the automated build button. Within the hour we had generated a new installer and delivered to the customer (a close customer) as a BETA from them to QA.
    If the bug had been anything other than a real stupid, should have been caught in QA bug, I could not have done this. But it was simple to me and a huge deal to the customer.
    But quick turn around can sometime make you look great to the customer. (The ones that pay our nice salaries)

  194. Wrong - perfect example by enmane · · Score: 1

    Well, let me - an "unreasonable" customer - tell you a story.

    This past weekend I purchased something from an e-tailer - one of the largest in the computer business.

    I was torn between shipping to my house or my parents as I'm heading there for Christmas and didn't know which would be easier. I checked the shipping to both places and determined to have the components sent here so that I could save money and install the OS and such. Well, when I actually placed the order - after checking to ship it to me - it chose to ship it to my parents place AND charge the larger fee. So what did this "unreasonable" customer do?

    I called and had them make the correction by hand but they refused to adjust the shipping rate. After explaining that I should get credited the difference they told me they had no proof. I sent them screenshots and STILL they were defiant. They said that it showed the same rate on their systems no matter what they did - to which I replied, "something must be wrong with your systems then." So, I tried again with a fictitious purchase to verify the steps and took screenshots all along the way. They STILL wouldn't credit the amount. All of this took hours...

    I sent multiple complaint requests and was actually harassed by some of the employees UNTIL one decent fellow wrote back and asked for the screenshots. I worked with him for another 40 minutes or so, trying this and that, and documenting it all.

    Conclusion: They had some bad Javascript code that wouldn't look for special characters in the identifying addresses. This would cause the system to bork and not process the changes.

    So after about 4 hours of free tech support FOR THEM, name-calling, being made to feel like a total loser .... turns out I was right.

    I'm still waiting for the credit to post for my shipping and almost feel like sending them a bill for my services.

    "unreasonable customers" - hmphhhh

    1. Re:Wrong - perfect example by ShawnCplus · · Score: 1

      Though people in IT obviously have grief towards customers/clients I can almost guarantee that they've all been on the other end of the shaft. It might not have been talking with tech support but getting your car fixed, returning something to the store, lazy plumber, etc. Everyone has dealt with poor service so while we complain about our customers people forget that we are also customers and have dealt with it to. Sometimes customers(we) forget that the person on the other end of the phone line or other side of the desk actually does things outside of work(maybe, unless they own Oblivion).

      --
      Excuse me while I gather the virgin sacrifice and assemble the pentagram required to solve your problem
  195. Sometimes that fast by elhaf · · Score: 1

    We have done turnaround in 48 hours before, for stupid mistakes that are clearly more horrible than the fix.

    --
    Six score characters.
    Brevity being wit's soul
    I have enough space.
  196. Work backwards by Anonymous Coward · · Score: 0

    If you released a bug that a customer deems necessary (jumping, yelling and screaming) to be fixed in 48 hours, I see 2 possibilities:

    A. You are not tuned in to the critical needs of your customer(s). You may need to take a hard look at your feedback chain from customer to sales to requirements to engineering to sqa...

    B. The customer is an exception and is using your product in a way not used by the majority of your customers:
    i.This can be because they were sold the product incorrectly (retrain your sales group;), or
    ii. because they are a demanding customer you want to please (read $$$; refocus your requirements and testing;)

  197. Competing On The Basis Of Speed by chkn0 · · Score: 1

    See Competing On The Basis Of Speed for some ideas on how to cut down that 4-5 week figure, and other advantages you get as the overhead comes down.