Base Knowledge
Students must have fundamental knowledge and practice of software programming.
Teaching Methodologies
The theoretical classes are used initially for the presentation and discussion of software processes and process models. Later in the semester, they alternate between regular meetings with the client (for interviews, planning, and review of software product deliverables) and the delivery and presentation of the initial and improved versions of a process playbook.
The lab classes are dedicated to progress meetings with the professor, addressing both the development of the project and the evolution of the playbook.
Work is carried out weekly in groups of 5 to 7 students, both inside and outside the classroom, with support from the professor throughout the week, either in person or via chat and video call tools.
In exceptional circumstances, some group members may participate remotely via video call, reflecting practices increasingly common in the software industry.
Learning Results
The Software Project course addresses software development processes and the planning, organization, and monitoring of all phases of the software development lifecycle.
Students participate in the definition, analysis, and improvement of software processes.
They also develop a software project, following the defined processes and engaging in all activities such as project management, requirements analysis, architecture, development, and quality assurance. Issues related to communication, team dynamics, and professional practice are also covered. This project involves the participation of an external client.
By completing this course, students are expected to have acquired the following competencies:
- Analyze, select, and justify an appropriate software lifecycle and development processes in a project context.
- Establish measurable process performance baselines, monitor progress and adapt the processes based on evidence.
- Plan, develop, and deliver a software product while controlling scope, schedule, cost, quality, and risk through disciplined practices and data-driven monitoring.
- Collaborate effectively as a team, managing roles, communication, and professional practices responsibly.
- Engage responsibly with clients and stakeholders to understand needs build trust and deliver value.
Program
1. Definition, evaluation, and improvement of software processes
- Disciplined Agile Delivery
- Way of Working
- Playbook
- Continuous improvement
2. Agile development of a software project
- Planning
- Project management
- Quality management
- Delivery
- Evaluation
Curricular Unit Teachers
João Carlos Costa Faria da CunhaInternship(s)
NAO
Bibliography
Recommended:
- Ambler, S., & Lines, M. (2020). Choose your WoW: A disciplined agile delivery handbook for optimizing your way of working. Project Management Institute.1A-7-128 (ISEC)
- Lines, M., & Ambler, S. (2018). Introduction to disciplined agile delivery (2nd ed.): A small agile team’s journey from Scrum to disciplined DevOps. Project Management Institute. 1A-7-120 (ISEC)
- Project Management Institute. (n.d.). Disciplined Agile. Retrieved September 2, 2025, from https://www.pmi.org/disciplined-agile
Complementary
- Project Management Institute. (2017). A guide to the project management body of knowledge (PMBOK® guide) (6th ed.). Project Management Institute. 2A-4-82 (ISEC)
- Project Management Institute. (2017). Agile practice guide. Project Management Institute. 1A-7-125 (ISEC)