←back to thread

388 points replyifuagree | 1 comments | | HN request time: 0s | source
Show context
nabla9 ◴[] No.37965582[source]
My estimate math:

R = t × [1.1^ln(n+p) + 1.3^X]

R - time it really takes.

t - shortest possible time it would take without need to communicate.

n - number of people working and involved during the process, both customers and developing organization.

p - longest communication distance network involved in the project (typically from the lowest level developer to the end user)

X - number of new tools, libraries, techniques, used in the process.

Example. Project involving one developing writing code. Project would take 2 weeks (t=2), but it has 5 people (n=5) involved total, only 1 new tool (X=1) and longest communication distance is 4.

2×(1.1^ln(5+4) + 1.3^1) = 4.5 weeks.

replies(3): >>37965587 #>>37965635 #>>37966239 #
luibelgo ◴[] No.37965587[source]
Out of curiosity, how did you came out with this formula? What’s the math behind it?
replies(3): >>37965629 #>>37965680 #>>37966958 #
nabla9 ◴[] No.37965680[source]
Crude estimate based on some self evident truths:

Logarithms for number of people and communication chain come from network theory because network size and network distances slow down information flow.

New technologies bring in unexpected delays and problems that rapidly accumulate in nonlinear ways. If bring in 20 people to work with new programming language, new library stack, etc. everything slows down to crawl.

replies(1): >>37965875 #
1. 8organicbits ◴[] No.37965875[source]
From the other angle, you can see how velocity is impacted by using "boring tech", keeping teams small (two pizza team), clearly identifying stakeholder roles, creating efficient communication channels. It's a pretty useful model.