Software Development Practices
COSC 6397 - Dr. Jaspal Subhlok
COSC 4397 - Dr. Venkat Subramaniam

The objective of this course is to bring the students up to speed on the 
pragmatics of software development. In this hands-on course, the students 
will work towards developing industrial strength software systems using 
state of the art techniques and tools. Emphasis will be placed on estimation, 
planning, risk management, testing, development and deployment. Various good 
practices in software development, including pragmatic programming and agile 
software development practices will be emphasized.

Pre-requisite:
For COSC 4397: You must have completed COSC 4351 Software Engineering. You 
must have also completed COSC 1320 and 2320.

For COSC 6397: You must have completed either COSC 6318 or COSC 4351. Also, 
you must have taken COSC 1320 or equivalent and COSC 2320 or equivalent.

Topics:

Agile Software Development
Principles and practices
Tools for agile development
Unit Testing
Continuous integration
Continuous Feedback
Estimation
Measuring progress
Measuring Quality

Projects:
Each student will be part of a group involved in developing application. The 
instructors will play the role of customers in terms of defining the (evolving)
requirements, evaluating the progress of the work and deciding if it meets the 
requirements. The success of the project is measured based on a number of 
criteria including (but not limited to) process used, practices followed, 
quality of the code, ability to accommodate reasonable change in requirements, 
feature completeness, progress in terms of schedule, use of tools, techniques, 
practices and facilities that reduce risk and promote the probability of 
success.
For more information, please visit http://www.cs.uh.edu/~svenkat/classes and click on link named SDP and take a look at the Syllabus.