Allowing graduate students to develop a real world project for actual customers provides an opportunity for students to experience the benefits of following basic software engineering principles. Most universities now offer a course in software engineering and many information technology students must complete a class project in conjunction with their degree program. One reason businesses often struggle to implement a software process improvement program is that many practicing professionals have never experienced the complete software lifecycle and discovered how software engineering principles aid a real project. This paper presents the lessons learned by students in a capstone graduate software development course when required to develop an intensive real world project for real customers. Students had to solve the same type of problems encountered by practicing professionals, developed an appreciation for following software engineering principles, discovered the importance of good team communication and appreciated developing a product for a real customer.