In computer science, software engineering courses expose the undergraduate students to both the technical and methodological aspects of software development. The traditional software development methods and techniques represent a huge proportion of the courses and hence contribute an essential part of software engineering students' development process. This plan-driven development is dependent on a set of predefined phases and ongoing documentation which found to be problematic; such as time-consuming, slipped requirements and complicated processes. The main aim of this paper is to study and review the adoption of Agile Software Methodology and Team Software Process (TSPi) practices in the undergraduate course focus on software development. The framework and course plan will be designed to apply and observe the implementation. Furthermore, this study will help to gather the teams' viewpoint regarding the importance of Agile and TSPi practices in handling small projects with real clients.