One thing to try is to make eye contact & touch him on the shoulder while you're speaking to him. Also, instead of 'DS, would you please put your shoes on? We have to leave for school in 10 minutes' just say 'Shoes on now please'. Especially if he's engaged in TV or games he's not going to listen as well, even if you yell at him.
Another thing is that I don't yell instructions to my kids. I yell 'DS, come here please' & then I do the eye contact, hand on his shoulder thing. I also make both kids repeat what I said back to me, especially if I'm saying 'Get your dirty clothes out of your room, pack your lunch for tomorrow & do your before bed stuff'. I also point to a different finger for each thing I need them to do & then they touch their own fingers while repeating what I say. Finally, if I'm asking them to do 3-5 things I have them return to me after each thing & say, for example, 'I got my dirty clothes picked up & now I'm going to get my backpack ready'.
Using these methods means I yell a lot less & more stuff gets done in a timely manner.