The way I read it, it was totally independent of human factors, not excluding them. Ruthless prioritisation in this context means to focus your decisions of what to focus on around delivery of value to customers. You definitely have wiggle room for human factors.
Including those factors in your decision making is only way this can work, otherwise you will get poor quality at the end of it. At least that has been my experience in the context of software delivery.
This is very similar to my biggest frustration with PubSub, or heavy event driven systems in general.
The concept is so appealing, “Hey I’ll just fire this message off and whoever needs to know about it will do what they need”.
It’s great to have that ability to focus on just the component or module you’re working on, but the lack of visibility on exactly what is about to happen, and what has happened, has caused many late nights of debugging and frustration.
It’s just how you described “there’s absolutely no way to tell the code that was going to get injected”
I’m guilty of contributing to this problem as well. Once you become familiar with the event system you’re working in, windows, DOM, whatever, you can make some pretty good assumptions about how other components are implemented. When you’re faced with a bug in code you don’t have access to, or a behaviour you don’t want, often the solution you’re left with is asking “okay, so what combination of events and timing do I need to force this component into the state I need?”
For example I remember doing this with some third party grid controls. We really really wanted the TAB key to insert a new row at the end. We had to orchestrate exactly the right mix of events and method calls in the right order, with a few BeginInvokes to get the job done.
I wish I had a solution to all of this and other frustrations. It’s all trade offs and a balancing act.
You're exactly right - if you're writing readme's all the time, you'd have templates ready to go.
I only write readme's maybe once every few months or perhaps once a year, and having a template (interactive like this one, or otherwise) that someone else has thought about is super useful to me.
I wrote one for Tcl years ago, as I started working on a really complicated product with around 50k lines of code (or more, distant memory).
Maybe I should give it another crack for modern languages - there is an even greater need for it these days with dependency injection and microservices being common.
The way I see it the need stems from needing to understand what is REALLY going on, as opposed to what the code is saying should be going on.
This is the approach I want to take as well - but I give up so many times because I can’t track down a method of communicating with that person. I looked a while ago and I couldn’t find a way to send a message to a user on GitHub. Any recommendations on effective ways of reaching out to project owners?
- how do I easily have local development environments My team and I can use
- displaying other users names and email addresses is a really common thing to need in applications I build. What's the way to go about keeping that data in sync between the identity or auth system with the application? What used to be a database join could grow into any number of network requests to the identity server
- how does one re-skin the sign up process or user management to match each application so it's less jarring to the user?
I'm not really looking for answers - this isn't stack overflow :) They would come with even the smallest amount of investigation into it. I'm more just sharing what I think is an interesting mental block stopping me from immediately adopting it as the default.
Including those factors in your decision making is only way this can work, otherwise you will get poor quality at the end of it. At least that has been my experience in the context of software delivery.