One other hypothesis for why so many bugs show up in web apps: every business is pushed to have a web presence, whether or not the actual business is software. It’s hard to even call out web apps as a separate thing, because of how much of today’s life exists on the web.
I’ve worked at only software companies, and in my experience leadership is pushing for you to get things out the door asap. Bug rates are only talked about if they’re a serious problem, for the most part any expenditure on quality is seen as a nuisance. For non-software companies (e.g. a bank), they still need a huge web presence, but because they aren’t “software” companies they tend to have development teams and workflows that are different from the mainstream.
In both of these, cases, it leads to buggy software as the norm. That, and writing software that doesn’t have bugs is really hard.
I don’t really see how it follows from not being software companies. They’d still have either a department that’s responsible for the web stuff, which would presumably be run like any other software business, or they pay a third party to build it for them (which is quite likely for stores with a web presence and such).
Perhaps these systems are so incredibly complex that bugs are inevitable. The bank, hotel and airline example seem like obvious candidates for being extremely complex. At least in the back-end, but that complexity will inevitably shine through in the frontend.
Like I said, I’ve never worked in a software department at a non-software company. I have interviewed at a couple places like that, so I also got a bird’s eye view of how the teams operated. So my information is secondhand, anecdotal, and incomplete.
What I’ve heard overall though is that they have different trends (for example Scala was very big at banking companies for a minute). And that other trends that are commonplace at software companies are less likely to occur there, like continuous delivery. Obviously there are exceptions to all of these (banks that do CD, and software companies that use Scala).
They’d still have either a department that’s responsible for the web stuff, which would presumably be run like any other software business, or they pay a third party to build it for them (which is quite likely for stores with a web presence and such).
More realistic: they pay the boss’ nephew, who “knows that computer stuff real well”, to slap something together.
In other words, I think you’re expecting levels of competence and care and professionalism, from all involved parties, that do not actually exist.
This sounds way too cynical. Banks are well known for their enterprisey approach to things - Java, Cobol etc. That’s the opposite of what you’re suggesting, actually. Airlines are probably similar. For stores who “need a little web shop”, perhaps it might be true though.
I’ve been a freelance/contract web developer before, and it’s sadly very common. While it’s true that big national/multinational chains have either internal teams, or vendors, which is a different sort of mess to deal with as the company politics pull things in a bunch of different directions, at the smaller level a lot of it really just is as I described.
One other hypothesis for why so many bugs show up in web apps: every business is pushed to have a web presence, whether or not the actual business is software. It’s hard to even call out web apps as a separate thing, because of how much of today’s life exists on the web.
I’ve worked at only software companies, and in my experience leadership is pushing for you to get things out the door asap. Bug rates are only talked about if they’re a serious problem, for the most part any expenditure on quality is seen as a nuisance. For non-software companies (e.g. a bank), they still need a huge web presence, but because they aren’t “software” companies they tend to have development teams and workflows that are different from the mainstream.
In both of these, cases, it leads to buggy software as the norm. That, and writing software that doesn’t have bugs is really hard.
I don’t really see how it follows from not being software companies. They’d still have either a department that’s responsible for the web stuff, which would presumably be run like any other software business, or they pay a third party to build it for them (which is quite likely for stores with a web presence and such).
Perhaps these systems are so incredibly complex that bugs are inevitable. The bank, hotel and airline example seem like obvious candidates for being extremely complex. At least in the back-end, but that complexity will inevitably shine through in the frontend.
Like I said, I’ve never worked in a software department at a non-software company. I have interviewed at a couple places like that, so I also got a bird’s eye view of how the teams operated. So my information is secondhand, anecdotal, and incomplete.
What I’ve heard overall though is that they have different trends (for example Scala was very big at banking companies for a minute). And that other trends that are commonplace at software companies are less likely to occur there, like continuous delivery. Obviously there are exceptions to all of these (banks that do CD, and software companies that use Scala).
More realistic: they pay the boss’ nephew, who “knows that computer stuff real well”, to slap something together.
In other words, I think you’re expecting levels of competence and care and professionalism, from all involved parties, that do not actually exist.
This sounds way too cynical. Banks are well known for their enterprisey approach to things - Java, Cobol etc. That’s the opposite of what you’re suggesting, actually. Airlines are probably similar. For stores who “need a little web shop”, perhaps it might be true though.
I’ve been a freelance/contract web developer before, and it’s sadly very common. While it’s true that big national/multinational chains have either internal teams, or vendors, which is a different sort of mess to deal with as the company politics pull things in a bunch of different directions, at the smaller level a lot of it really just is as I described.
Ouch :S
I once watched a bug in a job queue built on MySQL that cost a company double digit millions. Fun times.