CS 5150 Lecture 7: Expanding the Job Pool for our Students
As part of the prep for this year’s CS 5150 Software Engineering Course, I worked with a broad range of industry professionals to get a better sense for how to re-shape some of our teaching to better prep students to enter the professional work force. One of the results of the work is a change to my lecture on project management.
This year, I interviewed managers and software engineers from a variety of small technology firms, SAP, Amazon, Microsoft, Google, Blue Cross/Blue Shield, KPMG, and a variety of other large companies with internal IT departments. I began by asking the question: “if we could do one thing to increase the pool of our professional oriented students qualified to take jobs at your firm, what would it be?” From this, I synthesized the variety of answers into a first lecture on Comparative Software Processes in Practice. In this lecture, I’ll discuss how different organizations value trade-offs and the impact this has on changes to the common building block elements of a software project: requirements, design, architecture, tests, schedules, budget, process, etc.
For students, the lecture will be delivered in the week before the course’s project feasibility study is due. The project feasibility study requires each of the student teams (of 5 to 7 people) to describe the software development process they’ll use to manage their semester long project. The intent of the lecture is to give specific examples of trade-offs from real projects (and how they translate into software development process in the professional world) so that students can integrate the same type of case-based thinking into their feasibility plans.