i think of the mythical man-month at least once a day.

if i would know EXACTLY what and how I had to build stuff, it would probably not apply. But at least for me and my projects, that is not the case. Planning and building in parallel has given me too many headaches.

If you are building something stable, secure - well thought through and executed, you hardly get around sequential building.

I also think the context of building software matters quite a bit as well.

In a big corporation where ownership is fragmented and initiatives that are big enough for the mythical man-month problem to become tangible, big part of the problem becomes aligning the different engineering teams around why something should be built now, why team X and not team Y should do it, doing it securely and having enough confidence for a release.

In my experience, you choose the key difficult parts first, and build a small toy version. From that action, you learn which parts of the interfaces are common, and may undergo modularization with a clean design pattern.

Ultimately with sanity checking, sanitized marshaling, and constraint programming... the underlying security model is naturally enforced within the pattern itself.

The deceptively simple systems are more like an ant colony or bee hive. =3

I nowadays vibecode entire apps to see what I want. Then I go build it

Sure, works if there is a statistically salient documented solution to glean in the LLM, or a de-compiled meta-circular generated clone. As long as one avoids the $9Tn of FOSS code other people wrote, than you should be fine.

Good luck with that. =3