Skip to Main Content

IS212

Download as PDF

Software Project Management

SCIS Sch of Computing & Info Sys

Course (UG/PG)

Undergraduate

Offering Unit/Department

Course Description

In IS212 (Software Project Management), students will learn about modern frameworks and tools for software project management. In particular, students will gain hands-on experience with ‘scrum’ and several agile techniques (e.g. test-driven development, AI-based pair programming, continuous integration) as they design and build the first release of a software system. Students will gain an appreciation for how these methods help to manage the inherent uncertainty of software projects, as well as how they ensure that developers work towards a common goal at a sustainable pace.

Course Learning Outcomes

Course Objectives

Upon completion of the course, students will be able to:

  1. Apply a range of agile methods to develop and manage a software project.

  2. Manage complexity and uncertainty in projects using the scrum framework.

  3. Design and document software systems using appropriate notations and abstractions.

  4. Ensure software quality through tests, continuous integration, and (AI-based) pair programming.

  5. Collaborate with product owners, scrum masters, and other developers to deliver value.

Competencies

Students will gain skills in the following:

1. Comparing the pros/cons of different approaches to software project management.
2. Managing a software project using the scrum framework and associated tools (e.g. Jira, Miro).
3. Translating customer briefings into epics and user stories.
4. Designing acceptance criteria and test cases for user stories.
5. Estimating the effort required to complete user stories, e.g. by planning poker.
6. Designing software systems at different levels of abstraction: context, containers, components.
7. Modelling object-oriented code using UML and implementing it using Python/Flask/ORM.
8. Using Git, GitHub, and GitHub Actions for version control and continuous integration.
9. Improving software quality using (AI-based) pair programming, TDD, and refactoring.
10. Collaborating with a product owner and team of developers towards a common goal.

Discipline-Specific Competencies

Software Design, Agile Software Development, Applications Development, Continuous Integration and Continuous Deployment, Software Testing

SMU Graduate Learning Outcomes

Disciplinary Knowledge, Critical thinking & problem solving, Collaboration and leadership, Communication

Grading Basis

GRD - Graded

Course Units

1