An idea mentioned almost in passing on
HowFastCanYouWriteCode. The process of producing a working system clearly contains many stages, not all of which are easily separated. There's time taken to grok the problem, time to think of ways to solve it, experiments to run (
SpikeSolution), and so forth.
We might be able to split things into
ThinkingTime and
TypingTime, though.
AnalysisTime is then one component of
ThinkingTime, the other being
EmittingTime.
AnalysisTime is easily seen as unproductive when the thinker is just sitting there. To the casual viewer, a coder sitting at their desk, perhaps making a note or two here or there, is deemed much less productive than some cowboy plowing away at the keyboard making oodles of errors due to lack of planning. In the end, the coder who spent more
AnalysisTime will likely have spent less
CodingTime and less
RepairTime, and have a better product.
CategoryTime CategorySolutions