Doing is Normally Distributed, Learning is Log-Normal #
- Learning is Log-Normal: Software development, and many other tasks, involve significant upfront learning. This learning process often follows a log-normal distribution, meaning that unexpected delays are common.
- Leaky Pipeline: A significant portion of time in software development is spent learning new things, which can lead to unpredictable delays and difficulty in estimating project timelines.
- Just-in-Time Learning: Traditional project management methodologies struggle to account for the impact of just-in-time learning, which can drastically affect the time required to complete tasks.
- Software Estimation Challenges: Software estimation struggles because it fails to recognize the log-normal nature of learning, leading to inaccurate estimations and budget overruns.
- Importance of Relevant Experience: Employers prioritize relevant experience in software development because it reduces the risk of hiring someone who requires extensive learning before becoming productive.
- Normal Distributions are the Exception: Many business processes, especially those involving new tasks or significant learning, do not follow a normal distribution.
- Role of Tutorials: Online tutorials help mitigate the risk of unexpected delays by providing structured learning resources.
"Every new process a person has to undertake will have at least some phase which is dominated by learning."
"Software estimation is such a mess in part because it has trouble recognizing that, at least, just-in-time learning is at least non-normally distributed."
"If there’s a 20% chance it takes 1 month, 20% for 2 months, … 20% for 5 months before your non-Java-background Java dev has enough experience to finally start contributing to the Java codebase, then yeah, it makes a lot of sense not to want to gamble on that."
Key Takeaways #
- Learning is rarely a smooth process. Account for the "leaky pipeline" when estimating project timelines.
- Relevant experience is highly valuable in software development due to the significant learning curve.
- Online tutorials can help reduce the risk of unexpected delays by providing structured learning materials.
- Understand the nature of task distribution to avoid relying on outdated project management methodologies.
Action Steps #
- Be realistic about the learning curve involved in new tasks.
- Employ structured learning resources to mitigate the risk of unexpected delays.
- Prioritize hiring individuals with relevant experience to minimize the time spent learning on the job.
- Adjust project estimations to account for the log-normal nature of learning.
- Research and adopt project management methodologies that acknowledge and adapt to the non-linear nature of learning.