Friday Facts #366 - The only way to go fast, is to go well!

Regular reports on Factorio development.
orzelek
Smart Inserter
Smart Inserter
Posts: 3903
Joined: Fri Apr 03, 2015 10:20 am
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by orzelek »

Sander_Bouwhuis wrote:
Wed Sep 01, 2021 7:21 pm
One of the problems I have encountered after having been a software engineer for about 25 years now is that features and fixes are billable hours, while writing tests are not billable hours. In 95% of the time I have to 'sneakily' add tests during development. Everything is a priority, everything has to be done yesterday. It's one rush job after another.
That seems like problem with your development process. Writing tests (of appropriate kind) should be part of billable hours for given task.

LuxSublima
Inserter
Inserter
Posts: 26
Joined: Fri Apr 28, 2017 1:14 am
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by LuxSublima »

Hi Kovarex and Factorio team,

I love this Friday Facts, and wanted to share a book that you might find relevant. It is geared toward enterprise business software development, not games, but is "cut from the same cloth" as the first several paragraphs of your post:

https://www.amazon.com/Righting-Softwar ... 0136524036
("Righting Software", by Juval Löwy)

I adore programming, but the sad fact is that many of us who take that love into the "real world" and become dependent on it for a living find the corporate reality to be far less satisfying than the hobbyist ideal, if not downright soul-crushing. Mr. Löwy captures why this is quite lucidly, and with a prescription to fix it. I was pointed to it by a fellow fan of Uncle Bob's approach.

If you happen to read it, or are perchance already familiar with it, I'd love to hear your thoughts.

In any case, happy coding. :-) And I so look forward to what you release next, however long it takes. :D

Best Regards,
LuxSublima

freezerain
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sun Oct 10, 2021 10:17 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by freezerain »

Hey boys, It was a pleasure to read this blog entry.

I want to share my experience with lambdas, I know they fun but keep an eye on them in path-finding or any other heavy alghorithm. While optimizing muliple heuristic I got 10%-30% improvement of function time after refactoring. Thats because compilers are usually not so good in optimizing lambdas comparing to classic approach.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1428
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by ptx0 »

Sander_Bouwhuis wrote:
Wed Sep 01, 2021 7:21 pm
One of the problems I have encountered after having been a software engineer for about 25 years now is that features and fixes are billable hours, while writing tests are not billable hours. In 95% of the time I have to 'sneakily' add tests during development. Everything is a priority, everything has to be done yesterday. It's one rush job after another.
not at a proper company, everything we write at my company is billable and that includes tests.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12809
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by ssilk »

ptx0 wrote:
Thu Oct 14, 2021 7:39 pm
Sander_Bouwhuis wrote:
Wed Sep 01, 2021 7:21 pm
One of the problems I have encountered after having been a software engineer for about 25 years now is that features and fixes are billable hours, while writing tests are not billable hours. In 95% of the time I have to 'sneakily' add tests during development. Everything is a priority, everything has to be done yesterday. It's one rush job after another.
not at a proper company, everything we write at my company is billable and that includes tests.
Just seeing that yet.

No matter how, but writing software includes testing. Always.
So testing is part of your business. So writing tests is of course billable, because otherwise you need to test “by hand”. So it’s just the question how to test, not if, that makes a difference.

Exception: if you write a software, that is guaranteed that it is only written once and has no deep complexity I would eventually go without writing tests (and have done several times). Typically that are converters for migrating data from old to new software, which can be straightforward programmed (just a mapping of fields for example) or other quite simple run once and throw away scripts or some hacks to see, if the idea you have really works.

This is, because the effort of writing tests pays off, if you make changes to the program or if you have to guarantee certain behavior.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 2360
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by BlueTemplar »

Yeah, and I'm getting the impression that testing (whether automated or not) as a specialized job seems to be currently booming as a profession ?

(I'm currently helping someone that hasn't "seriously" used a desktop in years to get "back into it" as she is taking courses to become a tester, hopefully an automated one.)
BobDiggity (mod-scenario-pack)

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12809
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by ssilk »

BlueTemplar wrote:
Wed Dec 01, 2021 10:25 am
Yeah, and I'm getting the impression that testing (whether automated or not) as a specialized job seems to be currently booming as a profession ?
Currently? I make it so since about 10 years or so.

(I'm currently helping someone that hasn't "seriously" used a desktop in years to get "back into it" as she is taking courses to become a tester, hopefully an automated one.)
Tests are written by the team that makes the software. Any part of software development can be tested automatically. Testers are normally needed for some specific end-product testing or UX/UI testing, for example A/B-tests. Things where human interaction is needed and cannot simulated.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1428
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by ptx0 »

ssilk wrote:
Fri Dec 03, 2021 4:01 am
Tests are written by the team that makes the software. Any part of software development can be tested automatically. Testers are normally needed for some specific end-product testing or UX/UI testing, for example A/B-tests. Things where human interaction is needed and cannot simulated.
we use Selenium and Dusk to automate A-B UI testing.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12809
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by ssilk »

Yes, we too, and what do you want to say me with that? :) well I mixed here up two subjects. The first two sentences are about test automation. The second two are about the borders of test automation.

What I meant: You cannot simulate a humans decision if he likes red better than green. Or the button on the left better than on the right. For example. That needs to be tested with humans.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Luxalpa
Manual Inserter
Manual Inserter
Posts: 2
Joined: Fri Jun 18, 2021 9:52 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by Luxalpa »

ssilk wrote:
Sun Dec 05, 2021 7:50 am
What I meant: You cannot simulate a humans decision if he likes red better than green. Or the button on the left better than on the right. For example. That needs to be tested with humans.
Indeed. To give some more examples: Also things like whether the person needs more feedback, animations, etc. If the UI is cluttered under certain conditions or inputs should be prefilled or receive auto-focus. Whether text elements feel uncomfortably small or grid elements missed their alignments, maybe there are useless dialogs where the user has to do unnecessary clicks or buttons that are too small to touch consitently on a phone (or with the mouse). Maybe the colors of two elements are too similar or they are too different. Maybe the animation takes too long and becomes annoying, or things change too quickly and it becomes overwhelming or confusing. Or you accidentally misclick on the wrong button because it's in the place where you expected some other button (inconsistency, bad label, wrong color). Etc.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1428
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by ptx0 »

Luxalpa wrote:
Fri Dec 31, 2021 5:11 pm
ssilk wrote:
Sun Dec 05, 2021 7:50 am
What I meant: You cannot simulate a humans decision if he likes red better than green. Or the button on the left better than on the right. For example. That needs to be tested with humans.
Indeed. To give some more examples: Also things like whether the person needs more feedback, animations, etc. If the UI is cluttered under certain conditions or inputs should be prefilled or receive auto-focus. Whether text elements feel uncomfortably small or grid elements missed their alignments, maybe there are useless dialogs where the user has to do unnecessary clicks or buttons that are too small to touch consitently on a phone (or with the mouse). Maybe the colors of two elements are too similar or they are too different. Maybe the animation takes too long and becomes annoying, or things change too quickly and it becomes overwhelming or confusing. Or you accidentally misclick on the wrong button because it's in the place where you expected some other button (inconsistency, bad label, wrong color). Etc.
we call this UA (User Acceptance) testing where we reach out to the stakeholders who requested the implementation and ensure that the new feature/fix works as they expect.

catma
Long Handed Inserter
Long Handed Inserter
Posts: 50
Joined: Sun Jan 06, 2019 7:21 am
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by catma »

Maybe it is time to post that a FFF is being written, but that it will be only published with the game.

...just to let people know factorio team is active, and that a snapshot of mid-mod-dev hell is taken to laugh and marvel at later, after the big mod publishes...

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1428
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by ptx0 »

catma wrote:
Wed Jan 05, 2022 7:47 am
Maybe it is time to post that a FFF is being written, but that it will be only published with the game.

...just to let people know factorio team is active, and that a snapshot of mid-mod-dev hell is taken to laugh and marvel at later, after the big mod publishes...
why? Wube is so full of itself that they committed to never doing sales for the game, because they want all of the money they can possibly make from this game. it's not about the joy of the players, or it'd be free now that it's done. it was a Kickstarter originally. crowdfunded development.

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 1407
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by FuryoftheStars »

ptx0 wrote:
Wed Jan 05, 2022 2:47 pm
catma wrote:
Wed Jan 05, 2022 7:47 am
Maybe it is time to post that a FFF is being written, but that it will be only published with the game.

...just to let people know factorio team is active, and that a snapshot of mid-mod-dev hell is taken to laugh and marvel at later, after the big mod publishes...
why? Wube is so full of itself that they committed to never doing sales for the game, because they want all of the money they can possibly make from this game. it's not about the joy of the players, or it'd be free now that it's done. it was a Kickstarter originally. crowdfunded development.
I don’t know about that. I feel the same as Wube. Sales are gimmicks. Personally would rather everything be sold at their fair price all the time vs being marked up, thus getting ripped off unless you sit around wait and spend time checking for that 2 day (hour) sale… right when you can’t actually go and buy it.

And if anything, putting it on sale would rake in more vs not.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1428
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by ptx0 »

FuryoftheStars wrote:
Wed Jan 05, 2022 3:14 pm
I don’t know about that. I feel the same as Wube. Sales are gimmicks. Personally would rather everything be sold at their fair price all the time vs being marked up, thus getting ripped off unless you sit around wait and spend time checking for that 2 day (hour) sale… right when you can’t actually go and buy it.

And if anything, putting it on sale would rake in more vs not.
we were paying for the whole package, when Factorio was $30 it was coming with frequent updates and blog posts from the team. heck, even some source code was published every now and then for educational purposes. none of that really happens anymore. it's $30 for something that receives minimal attention, and then they're going to charge for the DLC as well.

Kyralessa
Filter Inserter
Filter Inserter
Posts: 379
Joined: Thu Sep 29, 2016 5:58 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by Kyralessa »

ptx0 wrote:
Wed Jan 05, 2022 2:47 pm
why? Wube is so full of itself that they committed to never doing sales for the game, because they want all of the money they can possibly make from this game. it's not about the joy of the players, or it'd be free now that it's done. it was a Kickstarter originally. crowdfunded development.
Well, certainly somebody around here is full of himself, anyway.

Is it somehow immoral for a development team to want to make money from the game they develop? Perhaps you could explain the rationale.
ptx0 wrote:
Wed Jan 05, 2022 3:52 pm
we were paying for the whole package, when Factorio was $30 it was coming with frequent updates and blog posts from the team. heck, even some source code was published every now and then for educational purposes. none of that really happens anymore. it's $30 for something that receives minimal attention, and then they're going to charge for the DLC as well.
Oh, I guess this is the rationale. You think you were paying for frequent updates and blog posts. You believe that's what your $30 was paying for. You still have the game, of course, finished and polished to a degree unseen in most games these days, but you're upset because the dev team isn't paying enough attention to you.

There are dev teams that do what you're looking for, but they tend to offer their games as a subscription service, e.g. WoW for $15 a month or whatever. Would you really rather pay $15 a month instead of $30 once, forever, just to get some updates and blog posts?

If so, perhaps you should play WoW or something like it instead of Factorio.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1428
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by ptx0 »

Kyralessa wrote:
Wed Jan 05, 2022 4:55 pm
oh look, another person who loves making money for doing nothing.

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 2360
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by BlueTemplar »

EDIT : Never mind, this is offtopic, can you please debate this in a different thread ?
BobDiggity (mod-scenario-pack)

Loewchen
Global Moderator
Global Moderator
Posts: 7552
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by Loewchen »

BlueTemplar wrote:
Wed Jan 05, 2022 6:37 pm
EDIT : Never mind, this is offtopic, can you please debate this in a different thread ?
Great idea, let's go with that.

pointa2b
Burner Inserter
Burner Inserter
Posts: 19
Joined: Sun Feb 28, 2016 9:05 am
Contact:

Re: Friday Facts #366 - The only way to go fast, is to go well!

Post by pointa2b »

I hope another FFF comes sooner than later... I can't possibly be the only one who religiously checks factorio.com every Friday morning. :mrgreen:

Post Reply

Return to “News”