Software Development for Cloud Computing