Writing Successful Software Classes: A Plan for Course Developers and Training Managers