Gestão de Projeto de Software

Conhecimentos de Base Recomendados

Os alunos devem possuir conhecimentos fundamentais e prática de programação de software, incluindo modelação e design de software, usabilidade e programação em Java.

Métodos de Ensino

A unidade curricular desenrola-se em torno de um projeto de desenvolvimento de software.

As aulas teóricas servem para apresentar os temas lecionados, assim como os materiais de estudo.

As aulas práticas são usadas para a aprendizagem de ferramentas e realização de reuniões entre professor e grupos de trabalho, incluindo reuniões de planeamento de projeto e sprint, reuniões de revisão e retrospetiva, reuniões de refinamento do backlog, reuniões de progresso, etc.  entre os grupos de trabalho e o professor, prestando esclarecimentos e recebendo feedback sobre o desenrolar dos trabalhos, materiais desenvolvidos e ferramentas utilizadas.

Os alunos realizam o trabalho semanalmente e em grupo, dentro e fora da sala de aula, e recorrem ao professor ao longo da semana, pessoalmente, ou através de ferramentas de chat e videochamada. Durante as reuniões de progresso, os grupos estão presentes em sala podendo, em situações especiais, participar por videochamada.

O trabalho consta do planeamento, organização, realização e monitorização de um projeto ágil de desenvolvimento de software. O trabalho é obrigatoriamente realizado durante o semestre e é permanentemente acompanhado. 

Resultados de Aprendizagem

Ao compIetarem esta unidade curricuIar, os aIunos deverão ser capazes de:

  1. Descrever o desenvolvimento de software como uma disciplina de engenharia, usando a terminologia adequada
  2. Desenvolver um projeto de software em equipa, seguindo processos definidos e boas práticas de engenharia de software
  3. Planear um projeto de desenvolvimento de software, usando estimativas, escalonamento de tarefas e atribuição de recursos
  4. Usar boas práticas na gestão de qualidade, gestão de risco, gestão de equipas e gestão de stakeholders
  5. Gerir um projeto de software, acompanhando e controlando o seu progresso, por forma propiciar uma entrega do software dentro dos prazos e custos previstos e gerir expectativas dos stakeholders
  6. Demonstrar conhecimento de processos e metodologias de desenvolvimento de software e dos princípios e fundamentos da melhoria do processo de software.

Programa

1. Ciclo de vida de desenvolvimento de software tradicional e ágil
• Scrum
• Waterfall

2. Planeamento de um projeto de software
• Elaboração de um plano de desenvolvimento de software
• Requisitos de software, casos de uso, user stories
• Planeamento de entregas
• Planeamento de iterações
• Estimativas e escalonamento de projetos
• Arquitetura

3. Gestão ágil de projetos de software
• Gestão de requisitos
• Gestão de risco
• Gestão de equipas
• Revisão de iteração

4. Gestão de qualidade
• Plano de qualidade
• Revisões
• Testes e planos de teste
• Gestão de versões

5. Desenvolvimento ágil de software
• Cerimónias, equipa, artefactos do Scrum
• Princípios de DevOps

 

Docente(s) responsável(eis)

Estágio(s)

NAO

Bibliografia

Recomendada:

  • Stellman, A., & Greene, J. (2006). Applied software project management. O’Reilly. 1A-7-73 (ISEC)
  • Sommerville, I. (2011), Software Engineering, 9th ed. Pearson Education. 1A-7-107 (ISEC)
  • Project Management Institute, Inc, A guide to the project management body of knowledge (PMBOK Guide) and the standard for project management, Newtown Square, ISBN/ISSN: ISBN 978-1-62825-664-2, 2A-4-82 (ISEC) 

 Complementar:

  • Ken Schwaber & Jeff Sutherland, The Scrum Guide – The Definitive Guide to Scrum: The Rules of the Game, November 2020 (https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-US.pdf; https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Portuguese-European.pdf)
  • James Shore and Shane Warden, The art of agile development, O’Reilly, cop. 2008, ISBN/ISSN: ISBN 978-0-596-52767-9, 1A-7-78 (ISEC)