I don't really like neither craftsman nor artisans. We're engineers. Well, not all of them, but I am. The root cause here is that we are often directed to problem with aggressive randomness, pretending agile is a way to skip requirement gathering, specification writing and all testing but a little ui testing here and there.
If you need creativity to program, then of course features can take anywhere from zero to years to complete. With proper analysis, you usually find yourself in a position where adhering to requirements constrain you so much that there is only one obvious implementation to follow.
"A well posed problem contains the seed of its own solution" - cit. I can't remember from whom, which is doubly true in software engineering, because 99% of the time we are not conducting research in new fields, just using off the shelf components.
Now the question is, why we don't push back to proper engineering practices? Of course business love to use journeyman, as it cut costs, and that waters down the voice of us engineers when we scream that we are not psychic and agile doesn't mean interactively guessing business requirements.
Most of the time it is not the creative crafting that kills deadlines, it has more to do with the fact that deadlines are set arbitrarily, without having any idea of how many guesses we have to deploy before matching the unknown business requirements.
On my first leadership role, I got a six month development plan down and it was completed within a two day error margin. It took two weeks to write, because it came with cutting and assembly instructions. Because we designed the interface properly between components before developing them, having more upfront design and analysis and zero integration costs afterwards.
Wake up, developers! Push back the urge of pretending our job is fuzzy in nature! Some of it might be, but most of uncertainty in today development world is generated by the managers themselves, forcing fuzziness upon us and pretending clear cut software in return.
We are not apprentices, journeyman and masters. We are engineers, mathematicians, scientists.