logoalt Hacker News

onion2kyesterday at 9:12 PM5 repliesview on HN

I'm pretty certain that the one factor above all others that makes software delivery slow down is doing too many things at once. You should aim to be working on one project at a time in your team.

Taking on another project, or workstream, or idea, or investigation in a team is pretty much entirely downside.

- more context switching, which means people get cranky faster

- lower bus factor for any piece of work, until its 1 dev per thing and that things stops of the dev isn't there

- lower people count on work means everything takes how long 1 person can do it (2 people is twice as fast for parallizable work)

- slower dependency resolution until something as basic as getting a PR reviewed is a big deal

- fewer people seeing the problem means less experience brought to bear, which reduces speed gains from having seen this stuff before

And more besides. For every project the goal should be maximum parallelism.


Replies

retatoptoday at 12:37 AM

I've never really understood this opinion. For me there's plenty of times that some problem needs to be solved and simply banging my head against it isn't going to make it happen any faster. Having some easy low priority stuff to do for a bit (or a high priority short task that interrupts) seems to let my subconscious solve the issue in the background and keeps me happier and more motivated. If it was two difficult tasks that were supposed to be done in parallel maybe that would be different, but I've never seen anyone asking for that

show 1 reply
brotchieyesterday at 9:24 PM

My hand wavy math.

One person dedicated to a single project / task baseline 100% total output.

One person split between two tasks / projects that require context switching, 70% total output at best, perhaps 50% total output, a loss of 50%.

One person working on a single task that they’re passionate about / intrinsically motivated to complete: 150-500% output.

When you have one task / project to think about and focus on, it engages your brain: sleeping, showering, walking, your subconscious is processing.

Adding just one extra project / task that requires a context switch mostly kills this subconscious processing mechanism.

show 1 reply
unknownfutureyesterday at 10:03 PM

> You should aim to be working on one project at a time in your team.

You're swimming against the tide with this. AI pilled management is driving teams to deliver more parallel workstreams, not fewer, with fewer, AI-augmented devs taking them on.

Context switching isn't seen as a cost. AI is seen as the solution to the bus factor and experience problem. Same goes with the issue of dev capacity.

IMO it's deeply misguided but it's crystal clear where the winds are blowing.

show 2 replies
andy_pppyesterday at 10:35 PM

And this is why software consultancies always recommend a “Digital Transformation Project” to hire as many remote people as possible, all being paid peanuts and charged out at $1500+ per day, the added bonus being the project will take an infinite amount of time!

I struggle to believe people above me where I work refer to these leaches as “our partners” it seems mad to me.

QuercusMaxyesterday at 10:47 PM

One project at a time? How on earth can that possibly work? I always ask to have multiple projects to work on, because getting blocked is a real thing, and having other work you can still pursue will ensure you keep things moving! Perhaps my definition of project is very different from yours?

show 3 replies