Why Don't We Have Better Practices?

  • I think that part of the reason is that we are not regulated so there is nothing to comply with. The other reason is that because we deal with abstract concepts, as opposed to the real world with its laws of physics, there are far more ways to do something and for it to work. Whilst it can be easy to pull apart practices which are clearly poor, it is not so easy to find one competing practice that is the sole shining light. Often many are suitable, usually none of them more so than all the others.

    So as an industry we are left fractious and and rudderless.

    Gaz

    -- Stop your grinnin' and drop your linen...they're everywhere!!!

  • What's needed is a kind of SARBOX for the IT industry.

    But I guess we haven't encountered a big enough scandal to motivate/justify this.

    Thank Heaven? :hehe:

  • Gary Varga (5/15/2014)


    I think that part of the reason is that we are not regulated so there is nothing to comply with. The other reason is that because we deal with abstract concepts, as opposed to the real world with its laws of physics, there are far more ways to do something and for it to work. Whilst it can be easy to pull apart practices which are clearly poor, it is not so easy to find one competing practice that is the sole shining light. Often many are suitable, usually none of them more so than all the others.

    So as an industry we are left fractious and and rudderless.

    Indeed. If a bridge collapses because the contracter made a fault, there will be a scandal, lawsuit and who knows what else.

    If you get a blue screen because of a bug? Nobody dies, you just get frustrated. Usually people don't die because of bad coding practices, unless you work in military, aviation, space programs,... I do hope they have good coding practices 🙂

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • I think the key to this is insurance. If you buy agricultural products, it is possible to insure the quality and there are specialist companies that do this (SGS, Cotecna). They inspect the shipment and pass it as being of a certain quality. Then when it arrives, if it falls below that quality they pay out. Something similar could work for software. The insurer would come in, check the software and certify it then if it failed, they would pay out. The premiums could be substantial, depending on the software, but it would give organisations some peace of mind.

  • Software and IT operations for the banking sector are already regulated, and rightly so. So too is software for military and health purposes. But it isn't reasonable to impose the same regulation on a mobile phone game. Also, regulation stifles imagination and innovation and greatly increases the cost of entry to the market place and the cost of development.

    I'm not saying everything in the garden is rosy - clearly some areas may need more regulation than they have, but 'fit for purpose', due diligence and data protection legislation already play a role. To suggest that all software should be the subject of the type of regulation used in civil engineering, is to ignore the breadth and diversity of the industry and its dynamic, innovative nature. It's the sort of plan that the European Commission are so happy to suggest.

  • david.wright-948385 (5/15/2014)


    Software and IT operations for the banking sector are already regulated, and rightly so. So too is software for military and health purposes. But it isn't reasonable to impose the same regulation on a mobile phone game. Also, regulation stifles imagination and innovation and greatly increases the cost of entry to the market place and the cost of development.

    I'm not saying everything in the garden is rosy - clearly some areas may need more regulation than they have, but 'fit for purpose', due diligence and data protection legislation already play a role. To suggest that all software should be the subject of the type of regulation used in civil engineering, is to ignore the breadth and diversity of the industry and its dynamic, innovative nature. It's the sort of plan that the European Commission are so happy to suggest.

    That's all very true.

    But if I buy a very expensive software product - be it an operating system or Photoshop or something similar - I'd like to expect some quality. Not a half broken product riddled with bugs. "Oh yeah that feature doesn't work, but we'll have a patch in a few months..."

    I'd like to see that if my business is losing money because of faulty software, that the vendor can be held responsible in some way.

    Yes, software is very complex and you can't expect something like SQL Server to be completely bug free, but on the other hand do we just have to accept what the vendors shove down our throat?

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • Koen Verbeeck (5/15/2014)


    ... software is very complex and you can't expect something like SQL Server to be completely bug free, but on the other hand do we just have to accept what the vendors shove down our throat?

    No, we don't.

    To take your example, SQL Server is used in some very constrained circumstances, and Microsoft publish which standards they comply with, and how far their liabilities extend. Their customers have a duty of due diligence in what they produce, so they are responsible for ensuring that third party products they use are of sufficient standard for the purposes they wish to put them. If a customer isn't happy with what is offered, or if the vendor isn't clear about their standards, then they have the option of going elsewhere, or producing something themselves that will meet their needs - not just in functionality, but also in terms of quality and reliability. If the product isn't up to the standards the vendor declares, then the buyer has recourse through existing legislation.

    Your argument seems to suggest that all database products should meet the same rigorous standards, where I think the vendor should be able to sell more cheaply for a lower standard (or indeed an undeclared standard) of product.

  • david.wright-948385 (5/15/2014)


    Your argument seems to suggest that all database products should meet the same rigorous standards, where I think the vendor should be able to sell more cheaply for a lower standard (or indeed an undeclared standard) of product.

    I wasn't suggesting that (although it seems that way). I was stating two view points: on one hand, it is pretty impossible to get complex software - such as SQL Server - completely bug free. On the other hand, vendors have too much power in the sense that they can just shrug it off as "it's just a bug and we'll patch it someday. If you don't like it, just buy something else."

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • Koen Verbeeck (5/15/2014)


    I was stating two view points: on one hand, it is pretty impossible to get complex software - such as SQL Server - completely bug free. On the other hand, vendors have too much power in the sense that they can just shrug it off as "it's just a bug and we'll patch it someday. If you don't like it, just buy something else."

    I agree - there are two viewpoints, but imho mandatory industry standards aren't going to help.

    Perhaps there's a case for an organisation that certifies products or vendors to a given standard (if there isn't one already?). If it is demonstrably independent of vendors, buyers will have confidence that the products they buy are up to that standard. Vendors will be able to justify higher prices as a result of certification, so they benefit. For vendors that can't, or don't wish to meet the standard don't have to, and prices will necessarily be lower. Buyers then have a choice, and buyers with limited funds and flexible standards are free to use them.

  • david.wright-948385 (5/15/2014)


    Koen Verbeeck (5/15/2014)


    I was stating two view points: on one hand, it is pretty impossible to get complex software - such as SQL Server - completely bug free. On the other hand, vendors have too much power in the sense that they can just shrug it off as "it's just a bug and we'll patch it someday. If you don't like it, just buy something else."

    I agree - there are two viewpoints, but imho mandatory industry standards aren't going to help.

    Perhaps there's a case for an organisation that certifies products or vendors to a given standard (if there isn't one already?). If it is demonstrably independent of vendors, buyers will have confidence that the products they buy are up to that standard. Vendors will be able to justify higher prices as a result of certification, so they benefit. For vendors that can't, or don't wish to meet the standard don't have to, and prices will necessarily be lower. Buyers then have a choice, and buyers with limited funds and flexible standards are free to use them.

    Although it's a very nice idea - a certification organisation - I wonder how practical this can be in reality. Testing software is not easy and can take a lot of time. With regular products it's usually easier. You just take a car for a testdrive and decide if you like it or not 🙂

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • You've come full circle behind my original post 😛 I agree: imposing standards is expensive, but making those standards optional gives flexibility.

    Those that wish to sign up and can afford the cost will stand out from the crowd. Buyers can pay the extra cost to know(!) that what they're buying is up to standard, or they have the option of buying a down-market product, accepting that they may have problems with it.

  • Gary Varga (5/15/2014)


    The other reason is that because we deal with abstract concepts, as opposed to the real world with its laws of physics, there are far more ways to do something and for it to work.

    This is exactly why I oppose the development of computer controlled vehicles. They unfortunately do obey the laws of physics. Unlike computer controlled machines in stationary situations, automation of cars appears to be creating objects of destruction hurtling at us at alarming speeds. I don't think I want buggy software controlling the one coming at me. As the title of my hypothetical documentary says, "Do we really need to do this s-h-i-t ?

    Rick
    Disaster Recovery = Backup ( Backup ( Your Backup ) )

  • skeleton567 (5/15/2014)


    Gary Varga (5/15/2014)


    The other reason is that because we deal with abstract concepts, as opposed to the real world with its laws of physics, there are far more ways to do something and for it to work.

    This is exactly why I oppose the development of computer controlled vehicles. They unfortunately do obey the laws of physics. Unlike computer controlled machines in stationary situations, automation of cars appears to be creating objects of destruction hurtling at us at alarming speeds. I don't think I want buggy software controlling the one coming at me. As the title of my hypothetical documentary says, "Do we really need to do this s-h-i-t ?

    Not only buggy software. Suppose the software works flawlessly. But it has to choose between two objects to impact when it is going to crash: you in a regular vehicle or the guy on the bike. To minimize damage, it chooses you.

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • Koen Verbeeck (5/15/2014)


    skeleton567 (5/15/2014)


    Gary Varga (5/15/2014)


    The other reason is that because we deal with abstract concepts, as opposed to the real world with its laws of physics, there are far more ways to do something and for it to work.

    This is exactly why I oppose the development of computer controlled vehicles. They unfortunately do obey the laws of physics. Unlike computer controlled machines in stationary situations, automation of cars appears to be creating objects of destruction hurtling at us at alarming speeds. I don't think I want buggy software controlling the one coming at me. As the title of my hypothetical documentary says, "Do we really need to do this s-h-i-t ?

    Not only buggy software. Suppose the software works flawlessly. But it has to choose between two objects to impact when it is going to crash: you in a regular vehicle or the guy on the bike. To minimize damage, it chooses you.

    Excellent point. Either way, somebody is going to get hurt. Some decisions should not be left to software designers, let alone coders. And it's probably still a fact that actual coders are lowest on the totem pole (is that P/C these days?). This illustrates why coding should not be left to peons.

    Rick
    Disaster Recovery = Backup ( Backup ( Your Backup ) )

Viewing 15 posts - 1 through 15 (of 45 total)

You must be logged in to reply to this topic. Login to reply