Course info
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.
- Teacher: Benard Kinara