This is an interesting idea that can also apply to lightweight, formal methods. I believe you were a datapoint corroborating that by learning TLA+ on your own, identifying where it could be used at work, and showing that to coworkers. Traditionally, the gradual technique was applied at the group level where a small number of developers on one project tried to learn and apply something. So, there’s precedent at least there.
When thinking of recent Ada article, it pointed out people took about six months to get really good at doing low-defect software in Ada. This one says at least 2 months but preferably 4-5 to get good at TDD with pairing. This immediately makes me wonder if that time range will turn up in more places. While that’s speculative, the hypothesis I’m more confident in is the experiments to test the effectiveness of methods for reducing defects might benefit from doing this. As in, there’s about 4-6 months of project time with the method-under-test on one project to basically get good enough at it to see some results. Then, the actual test of the method starts on something that’s not too different from the last project. If the project can be controlled, comparisons can be made across methods by semi-experienced people who spend more time doing than learning.
This is an interesting idea that can also apply to lightweight, formal methods. I believe you were a datapoint corroborating that by learning TLA+ on your own, identifying where it could be used at work, and showing that to coworkers. Traditionally, the gradual technique was applied at the group level where a small number of developers on one project tried to learn and apply something. So, there’s precedent at least there.
When thinking of recent Ada article, it pointed out people took about six months to get really good at doing low-defect software in Ada. This one says at least 2 months but preferably 4-5 to get good at TDD with pairing. This immediately makes me wonder if that time range will turn up in more places. While that’s speculative, the hypothesis I’m more confident in is the experiments to test the effectiveness of methods for reducing defects might benefit from doing this. As in, there’s about 4-6 months of project time with the method-under-test on one project to basically get good enough at it to see some results. Then, the actual test of the method starts on something that’s not too different from the last project. If the project can be controlled, comparisons can be made across methods by semi-experienced people who spend more time doing than learning.