What's the best way to tackle training around distractions? Like many owners, my dog (5.5 month old husky shepherd mutt) is perfectly well-behaved when it's just him and I alone in my quiet living room. But I need to get him to learn to pay attention to me, even in distracting environments. Anywhere from the distraction of my roommate walking by, to puppy class, to the dog park.

What's the best way to tackle this?

Should I just slowly start moving to a more distracting environment and starting from scratch each time? (Eg, train him sit, stay, lie down, watch me, etc while my roommate is in the kitchen, and then maybe the back yard, and then the front yard, then a park, etc). This could theoretically take months, right? 

Or is there a better way? 