We already have mass software production.
Firstly, obviously, some aspects of programming are crafts-like. When we write conditionals as if(4 == x) instead of if(x==4) (for languages where variable assignment in a conditional is legal but not what you want), that's craftsmanship. Analogously, part of the process of designing a building is drafting, and that is a craft. A common error is to think that drafting is the primary task of architecture (at least, that's a common error about programming).
Less confidently, I would argue that the closer you get to the metal, the more craft aspects appear (without claiming that these aspects dominate), and that when we use a compiler, part of what we're getting is automated crafting. So we see three cases where we take back that crafting aspect into human hands...
First, for a new platform, sometimes some of the work is done by hand.
Second, many programmers _enjoy_ the craft of programming, and so practice it for fun. For example, code golf is craft.
Third, sometimes crafted is more appropriate. We usually prefer a cheap mass-manufactured physical object (high-quality, but not customized), but sometimes we want something handmade for the situation. I think that writing assembly by hand has some parallels with this (not to argue that writing assembler is more craft than design).
Outsorucing, Java schools churning out schlubs, seem like mass production analogs to me.
Programming isn't a profession, it's a craft. The trouble is that traditional crafts are not really valued any more, as their purpose has largely been supplanted by mass production. So, we have no current role models for how to organise ourselves.