I find that, despite their very obvious benefits once you adopt these practices, both TDD and BDD have a pretty high learning curve (though to a lesser extent with BDD). You really have to experience the benefits for yourself, or work for a while on a project that uses BDD extensively, to really assimilate them. You *will* go slower when you first learn the practices, just like when you learn any other skill. If you have the discipline to persist, you get the benefits. But, unlike a new technology that you have to use (say, like learning
AngularJS if you are working on an AngularJS project), with TDD and BDD it is easy to give up and fall back on the old ways.
To get around this you need to be persistent. Training certainly helps, as does pairing/mentoring with experienced practitioners. Doing it yourself can work, though it certainly requires motivation and persistence, so for a whole team to adopt these practices, you need to be a bit more organized, and come up with some sort of training (internal or external)/mentoring and adoption plan.