News for hackers. Stuff that matters.
Re:Stopping at 90% by huijzer on Wednesday August 02, 2023 @04:36AM (#36968476)
Yes but the problem is that engineering projects tend to consist of two halves. There is the first 90% of the work and there is the second 90% of the work.
Re:Stopping at 90% by huijzer on Wednesday August 02, 2023 @04:39AM (#36968493)
Can we start calling "evangelism" "sales" again, by the way? Someone who calls themselves an "evangelist" is a salesperson, or someone who studied theology.
Re:Stopping at 90% by dragonwriter on Wednesday August 02, 2023 @04:44AM (#36968532)
> Someone who calls themselves an "evangelist" is a salesperson, or someone who studied theology.

While both come from religion, an evangelist is not the same thing as a theologian.

Re:Stopping at 90% by wumms on Wednesday August 02, 2023 @04:51AM (#36968577)
> evangelist

- religion: a person who tries to persuade people to become Christians, often by travelling around and organizing religious meetings

- opinions: someone who often talks about how good they think something is, and tries to persuade you to have the same opinion

- religion: one of the writers of the four books in the Bible about Jesus Christ

https://dictionary.cambridge.org/de/worterbuch/englisch/evan...

Re:Stopping at 90% by darkclouds on Wednesday August 02, 2023 @05:56AM (#36968886)
And yet they omit Lawyers in front of juries and Lexicographers writing the next edition of a dictionary.

Is there any logic to this exceptional world?

Re:Stopping at 90% by hgsgm on Wednesday August 02, 2023 @09:49AM (#36970877)
Yes, but it's fuzzy.
Re:Stopping at 90% by darkclouds on Wednesday August 02, 2023 @10:31AM (#36971421)
That asserts that the degrees of truth in fuzzy logic relates to paths and that asserts paths are fixed. A form of lazy computing when resources are finite for a reason, and nullifies the existence of quantum physics.
Re:Stopping at 90% by pessimizer on Wednesday August 02, 2023 @03:31PM (#36975939)
People who are paid to have an opinion don't count.
Re:Stopping at 90% by monooso on Wednesday August 02, 2023 @06:25AM (#36969029)
For me, at least, sales implies a commercial offering.

You could argue that "sales" just means "I'm trying to sell you on (using|supporting|believing in) this thing", but I think evangelism is a more suitable term in a non-commercial context.

Re:Stopping at 90% by phkahler on Wednesday August 02, 2023 @07:29AM (#36969425)
Evangelists are selling themselves while promoting something.
Re:Stopping at 90% by detourdog on Wednesday August 02, 2023 @06:37AM (#36969104)
My perspective Guy Kawasaki was the first tech exec. with that title at Apple. His job was to figure out what different groups of users were doing and what they needed.

This was instrumental in developing desktop publishing industry.

I agree the term is dated and should be retired.

Re:Stopping at 90% by mlok on Wednesday August 02, 2023 @06:48AM (#36969174)
Not the same things : Sales goal is to get listener's money. Evangelism goal is to convert listeners into new supporters / enthusiasts.
Re:Stopping at 90% by hutzlibu on Wednesday August 02, 2023 @06:53AM (#36969215)
"Evangelism goal is to convert listeners into new supporters / enthusiasts."

And they buy things. But I agree that marketing would be a better term in many cases.

Re:Stopping at 90% by Brian_K_White on Wednesday August 02, 2023 @09:39AM (#36970734)
I evangelize the concepts of open source and avoiding giving up your data. Meaning any time I think it's topical and not annoying, I spout the opinions and the reasons for them.

As far as I can tell I have no "buy things" motivation. I am not trying to get my sister in law to hire me to install and maintain an asterisk phone system or an instance of nextcloud or add a custom feature to vlc etc. Nor do I do those things in general where I would benefit indirectly if more people wanted those services generally.

Re:Stopping at 90% by nickserv on Wednesday August 02, 2023 @04:10PM (#36976626)
There's a difference between someone who genuinely believes what they are evangelizing, and paying marketing people to spread some corporate opinion.

The OP is referring to the second type I think.

Of course the two are not mutually exclusive, you could have an evangelist job for an open source company selling data protection software/services for example.

Re:Stopping at 90% by bjornasm on Wednesday August 02, 2023 @11:16AM (#36972049)
Its the same things, they are just selling the concept and the product, not just the product.
Re:Stopping at 90% by inopinatus on Wednesday August 02, 2023 @07:17AM (#36969363)
Software theologians are called “architects”.
Re:Stopping at 90% by mikrl on Wednesday August 02, 2023 @07:56AM (#36969620)
What, you don’t want to spread the good word of our lord and saviour… software???
Re:Stopping at 90% by Nition on Wednesday August 02, 2023 @06:53AM (#36969213)
From the title I thought this article was going to be advocating for stopping at 90%. I was thinking to myself that makes pretty good sense, I could get through twice the amount of projects .
Re:Stopping at 90% by SoftTalker on Wednesday August 02, 2023 @09:53AM (#36970934)
Agree. If projects regularly achieved 90% of what they set out to achieve, that would be fantastic. My experience is that 40% is more typical, for the ones that aren't canceled before they deliver anything.
Re:Stopping at 90% by skeeter2020 on Wednesday August 02, 2023 @10:01AM (#36971033)
worse, it's not a cohesive 40%, but a long tail percentage complete of numerous features: 90% of feature A, 67% of B, 1-30% of countless more...
Re:Stopping at 90% by js8 on Wednesday August 02, 2023 @06:54AM (#36969218)
I think we can all agree on the fundamental truth that taking out the 90% of the software system leaves you with the 90% of the software system.
Re:Stopping at 90% by HPsquared on Wednesday August 02, 2023 @07:09AM (#36969316)
It's a bit like the Pareto principle. 20% of the work takes 80% of the time.
Re:Stopping at 90% by renegade-otter on Wednesday August 02, 2023 @07:19AM (#36969376)
Yes, it's the 90-90 rule. It has its own Wikipedia entry: https://en.wikipedia.org/wiki/Ninety–ninety_rule

"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."

Re:Stopping at 90% by coolgoose on Wednesday August 02, 2023 @07:28AM (#36969418)
I always knew it as the 80/20 rule :D
Re:Stopping at 90% by mathgeek on Wednesday August 02, 2023 @07:30AM (#36969431)
Re:Stopping at 90% by mhluongo on Wednesday August 02, 2023 @07:34AM (#36969455)
So is 90/10.
Re:Stopping at 90% by skeeter2020 on Wednesday August 02, 2023 @09:59AM (#36971005)
read the thread again; it's the 90/90 rule.
Re:Stopping at 90% by mathgeek on Wednesday August 02, 2023 @12:30PM (#36973151)
The wikipedia page for the 90/90 rule quite literally says “not to be confused with the 90/10 rule”.
Re:Stopping at 90% by throw310822 on Wednesday August 02, 2023 @01:52PM (#36974370)
Strange, I knew a less humorous (and, I think, more useful and realistic) rule:

80% of the work is completed in 20% of the total development time; while the remaining 20% of work consumes 80% of the time.

And this is something I've seen again and again: the large, most impactful features and architecture of a system are designed and implemented fairly quickly; it's the many small details get forever to be defined and implemented accurately.

Re:Stopping at 90% by e12e on Thursday August 03, 2023 @09:28AM (#36985596)
The 90/90 rule captures the notion that (programming project) estimates are wrong, in addition to the Pareto principle.

Now if 90/90 is accurate because of unknown unknowns, or just because we are all terrible at estimation and planning is debatable;)

Re:Stopping at 90% by Animats on Wednesday August 02, 2023 @07:57AM (#36969626)
Indeed.

It's the curse of open source projects. So many projects get to the point where it sort of works, and then the authors, having done all the fun stuff, get bored and quit. So the project never reaches the Just Works stage.

Re:Stopping at 90% by graphviz on Wednesday August 02, 2023 @08:12AM (#36969780)
If the software endures long enough, there is no 100%. The Just Works stage is not stable. The ground keeps shifting beneath your feet.
Re:Stopping at 90% by Animats on Wednesday August 02, 2023 @03:48PM (#36976249)
Many open source projects go directly from Sort of Works to Abandonware, never having reached Just Works.
Re:Stopping at 90% by gwd on Wednesday August 02, 2023 @08:00AM (#36969670)
I remember reading an essay by Brookes, where he makes the distinction between a "program", which can basically only be used by the one who wrote it (or with their help); a "product", which can be used by anyone; and a "system", which is more general-purpose and reliable. His point was that the first is fairly easy for one person to do in their spare time; the last often takes years of polish, debugging, extensions, and so on.

And for academic work in particular, going from "prototype good enough to get numbers out of" to "product someone can reliably use" is a huge amount of effort, along which there are zero papers.

EDIT: Here's a summary:

A program is just a set of instructions that seems to do what you want. All programmers say "Oh, I can easily beat the 10 lines / day cited by industrial programmers." They are talking about just coding something, not building a product.

A product (more useful than a program):

* can be run, tested, repaired by anyone

* usable in many environments on many sets of data.

* must be tested

* documentation

Brooks estimates a 3x cost increase for this.

To be a component in a programming system (collection of interacting programs like an OS):

* input and output must conform in syntax, semantics to defined interfaces

* must operate within resource budget

* must be tested with other components to check integration (very expensive since interactions grows exponentially in n).

Brooks estimates that this too costs 3x.

A combined programming system product is 9x more costly than a program.

https://www.cs.usfca.edu/~parrt/course/601/lectures/man.mont...

Re:Stopping at 90% by rednab on Wednesday August 02, 2023 @09:30AM (#36970634)
The way I've explained this to coworkers and stakeholders is, "A prototype costs 1x, a product costs 3x, and a platform costs 9x."

Not exactly the definitions Brooks used, but memorable and in my experience surprisingly accurate.

Re:Stopping at 90% by hgsgm on Wednesday August 02, 2023 @09:47AM (#36970854)
3 is far too small.
Re:Stopping at 90% by didgetmaster on Wednesday August 02, 2023 @11:28AM (#36972229)
Agree. 10x at each stage is more realistic.
Re:Stopping at 90% by skeeter2020 on Wednesday August 02, 2023 @09:58AM (#36970992)
I've built a few products from idea to commercial software, and IME Brooks was being generous, as anecdotally I always pegged it at closer to 4x, but then I'm slow. It's actually really surprising how few product managers (forget about developers!) don't seem to know this, yet they also tend to push out the initial release way too far, so you get half a product late, then move on to the next thing.
Re:Stopping at 90% by P_I_Staker on Wednesday August 02, 2023 @09:33AM (#36970670)
IME 10 lines of code can easily take 1-2 weeks, if you include all that. I agree that's a bad average time, but I'm assuming other work responsibilities, and perhaps more red tape than HN is used to.
Re:Stopping at 90% by tantaman on Wednesday August 02, 2023 @11:48AM (#36972530)
I've found it to be 100x

What I can get running in a weekend for my personal use would:

- take 20 days (10x) to turn into something that other teams in the same company can easily consume without much effort on their part

- take 200 days to turn into a public facing product that people would actually use instead of their current thing

IMO, this is why engineers so often look at products and think "Oh, I can build that in a weekend"

I've created plenty of toy languages and reactive UI libraries in a weekend. People may find inspiration and take some ideas from my 2 days of work but nobody is going to use those as a replacement for their current thing without the next 198 days of effort.

A small example: if you can create a "spreadsheet to website generator" in a few hours, it'll be a month before you've built it out enough to launch a product around it that will attract users.

Re:Stopping at 90% by bob1029 on Wednesday August 02, 2023 @12:07PM (#36972809)
I think this tracks very close to my experience.

In 10 hours, I can make something that looks starts to look valuable to my wizened eyes. This is the happy path.

In 100 hours, I can build something that the rest of my team can begin to see the value in. This is the MVP.

In 1000 hours, I can make something that I can actually sell to a customer - but only with clear expectations that there may be months or years of on-going polishing required. The is the beta.

In 10000 hours, I was able to learn this perspective. No product is ever done. You only ever get to that tenuous beta phase and then becomes almost entirely about dealing with customer feedback.

For me personally, I start to check out after the 100 hour stage of development. Tedium and repetitive concerns begin to leak in and tempt the strategic nuclear problem solving facilities with insane overkill solutions (aka abstraction hell). I now try very hard to find reasonable handoff strategies before I get to that point. There are other team members who cannot stand the indeterminism of the 0-100 hour range of development, so this works out really well in our shop. Setup the pattern, let the tool operator zone out for the duration of their shift. Not everyone wants to be ivory tower architect and can find far more joy in the simpler tasks.

Re:Stopping at 90% by johncch on Wednesday August 02, 2023 @01:14PM (#36973771)
Thank you for saying this. I'm currently in the 100h phase and I'm struggling to explain it and you said it beautifully.
Re:Stopping at 90% by amelius on Wednesday August 02, 2023 @08:38AM (#36970050)
You can use divide and conquer on that!

The first 90% is work that is composed of 90%+90%. And the second 90% too.

So you end up with .9*(90%+90%)+.9*(90%+90%).

Oh wait.