zlacker

[return to "How I estimate work"]
1. HEmanZ+TW[view] [source] 2026-01-24 18:18:38
>>mattjh+(OP)
Whenever this comes up I feel like I work on completely different kinds of software than most people here. (Giant, backend, distributed systems projects at FAANG)

I’ve never worked on anything large in software where the time it will take can be reasonably deduced at the accuracy some people here seem to assume possible. The amount of unknown-unknowns is always way way too large and the process of discovery itself extremely time consuming. Usually it requires multiple rounds of prototypes, where prototypes usually require a massive amount of data transferred to adequately mine for work discovery.

The best you can do is set reasonable expectations with stakeholders around:

- what level of confidence you have in estimates at any point in time

- what work could uncover and reduce uncertainty (prototypes, experiments, hacks, hiring the right consultant, etc) and whether it is resourced

- what the contingency plans are if new work is discovered (reducing specific scope, moving more people (who are hopefully somewhat ramped up), moving out timelines)

◧◩
2. crypto+Ec2[view] [source] 2026-01-25 04:55:27
>>HEmanZ+TW
I've worked on codebases all the way tens of millions of lines of code. Obviously not in the sense of knowing all the dusty corners of such codebases, but still, I did enough work on them that I had to navigate my way around millions of loc. It's not easy! The problem is that you can't possibly know even a sizeable fraction of such a codebase well. Instead you can know small corners well and know your way around the internal and external interfaces so you can find gotchas and answer questions as you research. The knowledge you build is hard to communicate to others, too, so bringing others up to speed is not easy either. So for me TFA hits all the right notes.

But I've also seen things like the ZFS team at Sun deliver something unbelievably good that started as a skunkworks project that senior management didn't really know about until there was enough to show to justify a large investment. Sun was like DARPA: not micromanaged from the top. Sun failed, of course, but not because of this.

◧◩◪
3. HEmanZ+Cj3[view] [source] 2026-01-25 15:53:20
>>crypto+Ec2
Did ZFS deliver on a tight timeline that was well established before any work began?
◧◩◪◨
4. crypto+Wr3[view] [source] 2026-01-25 16:47:39
>>HEmanZ+Cj3
That I wouldn't know, but I know it took longer than anticipated, and towards thee end Sun pulled a lot of engineers from other projects and put them on ZFS for the final push.
[go to top]