Large scale software development requires the ability to manage resources—both human and computational—through control of the development process. This course provides the knowledge and skills necessary to lead a project team, understand the relationship of software development to overall product engineering, estimate time and costs, and understand the software process.
- life cycle models
- requirements elicitation
- configuration control
- quality assurance
More course details can be found in the Managing Software Development syllabus.
After completing this course, students will:
- be able to write a software project management plan, addressing issues of risk analysis, schedule, costs, team organization, resources, and technical approach.
- be able to define the key process areas of the Capability Maturity Model and the technology and practices associated with each and a variety of software development life cycle models and explain the strengths, weaknesses, and applicability of each.
- be able to understand the relationship between software products and overall products (if embedded), or the role of the product in the organizational product line.
- be able to understand the legal issues involved in liability, warranty, patentability, and copyright.
- be able to understand the purpose and limitations of software development standards and be able to apply sensible tailoring where needed.
- be able to use software development standards for documentation and implementation.
- be able to apply leadership principles.
- be able to perform requirements elicitation.
Industrial software engineering experience with a large project, or a comprehensive undergraduate course in software engineering. All (non-MSE/MSIT) applicants need to submit a one page description of their prior industrial software experience to the instructor.
Course format: Online
Check the original course description for the most updated information.