Email or username:

Password:

Forgot your password?
Kate Kirby

We desperately need to start a Slow Software movement. High quality, intentionally designed, low defect software done at a quarter of the pace for the same price. Because we've been destroying the mental health of developers for the last quarter century, and what do we have to show for it but a giant mess?

97 comments
Clark Valentine

@uncanny_kate 500% this. I worked in aerospace decades ago, and the avionics software was developed that way. Slow, methodical, proving reliability each step.

Nika Bass

@clarkvalentine @uncanny_kate I really hope they still do it that way - or at least keep the best of both worlds (old and new) if possible

KDHofAvalon :HeartNonbinary:

@mewbassprr @clarkvalentine @uncanny_kate I work in aerospace now and they do... for the moment. The past few months has seen an absurdly MASSIVE push to use "GenAI" (as the higher-ups insist on calling it) at every step of the process. There's talk of requiring every employee to know how to use it.

jnpn

@mewbassprr @clarkvalentine @uncanny_kate it's not 100% but it's probably a lot better than the average js codebase

Amgine

@uncanny_kate

This sounds BSD-ish. (Except that OpenDarwin section.)

synlogic

@uncanny_kate and by "free range" devs. I dont want to be cooped up in a little cage all day

🇺🇦 haxadecimal

@uncanny_kate
I'm not disagreeing with the need, but if it's done at a quarter of the pace, why wouldn't it cost four times as much?

Tom Bellin :picardfacepalm:

@brouhaha @uncanny_kate presumably because part of the longer time scale is ample amounts of free time.

Ben Hearsum

@tob @brouhaha @uncanny_kate I don't see how that makes it any cheaper unless people are earning 1/4 as much?

Tom Bellin :picardfacepalm:

@bhearsum @brouhaha @uncanny_kate it doesn't make it cheaper. It makes space for devs to be human beings.

Amgine

@tob @bhearsum @brouhaha @uncanny_kate

4x the price, Kate said.

It still ends up being cheaper in the long run. One exploit which is the fault of the producer spawns X lawsuits…

Ben Hearsum

@amgine @tob @brouhaha @uncanny_kate Did I misunderstand? The original post says "same price", but maybe some nuance was lost on me.

Kate Kirby

@bhearsum @amgine @tob @brouhaha Sorry, that was unclear, I meant the same salary for the developer by 'same price', not the same cost to the company.

Amgine

@uncanny_kate @bhearsum @tob @brouhaha

Same wage, 4x the time, 4x price to company, x unknown level of keystone to the purchaser.

The problem, as @DocBohn points out, is time frame. The target market may have a focus on quality, and if quality is objectively measurable will pay relative to their risk. The target market may have a focus on budget, in which case they will pay 50-90% the price of the objectively measured 'best quality', despite the liability being far greater.

Ben Hearsum

@uncanny_kate @amgine @tob @brouhaha ah, I see! Thanks for the clarification 🙏🙏. I wholeheartedly agree!

Chris Bohn

@amgine @tob @bhearsum @brouhaha @uncanny_kate The problem (as we all know) is that the incentive is to make decision with a short-run focus because the long-run cost is someone else's problem.

A non-development example. A couple of decades ago, our main facility was renovated. My organization entered an 8-year lease on part of an old Kodak facility; other organizations would rotate in & out of our space in the main facility as their sections were renovated.

Our boss picked the corner for his office because of the river view on one side and the lush green space on the other. Deputy boss pointed out that the plan is to put in a parking lot where the green space is in a couple of years. "Yes, but I'm retiring in 18 months."

@amgine @tob @bhearsum @brouhaha @uncanny_kate The problem (as we all know) is that the incentive is to make decision with a short-run focus because the long-run cost is someone else's problem.

A non-development example. A couple of decades ago, our main facility was renovated. My organization entered an 8-year lease on part of an old Kodak facility; other organizations would rotate in & out of our space in the main facility as their sections were renovated.

aardvark

@brouhaha @uncanny_kate less churn, less triage, less bug fixing, easier modification, easier handoff to new team members

ang_mo_uncle

@brouhaha @uncanny_kate plenty of reasons. Most importantly, work efficiency is not static. Say in 8 hours of work per day you get 8 units of work done. Then it's pretty safe to assume that working 10 hours would not yield 10 units, but less. And at some point, additional work hours might cause negative units BC. of errors due to overworking/attrition, ...

🇺🇦 haxadecimal

@ang_mo_uncle @uncanny_kate It's been shown that the value of additional work beyond 8 hours goes negative very quickly. If you do it rarely, the value might actually be nine or more, but when done frequently...

Gaëtan Perrault

@brouhaha @uncanny_kate

It would not cost four times as much because people would be willing to pay full price for a stable 25% instead of an unstable 100%.

But that's why this would be a "movement". It requires multiple involved parties to change their expectations of each other. To agree to different terms.

It's also why this hasn't really happened. Most people want to pay $0 for software and services. Full price, 25% of price, ... All irrelevant if people think the value is $0.

Marc Etienne

@brouhaha @uncanny_kate because you save more on less bug fixes and overtime.

Benoit Blanco from the Bronx 🎄

@brouhaha @uncanny_kate Low quality software ends up taking longer as bugfixes for production interrupt the flow of new features. Fast software is often tactically designed and needs progressively more time for rework in order to make additions and changes. It's a false economy.

🇺🇦 haxadecimal

@feijoa @uncanny_kate Sorry, I don't have enough time to write the software badly!

Ami Moregore

@uncanny_kate The freaking investor class needs to be abolished

SalusaSecondus

@uncanny_kate I write cryptographic code. That's the only type of software I build.

Max Kaehn

@uncanny_kate That’d be a lovely way to work part-time in retirement.

aardvark

@uncanny_kate go slow to go smooth. Go smooth to go fast.

aardvark

@woolie @uncanny_kate they’re told to “Fix quality! Nerd Harder!”

mirabilos

@uncanny_kate also, less is often more. For security, don’t add on "solutions". Take away code, dependencies, frameworks. Much more realiable, and easier to mentally model.

Pēteris Krišjānis

@uncanny_kate this. Majority of software needs solid 1.0 release, and then leave it be, sans small fixes once a year.
Desktop apps within certain categories might only exception.

Lord Caramac the Clueless, KSC

@peteriskrisjanis @uncanny_kate Depending on the software, it might need fixes more often due to the ongoing discovery of exploits. But you don't need to add features all the time, you can have version 1.3.12, 1.3.13, 1.3.14... 1.3.23... 1.3.78 if necessary, before ever releasing 1.4.0, let alone 2.0.0 (which might take many years). "Never change a running system" sounds far better than "move fast and break things" IMHO.

XQWV

@uncanny_kate I think the VMS operating system was built that way.
I wasn't personally involved in its development, but I very much enjoyed using it.

I'd support a Slow Software Movement.

huxley(fur) 🔜 Furcationland

@uncanny_kate that's what we do at Mixxx but all we get is "why does it take two years between releases"

lkngrrr

@uncanny_kate Weirdly, Nintendo has been leading the charge on this.

Phonotactical Girl

@uncanny_kate hell, i'd take a quarter of the pay if it wasn't so goddamn stressful to work in software

Yeshaya Lazarevich

@akjcv you must be paid about five times what I'm getting then
@uncanny_kate

Simon Dassow

@uncanny_kate We might even be able to call it engineering again when done right.

llewelly

@uncanny_kate
in addition to the giant mess, several fascist billionaires. I mean they would have been rich anyway, but maybe not quite so many billions.

Tyrone Slothrop

@uncanny_kate I work with people who write software for trains.

Updating a train is a PITA, and quite costly. So they try hard to get it right.

The further you go into the safety relevant bits, the more this applies.

Simon W 🙄 🆙 ⚛️

@uncanny_kate
I've been told all my company projects have to use Java in the future not because it is the best language for the job, but because AI tooling to detect and correct defects works best with it. That sounds like the American approach to healthcare - focus on expensive and profitable treatment of health issues vs. preventative measures that reduce the chance of us having "defects" in the first place.
@Binder

K. N. Brindle (they/them)

@enmodo @uncanny_kate @Binder

There are days when I miss development, but then there are stories like this that make me so glad I left this profession.

dazfuller :rickwhoah:

@enmodo @uncanny_kate @Binder that is the dumbest thing I’ve heard about since the Lattice post on AI employee records.

DELETED

@uncanny_kate It's certainly destroying my mental health...and I'm just an old customer. I can barely learn one system and they change it all up. Makes them rich, but forces me to spend insane amounts of time dealing with it and all the people business people as confused as I am that I have to interact with trying to figure it out for the tenth time. It is a giant mess, no question.

Poul-Henning Kamp

@uncanny_kate

Can I interest you in Varnish HTTP Cache ?

That has been a project goal for us since 2006

varnish-cache.org/docs/trunk/p

Henning Deters

@uncanny_kate Spot on.
But of course many devs are (pseudo) freelancers.

ocdtrekkie

@uncanny_kate IMHO the core problem was the "innovation" of evergreen software updates. As soon as it became okay to just ship every six weeks regardless of the current state, quality was guaranteed to fall off a cliff.

Meanwhile software shipped before game consoles had Internet are still playable forty years later.

Dr.Nick

@uncanny_kate This is why I do contract work for banks.

The code is often older than me. It works. It has worked for longer than my life. It just needs a bit of updating.

People joke about old code. Old code doesn't become old unless it is good.

Dr.Nick

@uncanny_kate AerLingus, as an example, use a booking system they designed (and sold to other airlines) that was made in the 1960s.

It still works. It still saves them money. Other airlines have moved on to different systems. The cost to replace far outweighs the cost to update.

I only know of the system going down twice in 40 years. Last time was a back-hoe cutting fibre lines

rellik moo

@devxvda

How much of that software supports Unicode or screenreaders?

@uncanny_kate

Dr.Nick

@idlestate @uncanny_kate None of them support unicode last I checked a decade ago. Why would they need to?

It's all text based in the back end so 10000% screen reader friendly.

Patrick Georgi

@devxvda @idlestate @uncanny_kate Unicode might help represent names properly. What is the system using, EBCDIC on codepage 285?

Dr.Nick

@patrick @idlestate @uncanny_kate You are talking about bespoke software custom made for a single client.

It is whatever it is. And is updated whenever it is needed.

Yeshaya Lazarevich

@devxvda I think that it depends on the code, and how old it is. I'm having to work with some very bad code that is 10 years old, only ten years but those are ten years of bits of updating shoved in there anyhow on a deadline. No one knows how it works. At this point doing updates takes 90% effort to untangle the spaghetti mess enough to even make an educated guess of where to put the update... And you never, ever know for sure what unexpected side effects you're introducing...

@uncanny_kate

Yeshaya Lazarevich

@devxvda I asked a veteran colleague a question about the DB naming scheme and he laughed at me
@uncanny_kate

Dr.Nick

@alter_kaker @uncanny_kate Ten year old code is a LOT different to fifty year old code.

I have stuff from a decade ago still running. Not great code, but does what it needs to. Fifty years ago "quarterly goals" didn't exist. It was ready when it was ready, because to do otherwise would cost half the company.

Yeshaya Lazarevich

@devxvda yeah. The old code jokes in my experience are more about 10-20yo code than 50. But my experience is pretty much all in retail and stuff like that
@uncanny_kate

Astryr the Cyber-Swynwraig

@uncanny_kate its very unfortunately a "who will pay for this?" because even radical software groups ive been more focused on adding features than getting stuff right

Kestral

@uncanny_kate @aks The idea behind Gemini, but as software pracrise. I love this.

Luna :anarchy:

@uncanny_kate slime rancher 2 devs have been proudly progressing slowly and refer to themselves as a no-crunch studio on the steam page

Andrea Franceschini 🏴‍☠️

@uncanny_kate I would have a polite chat with the fine folks at the Agile movement, not because they fucked but because they did not stop an entire industry of complete and utter bullshit from taking over software development in the name of velocity and shit. Fuck them Agile™ consultants.

Rich Felker

@uncanny_kate Not just a quarter. We need an understanding that, without urgent need to fill, software should be something that takes years to go from "people with a particular interest in this new thing try out using it" to even ~optional~ mainstream deployment, and decades to something you can expect society at large to tolerate a dependency upon.

LisPi
@dalias @uncanny_kate Or in other words, remove the capitalist distortion and it mostly snaps back into place on its own.
The Witch of Crow Briar

@uncanny_kate We used to do it this way, until the agile manifesto and its golden rule, “thou shalt not criticize agile”.

The Penguin of Evil

@uncanny_kate We have mountains of academic evidence that using the right tools like formal methods and validation produces software just as fast as the current "throw shit at the wall" model of software design. It doesn't need to be a slow software movement, more of a "we invented the ebike for software, why are you still running up hills" model.

Daniel Barlow
@etchedpixels @uncanny_kate "throw shit at the wall" is still faster if you don't care whether it works or not, which is important in a lot of industries
Gaëtan Perrault

@uncanny_kate I 100% back this movement.

But I think the movement needs to start on the purchasing side. If we're not buying and paying for this software, it's not going to exist. And I mean that seriously, we need to get off the "free" plan.

I'm happy to support both Mastodon and my host with monthly fees. But that is surprisingly rare. Back in the Twitter migration days, people were surprised by requests for donations and the lack of infinite Dev budgets.

eightycc

@uncanny_kate Couldn't agree with you more. I've always used the "get it right the first time" approach which requires lavishing time on the code throughout the development process. Then again, I'm talking MMU code here, so there's not much margin for error. On the other hand, I think taking more time than is absolutely necessary on some PHP monstrosity amounts to developer abuse.

Charles Choi 최 민수

@uncanny_kate save for the same price (why cheaper?), the unrealistic expectations of velocity has created a culture of unforced errors and thoughtless yolo decisions. The line of "fast, cheap, reliable: pick two" still holds.

jnpn

@uncanny_kate I also believe that we're not directing brain power where it matters. Chasing funding money deadlines and KPIs is not a net benefit for society

bignose

This is what we need for sure, @uncanny_kate

When you lay it out like that, though, it is clear that this can't be done by corporations with "growth leading to monopoly rents" as an imperative.

We need to stop begging them to act against their legally mandated shareholder interests, and instead demand collective funding from the people's purse, for making and maintaining user-respecting software essential to our modern lives.

bignose

This need @uncanny_kate, for
> High quality, intentionally designed, low defect software done at a quarter of the pace for the same price.

is a close approximation of why I'm in the #Debian project. Building a #UniversalOperatingSystem and trying to make it stable in the face of endless churn and short attention spans.

Yemuyin :nona:

@uncanny_kate Totalmente de acuerdo con la primera parte, en cuanto a la segunda, la salud mental de los desarrolladores la tienes reflejada en las contestaciones de este hilo, si es que para muestra vale un botón.
Considero que conceptualizar el software y su ergonomía para el usuario está fuera del alcance de los cerebros privilegiados de los denominados "desarrolladores".
No lo digo por provocar un flame, es que me aburre el fútbol
Un saludo

Sven Slootweg

@uncanny_kate I'm on board.

(As in, I've already been doing this personally for quite some time, but hadn't given it a name like that yet 🙃)

undead

@uncanny_kate

You may want to have a good look at the #OpenBSD project. This is a core concept for them.

Hadley T. Canine 🏳️‍⚧️

@uncanny_kate This is why I've been using FreeBSD for the past 15 years instead of Linux. Side benefit: it actually makes sense to learn about how it works again, because the things I learn about won't get swapped out in a year or two with an equally trash subsystem that still doesn't solve the problems it was meant to (and therefore will get swapped out again in another few years at most.)

James A Rosen

@uncanny_kate I’m a holistic engineer. UX, performance, observability, accessibility, test-coverage, privacy, and more — all of these are valuable to the long-term happiness of all stakeholders. You can’t get every aspect to an A+ in every project/iteration, but you have to hit them all from time to time.

I’ve been dismissed after early rounds of interviews for espousing too much professional care and discipline.

Ian Langham

@uncanny_kate also the mental health of tech support and all of the customers. Seriously the first company that can release glich free software by taking care and time, may very well rule the market.

Neko :blobcatcoffee:

@uncanny_kate I NEED A BIGGER BOOST BUTTON

The current way companies do Agile is "Build a half-assed MVP with code we'll have to throw out wholesale if we want to upgrade it, do user research and find out they don't really wanna use it because it's not doing everything the old version did, and decide not to dedicate the resources needed to rewrite it into something usable."

Rinse and repeat ad nauseum etm.

Go Up