Jim and Harry have been building(have built) a friendship for the last 5 years. Have been building = The process of building is continuing. Have built = The process has finished.
He has been writing(has written) his first novel since he was fifteen. "Has written" is incorrect.
- For Teachers