News for hackers. Stuff that matters.
Re:Anti-patterns and Malpractices in Modern Software Develop... by JoeAltmaier on Monday October 24, 2016 @11:32AM (#12779700)
I know this is how it works. But it troubles me. When did we abdicate responsibility for the systems we built? Does a bridge Engineer find it acceptable to give notice "The bridge will fall in high winds". Then build the bridge anyway when management decides its an acceptable risk?

At some point (agile?) we explicitly gave up all moral responsibility for our creations, to people with money.

Re:Anti-patterns and Malpractices in Modern Software Develop... by rfrey on Monday October 24, 2016 @11:52AM (#12779911)
To be fair, for the vast majority of software projects it's more like "The plastic canopy on this toy firetruck will crack if a child steps on it, which they will", and management saying "nope, use that cheaper plastic anyhow".

In that case, the mechanical engineer would certainly acquiesce, just like most of us do when management prefers speed/cost to scalability.

Re:Anti-patterns and Malpractices in Modern Software Develop... by mi100hael on Monday October 24, 2016 @12:11PM (#12780100)
Yep, exactly. I think most of the time management isn't totally blind to the risks of crap software, it's just a matter of weighing the time & cost vs risk and deciding what the acceptable ratio is. Obviously I want to put out the absolute cleanest, best possible application, but one that gets the job done without crashing is all the business can justify time & cost-wise.
Re:Anti-patterns and Malpractices in Modern Software Develop... by flukus on Tuesday October 25, 2016 @07:13PM (#12792611)
I can understand that, but they seem oblivious to the long term cost too. They usually have no idea how seriously technical debt will affect them 3 years down the road and by the time it gets to the point they can't even hire anyone decent willing to work with the code.
Re:Anti-patterns and Malpractices in Modern Software Develop... by neffy on Monday October 24, 2016 @11:56AM (#12779952)
> Does a bridge Engineer find it acceptable to give notice "The bridge will fall in high winds".

Not any more.

But in the 19th century bridge failure was quite frequent, until things like the Tay Bridge Disaster happened, and then some standards were imposed, and engineers and others were empowered to enforce high standards.

In any field you can have fast development, or you can have safe development, but you really can´t have both. It remains to be seen quite what level of software disaster it will take to bring this lesson home in our industry.

Re:Anti-patterns and Malpractices in Modern Software Develop... by mojuba on Monday October 24, 2016 @01:21PM (#12780805)
The tragedy is that, with non-critical software that can't kill anyone, users are happy with most bugs most of the time. Therefore we will never have legal quality standards for most types of software.
Re:Anti-patterns and Malpractices in Modern Software Develop... by ghurtado on Monday October 24, 2016 @01:38PM (#12780978)
I realize that you're talking about "quality standards", but depending on the industry, there are plenty of legally mandated software standards out there. You're likely to run into some of them if you haven't already:

- 508 / ADA compliance

- HIPAA

- AICC / SCORM / cmi5

- PCI / DSS

Re:Anti-patterns and Malpractices in Modern Software Develop... by 0xdeadbeefbabe on Monday October 24, 2016 @01:51PM (#12781088)
Some of those are not very good i.e. not quality standards. Is there a quality standard for quality standards or does the buck stop there?
Re:Anti-patterns and Malpractices in Modern Software Develop... by ghurtado on Monday October 24, 2016 @02:13PM (#12781281)
Well, that's just the thing. Whether (we) programmers like it or not, the only relevant measure of quality in a program is whether it does the thing that the user needs it to do. In other words, "functional standards" is the only type of quality standards that you could ever expect to have for software.

Things like code quality and inner loop optimization are largely irrelevant for the people who are using the software.

Re:Anti-patterns and Malpractices in Modern Software Develop... by crpatino on Monday October 24, 2016 @12:46PM (#12780495)
If last Friday events do not, I am not sure what will.
Re:Anti-patterns and Malpractices in Modern Software Develop... by quantumhobbit on Monday October 24, 2016 @09:33PM (#12784514)
Bringing down Twitter for part of the country for a few hours likely won't be enough. Unfortunately it will probably take people being physically hurt or shutting off most of the internet for days at a time.
Re:Anti-patterns and Malpractices in Modern Software Develop... by pjlegato on Monday October 24, 2016 @02:07PM (#12781221)
It wasn't that we gave up responsibility; it was that we were told "ignore those problems and build it poorly anyway, because if you don't we'll just replace you with someone who will."
Re:Anti-patterns and Malpractices in Modern Software Develop... by nkrisc on Monday October 24, 2016 @12:20PM (#12780209)
I believe there clearly is a difference when lives are at stake. Often that is not the case with software (but it can be!).
Re:Anti-patterns and Malpractices in Modern Software Develop... by crpatino on Monday October 24, 2016 @12:55PM (#12780571)
You don't know that, and cannot know that.

Our industry loves to write CYA statements about the product not being intended to be used in critical situations and bury it in the fineprint of licenses we know customers do not ready anyways. Then, we act surprised when the same customers go and use the product in life or death situatioins.

This is not theoretical, just to highlight the most well known example: Our current generation of social media was created for the purpose of allowing college aged people in first world nations to share trivial details about their personal lives with friends and aquaintances. But now we see activists using the same media to organize civil resistance against governments; specially governments with huge stains in their human rights record.

Re:Anti-patterns and Malpractices in Modern Software Develop... by jefurii on Monday October 24, 2016 @12:01PM (#12779995)
> At some point (agile?) we explicitly gave up all moral responsibility for our creations, to people with money.

You hit the nail on the head. It happened when we stopped financing our own work.

Re:Anti-patterns and Malpractices in Modern Software Develop... by lmm on Monday October 24, 2016 @12:24PM (#12780258)
> Does a bridge Engineer find it acceptable to give notice "The bridge will fall in high winds". Then build the bridge anyway when management decides its an acceptable risk?

Maybe they should. There's a reason agile won; it was and remains more efficient than the alternatives.

Re:Anti-patterns and Malpractices in Modern Software Develop... by TeMPOraL on Monday October 24, 2016 @12:27PM (#12780297)
More efficient in producing crap solutions that can be sold by reinvesting time and money into sales and marketing, yes.

Better from the market's POV != better for the people who use it.

Re:Anti-patterns and Malpractices in Modern Software Develop... by flukus on Tuesday October 25, 2016 @01:44AM (#12785586)
Which is still an improvement on taking months/years to produce a crap solution that also doesn't do what the client wants, as was the case before.
Re:Anti-patterns and Malpractices in Modern Software Develop... by kps on Monday October 24, 2016 @01:27PM (#12780871)
Upper-case ‘Agile’ won because it's micromanagement without the blame falling on the managers.
Re:Anti-patterns and Malpractices in Modern Software Develop... by cornchips on Monday October 24, 2016 @12:12PM (#12780121)
Agree.

We would have dramatically less surveillance programs, automated enforcement and bombs if there wasn't as many people ready to blindly write the software for them.

We should be thinking hard about what we are building and how it will be [ab]used, especially in government.

Re:Anti-patterns and Malpractices in Modern Software Develop... by mi100hael on Monday October 24, 2016 @01:10PM (#12780700)
Bit of a jump there, no? The ethics of building crap commercial software is quite a bit different than the ethics of building mass surveillance or munitions software.
Re:Anti-patterns and Malpractices in Modern Software Develop... by cornchips on Monday October 24, 2016 @01:34PM (#12780939)
No.

"I try to stay much less emotionally attached to the end-result".

This is the mindset that drives most of military, police and totalitarian policy. You don't drop a bomb or violate the constitution without a bit of emotional divestment.

Re:Anti-patterns and Malpractices in Modern Software Develop... by mi100hael on Monday October 24, 2016 @01:41PM (#12780999)
The mindset may be the same. The ethics behind adopting that mindset are very different. No one dies if Tinder crashes because it tried to load too many images at once.
Re:Anti-patterns and Malpractices in Modern Software Develop... by st3v3r on Monday October 24, 2016 @02:36PM (#12781511)
We abdicated responsibility when management decided to stop giving us the time we said it was actually going to take.

I don't know about you, but if I'm not given what I need to do something, there is no way in hell I'm going to take responsibility for it.

EDIT: Not to mention that, if I do hold my ground and refuse to do something until I have what I need, the company is going to fire me and find someone who doesn't give a shit. And quite frankly, I like being able to buy food.

Re:Anti-patterns and Malpractices in Modern Software Develop... by clifanatic on Monday October 24, 2016 @01:58PM (#12781144)
"If builders built buildings the way programmers write programs, the first woodpecker that came along would destroy civilization".