-
Notifications
You must be signed in to change notification settings - Fork 45
Home
Trust is the bedrock of all effective teams. When it exists, team members speak freely, don’t second guess each other and formal hierarchy fades into the distance.
Bem-vindo às disciplinas de Gestão de Portfólios e Projetos de Software e Métodos de Desenvolvimento de Software.
Desde meados de 2013 essas duas disciplinas passaram a fazer parte de um projeto multidisciplinar. Esse consiste em criar um ambiente de produção de software a partir da interação entre os estudantes de GPP (Gestão de Portfólios e Projetos de Software) e MDS (Métodos de Desenvolvimento de Software). Por meio desse ambiente, os estudantes passaram a ter uma experiência mais completa de todo o processo de produção de software. Isso permitiu também que os estudantes experimentassem os conhecimentos adquiridos em um nível mais prático, conferindo conhecimento prático ainda na faculdade.
A disciplina de MDS busca uma compreensão, mesmo que inicialmente de forma mais superficial, de duas metodologias especificas, o RUP e a metodologia ágil. Aplicando os conceitos por trás das duas metodologias os alunos aprendem nos primeiros meses o RUP, uma metodologia muito utilizada em empresas atualmente pois consegue manter uma organização maior em projetos grandes, e nos meses finais a metodologia ágil, também muito utilizada e que, por possuir foco maior na programação de fato, produz um resultado mais rapidamente sendo ideal em projetos menores.
Essa metodologia de ensino das duas disciplinas foi iniciada pelo professor [Hilmer Neri][hilmer], na [FGA][fga] (Faculdade Gama), na Universidade de Brasília. Atualmente, essas duas disciplinas são ministradas pela professora [Carla Rocha][carla], que adotou a metodologia multidisciplinar de GPP e MDS.
Para o projeto multidisciplinar foi necessário a integração entre os estudantes da disciplina de [GPP][gpp] e [MDS][mds].
[Gestão de Portfólios e Projetos de _software_][gpp] é uma disciplina que visa dar ao estudante uma gama de conhecimentos e técnicas, com o intuito de permitir a boa gestão estratégica de projetos de software. Isso transpassa a gestão de escopo, tempo, custos, qualidade e diversos outros contextos do projeto.
[Métodos de Desenvolvimento de _Software_][mds] é uma disciplina que trabalha no estudante conhecimentos relativos a diferentes modelos de ciclo de vida para um projeto de software. Faz com que o estudante seja estimulado a compreender os diferentes aspectos de cada modelo, identificando suas características e quando usar um em detrimento de outro.
Sendo assim, o projeto visa utilizar ambas as disciplinas com o intuito de produzir um software, onde os estudantes são estimulados a utilizar não apenas o conhecimento adquirido nas disciplinas, mas em toda a sua caminhada pela faculdade até o momento.
Os estudantes se dividem em grupos, mesclando estudantes que estejam cursando ambas as disciplinas. Cada grupo seleciona um tema e deve chegar ao fim do semestre com um software. A produção desse software é acompanhada pelo professor e por um equipe de monitores, afim de auxiliar os grupos.
Outro ponto importante é que durante o desenvolvimento dos projetos de cada grupo, em um dado momento, o modelo de produção de software deve ser alterado. Os grupos iniciam a produção utilizando metodologias tradicionais (PMBOK/RUP) e, na metade do semestre, os modelos metodológicos de desenvolvimento a serem adotados passam a ser os ágeis (SCRUM/XP). Dessa forma, o estudante tem a possibilidade de vivenciar ambas as metodologias.
EPS/MDS - FGA/UnB
Métodos de Desenvolvimento de Software
Gestão de Portfólio e Projetos de Software
RUP (Rational Unified Process)
Fase Elaboração (RUP) Planejamento(PMBOK)
Fase de Construção (RUP), Execução/Monitoramente e Controle (PMBOK)
Fase Transição (RUP), Finalização (PMBOK)
Acceptance Test Driven Development (ATDD)
Integração Contínua Deploy Contínuo
Automação de Ambiente com Docker
Orquestração de Containers com Docker Compose
Automação de Ambiente com Vagrant
Deploy Contínuo na Plataforma Heroku
Integração Contínua com Travis CI
Disponibilizando a Aplicação com o Proxy Reverso Nginx
Tutorial de Instalação do Ionic
Android Integração contínua com Circle CI
Configuração de Ambiente para React Native
Tutorial Instalação Ruby on Rails
Teste Automatizado Cucumber JS
Teste Automatizado Cucumber Rails
Testando AngularJS com Jasmine
Teste Automatizado com Selenium IDE
Configurar o SonarCloud para um projeto usando Jest
Configurar o SonarCloud para um projeto usando Pytest
Configurar o SonarCloud para um projeto usando Mocha e Istambul