The analogy fails such that all low level details (oven making, cow butchering, etc) are static and are set in place to allow you to make a burger. This is akin to just subscribing to a blog service (with all the plumbing and low level stuff done) and then
customizing the blog to your needs (like the ingredients of a burger).
Correct me if I'm wrong, but I thought you're talking about custom development...a user being able to tell a program what he wants and that program will simply develop the software for him.
again this is just a matter of managing complexities by using contexes. in Bass example he has a big overarching context which is 'making burgers' which is still ambiguous, and that context needs to be broke down to smaller ones 'cow raising', 'cow butchering',
'oven making'... etc.. given small enough contexes, then the problem will be easy enough to understand and to do. divide et impera. isn't that the most useful tool that a programmer have.
i would say that it is doable, but i wont expect anything anytime soon. there are still too much things todo. plus, when we can produce a software that can make burgers like bass said, we'll probably have terminators guarding those burgers anyway,,,