Course Title: Software Project Management

 

Course Code: COMP 419

 

Course Description:

This course aims to provide students with a comprehensive understanding of software project management principles and practices. Students will learn the essential skills required to successfully plan, execute, and control software projects, considering factors such as scope, time, cost, quality, communication, and risk management. The course will cover various methodologies, tools, and techniques commonly used in the software development industry to ensure project success.

 

Prerequisites:

·         Completion of third-year computer science courses.

·         Basic knowledge of software development processes.

Course Objectives:

By the end of this course, students should be able to:

·         Understand the fundamentals of software project management and its significance.

·         Apply various software project management methodologies and frameworks.

·         Plan and schedule software projects, considering scope, time, and resource constraints.

·         Identify and manage project risks to mitigate potential issues.

·         Monitor and control software projects to ensure adherence to the project plan.

·         Effectively communicate and collaborate within project teams and with stakeholders.

·         Apply quality assurance practices to deliver software projects meeting required standards.

·         Evaluate the ethical and legal considerations in software project management.

Course Outline:

TOPIC 1: Introduction to Software Project Management

Ø  Importance of software project management

Ø  Key differences between software and other project management domains

Ø  Role of a software project manager

TOPIC 2: Software Project Initiation

Ø  Project identification and selection

Ø  Defining project scope and objectives

Ø  Stakeholder analysis and communication planning

 

TOPIC 3: Software Project Planning

Ø  Work breakdown structure (WBS)

Ø  Activity sequencing and resource allocation

Ø  Time and cost estimation techniques

Ø  Developing the project schedule and budget

TOPIC 4: Risk Management in Software Projects

Ø  Identifying project risks

Ø  Qualitative and quantitative risk analysis

Ø  Risk response planning and mitigation strategies

TOPIC 5: Software Development Methodologies

Ø  Waterfall model

Ø  Agile methodologies (Scrum, Kanban)

Ø  Hybrid approaches (Scaled Agile Framework, DevOps)

TOPIC 6: Project Execution and Monitoring

Ø  Team coordination and communication

Ø  Tracking project progress and performance metrics

Ø  Change management and scope control

TOPIC 7: Quality Assurance in Software Projects

Ø  Defining software quality

Ø  Quality assurance vs. quality control

Ø  Testing strategies and techniques

TOPIC 8: Project Communication and Collaboration

Ø  Effective communication techniques

Ø  Stakeholder engagement and management

Ø  Conflict resolution within project teams

TOPIC 9: Ethical and Legal Considerations

Ø  Intellectual property and copyright issues

Ø  Privacy and data protection in software projects

Ø  Ethical responsibilities of software project managers

TOPIC 10: Project Closure and Lessons Learned

Ø  Project deliverable acceptance and client handover

Ø  Conducting project retrospective and capturing lessons learned

Ø  Finalizing documentation and archiving project assets

Assessment Methods:

 

Quizzes and assessment exams to assess theoretical knowledge.

Group projects to apply project management methodologies in real-world scenarios.

Case studies and discussions to analyze practical challenges and solutions.

Individual or group presentations on specific software project management topics.

Textbook:

"Software Project Management: A Practitioner's Approach" by Robert K. Wysocki.

References:

"Agile Estimating and Planning" by Mike Cohn.

"The Mythical Man-Month: Essays on Software Engineering" by Frederick P. Brooks Jr.

"Scrum: The Art of Doing Twice the Work in Half the Time" by Jeff Sutherland.