The word "heel" in dog training terms actually comes from an older term "come to heel". The translation is that the dog will come to the left side of the human, with his head at the humans' knee and his feet at the human's heel. Nowadays "heel" means for the dog to walk on the left side of the human, neither forging ahead nor lagging behind. The goal is that the dog shall eventually walk off leash in the heel position when so commanded by his master.
To begin to teach the heel the first thing is to have a means of control over the dog. This can be a leash or a clicker or a treat and/or your own voice. Regardless, it is important that when you begin to teach the heel your dog is beginning to accept your leadership and will want to focus his attention on you. Having the control over the dog's attention is a big plus. If you cannot call your dog's name and see that he responds to that 60 per cent of the time, then your dog is not ready to be taught to heel.
If you have the dog's focus, it is a simple matter to teach the dog to heel. Have the leash on. Command "heel" (saying the dogs name first) and step out briskly with your left foot. Give a slight tug on the leash. If you are not using a leash but are using a treat, hold the treat directly in front of the dog's nose and lead out with your left foot. Either way, praise the dog within three to five seconds if he remains in the heel position as your are walking and continue to praise the dog each time he is in the heel position. If he lunges ahead of you, tell him "easy" and immediately give a SLIGHT tug on the leash and stop walking forward until he also stops, whereupon you simply immediately catch up to him, with the dog on your left side and immediately begin to walk briskly forward again, giving the command "heel" again as you start off. Walk forward at least 10 feet before you stop. When you are going to stop, precede this action by a slight slowing of your walk and the command "slow". Then simply stop walking. When you do stop, require that the dog sit immediately when you stop. If he does not sit on command, simply push him down or lure him down into the sit. It is important that you say "sit" only once. Repeating it several times merely makes the dog think that you don't really mean it when you say "sit".
If you are going to be showing your dog in conformation and do not want him to sit each time you stop, no problem. You still should be teaching the heel for if you teach him this vital command he will easily switch from walking beside you to trotting beside you. All you have to do is simply teach him the "stand" command when you stop.
Once you have the dog walking on a fairly consistent basis at your side, without lunging, you are well on the way to having a dog that is mannerly when going out and about with you. Now you are ready to take the dog with you LOTS of places and consistently have him heel when you are out and about. Make sure that when you do have him "heel" it is for a purpose OTHER than out for a "potty walk" as this should be a relaxed and totally different sort of walking.