4 ms·
Standards can only happen when an industry has matured and moves slow enough for these standards not to be obsolete by next year. We have plenty of laws and st
by historyloop 5y ago
Standards can only happen when an industry has matured and moves slow enough for these standards not to be obsolete by next year.
We have plenty of laws and standards regarding handling private information, payment systems, independent pen testing and so on. So it's incorrect to say we have "no standards" at all. Where it matters, we do.
But to try and standardize a process that's evolving faster than a standard can spread is pointless.
This doesn't make software engineering any less engineering. Engineering isn't about standards. It's about the design, construction and use of systems.
- moksly 5y agoIt happens with slow technologies that ought to have standards as well. I do work with OS2.eu (Danish public sector owned open source software organisation) and we recently brought the first project into multiple supplier territory. It’s a Drupal PHP project, and as I understand that means that everything that gets build should follow Drupal standards that are pretty much set in stone. After 6 months of governance going this and that way, and the countries second largest city (and biggest PHP developer) as a mediator, we are only now moving into the blissful world of compliance where everyone has agreed to develop Drupal modules in the same way. Compare this to when we build a new city hall. A massive project involving almost 500 smaller local contractors, in a business that actually moves forward pretty fast. Some of the materials they ended up using weren’t even invented when they began. The project was finished a head of schedule and under budget. I know construction isn’t always like this. We’ve had our share of catastrophic projects, one elder-care center in particular, but compared to buying software it’s almost child’s play, even when things go wrong. So I think it’s perfectly fair to say that software engineering isn’t engineering. If you can even build a simple webpage, without two suppliers disagreeing so much on the “standards” that it takes 6 months of governance to achieve compliance, then there is just so far for the industry to go before it’s anything that even resembles engineering.
- jbluepolarbear 5y agoDrupal and PHP is the standard chose? How? Were alternatives explored? This seems very odd as the choice for standardized websites. A better solution would be standardize a backend apis and setup standards around how data is queried and stored. Next standardize how that data is presented to the user and how the user can manipulate that data. None of this requires a specific technology and sounds like decisions were made by people that don’t understand the problem they’re trying to solve or are being influenced by others with something to gain (like your big Drupal house).
- VampireWillow 5y agoYou make a strong case for software not being engineering. Who should the client trust when every expert has something to sell, is not bound by an ethical code, and has experience that is incommensurable with every other expert's experience? Who are you to the client but another expert with a different solution to sell?
- jbluepolarbear 5y agoI mean, I just gave the solution for software being engineering. Standards need experts to make decisions. Government shouldn’t reach out to an existing firm that’s locked into a specific technology. The experts need to continue to audit, refine, and integrate on the standards. Locking in a specific technology is shortsighted and will cost a lot later.
- moksly 5y ago> A better solution would be standardize a backend apis and setup standards around how data is queried and stored. We have actually attempted to do this on a national scale in Denmark because it was silly to have 98 municipalities handle organisational data (and other things) in 98 different ways. So we created something called rammearkitekturen (framework architecture) which specifies what an “employee” is and how you’re supposed to transfer them between systems. The suppliers hired to build this, and these are companies like IBM, Systematic and Netcompany somehow still manage to build things in such a manner that the next company needs to spend a whole year beyond their estimate to get things running after a public procurement process that saw an ownership change. Some of these are complicated, bur most of them aren’t. Or at least they aren’t supposed to be. Now, either IBM is completely devoid of talent, or maybe software “engineering” just isn’t “engineering” at all. At least not on a level that is in any way acceptable to us as enterprise customers. I’m still not sure why we tolerate year long delays on software projects. It’s not like building a new hospital never gets delayed, but the consequences of those delays are typically bosses losing their jobs and companies paying delay fines (or whatever you call that in English), where as with software the consequences are just a few shrugs and a joke about that pesky IT. I actually don’t disagree with you as such. My point is simply that when you hire two talented engineers from the same background to build the exact same thing. Then they will both rather easily understand what the other did and how he/she did it, unless it was software.
- robertlagrant 5y agoIt's silly to standardise on a technology. Standardise on the output definitions: accessibility, performance, ergonomics, compatibility. In construction a standard isn't "use this make of hammer". It's "achieve this effect".
- moksly 5y agoThe standard in building is: “install this type of power outlet here”. Or “install power cables between a and x, capable of carrying a”. We have somewhat similar standards in software development. Like, “build this type of API here, capable of handling this type of data model”. The issue comes when I can buy that API from IBM and then can’t transfer it to Netcompany next year because they don’t agree on how to implement a REST API or how to handle the data model beyond the API. I don’t have that issue on construction. I can have a supplier hired to hand the electric installations on 300 buildings at a hospital, who go bankrupt half way through, and then I can painless hire a new contractor to finish up. As long as software doesn’t have anything that comes near to this, it’s “just” art. I’m not saying this as a negative thing, but when two “engineers” who have gone through the same education and follow the same international “best practices” build the same thing, so differently that they can’t understand what the other build, then it’s just not worthy of the engineering description.
- robertlagrant 5y ago> I can have a supplier hired to hand the electric installations on 300 buildings at a hospital, who go bankrupt half way through, and then I can painless hire a new contractor to finish up. You can hire different people to work on code too. There's no one person per repo rule.