Was it justified when George killed Lennie at the end? Was that the right decision for George to do it himself or should he have done it him self?
In my opinion, yes. Geroge commits the ultimate act of friendship by not allowing the posse to torture and kill Lennie. Lennie could not have done it himself. He barely understands the what he has done, nor the ramifications that will truly follow. He knows people are angry and that he has hurt Curly's wife, but that is it. He still clings to the dream of escaping the inexplicabilty of society and going away with Lennie to "tend the rabbits."
Still, it is not an easy thing for Lennie to do. He needs George as much as George needs him and "his hand shook violently" as he held the gun, "but his face was set and his hand steadied." Aware of what will happen if he does not sacrifice his friend, Lennie is a true, but tragic, hero.
George has come to realize more and more than Lennie does not understand the consequences of his actions. Up until this time, no one has been seriously hurt. even so, George and Lennie have had to leave towns before with people in pursuit. This time, however, the situation is much more serious. Lennie has killed Curly's wife, and even though it was an accident, Curly will doubtlessly torture Lennie if he finds him. Curly hates Lennie. Lennie has crushed his hand and made him look bad. George's killing of Lennie is an act of kindness, designed to keep Lennie from suffering, much like the killing of the old dog earlier in the novel.