Introdução

A metodologia pode ser definida como a sistematização de métodos e técnicas com o intuito de se alcançar um objetivo. Este documento aborda os métodos e técnica de metodologias, processos e práticas (Scrum, XP, Kanban, RUP) de acordo com o objetivo da equipe e da disciplina.

Metodologia

A equipe utiliza vários métodos e técnicas de diversas metodologias, processos e práticas, para o desenvolvimento. Com o estudo e experiência da equipe sobre as metodologias ágeis, foi possível identificar aspectos das diversas metodologias, que a equipe utiliza para o desenvolvimento do projeto.

Metodologias, processos e práticas identificados:

  • RUP/UP:

    RUP/UP (Rational Unified Process/Unified Process) é uma metodologia de desenvolvimento de software que utiliza uma abordagem iterativa e incremental. Ela foca em uma série de ciclos de desenvolvimento curtos, com entregas frequentes, permitindo ajustes conforme o projeto avança. O RUP é baseado em quatro fases principais: iniciação, elaboração, construção e transição. C ada fase tem metas e entregas específicas, e a metodologia é estruturada de forma a minimizar riscos e aumentar a qualidade do software.

  • POO (OOP Oriented Object Programming):

    POO (Programação Orientada a Objetos) é um paradigma de programação que organiza o código em torno de objetos, que são instâncias de classes. Cada objeto contém dados (atributos) e métodos (comportamentos), permitindo uma abordagem mais modular e reutilizável. Os principais pilares da POO são encapsulamento, herança, polimorfismo e abstração, facilitando o desenvolvimento de sistemas complexos de forma mais estruturada e fácil de manter.

  • RUP (Rational Unified Process):

    O Rational Unified Process é um Processo de Engenharia de Software que fornece uma estrutura disciplinada para designar tarefas e responsabilidades dentro de uma organização de desenvolvimento de software. Ele promove o uso de práticas como modelagem de casos de uso, arquitetura baseada em componentes, desenvolvimento iterativo e gestão de requisitos, sempre focando na entrega contínua de incrementos funcionais do sistema.

- [Kanban](https://www...):

O sistema Kanban é uma metodologia ágil que se baseia no uso de cartões visuais para organizar e gerenciar o fluxo de trabalho. Cada tarefa é representada por um cartão em um quadro, com colunas que indicam o status de cada tarefa, como a fazer, em andamento e concluído. O Kanban foca na limitação de tarefas em progresso para garantir um fluxo constante e evitar sobrecarga da equipe, promovendo uma entrega contínua e incremental.

## Metodologias de desenvolvimento: ### Versão 1.0 ### RUP (Rational Unified Process) #### Práticas: - **Desenvolvimento iterativo**: A abordagem iterativa é necessária para garantir que o software seja desenvolvido e refinado em ciclos curtos. Isso permite a entrega de funcionalidades parciais que podem ser revisadas, testadas e melhoradas com base no feedback de stakeholders. - **Verificação da qualidade de software**: A qualidade deve ser revisada com respeito aos requisitos estabelecidos desde o início do projeto, assegurando que o software atenda aos padrões exigidos, tanto em termos de funcionalidades quanto de desempenho. ### Kanban

O Kanban é técnica que propõe a utilização de cartões em um quadro, indicando o andamento de atividades em cada etapa dos fluxos de produção dos projetos .

- **Lista de Tarefas**: Contém todas as tarefas do projeto, representando o backlog de atividades a serem executadas. - **Incremento**: Contém as tarefas a serem executadas durante a Sprint, com foco em completar um conjunto pequeno e gerenciável de atividades. - **Em andamento**: Contém as tarefas que estão em andamento, permitindo um acompanhamento visual do progresso. - **Revisão**: Contém as tarefas que precisam ser revisadas para conclusão. - **Concluido**: Contém as tarefas que já foram revisadas e concluídas, marcando o fim do ciclo de desenvolvimento para essas atividades. ## Conclusão

Com o estudo das metodologias, decidimos usar uma combinação de Kanban e elementos do RUP (Rational Unified Process) para o desenvolvimento da plataforma do Lollapalooza 2025. Essa combinação proporciona a flexibilidade necessária para ajustes ágeis e a estrutura de fases claras para o controle do desenvolvimento, garantindo um produto final de alta qualidade, pronto para atender às demandas dinâmicas do evento.

## Referências > [1] SCRUM, Disponivel em: https://www.atlassian.com/agile/scrum#:~:text=Scrum%20is%20an%20agile%20project,values%2C%20principles%2C%20and%20practices. > [2] Sistema Kanban, Disponivel em: https://www.atlassian.com/agile/kanban#:~:text=In%20Japanese%2C%20kanban%20literally%20translates,in%20a%20highly%20visual%20manner. > [3] Extreme Programming, Disponivel em: https://www.alura.com.br/curso-online-xp-extreme-programming?utm_term=&utm_campaign=&utm_source=adwords&utm_medium=ppc&hsa_acc=7964138385&hsa_cam=21215649534&hsa_grp=163355147476&hsa_ad=701727864642&hsa_src=g&hsa_tgt=dsa-2315509357092&hsa_kw=&hsa_mt=&hsa_net=adwords&hsa_ver=3&gad_source=1&gclid=Cj0KCQjwgL-3BhDnARIsAL6KZ6_UBYc0gVV6BkbAQTqyD41EgKhOtNwaU83r2vtc1JMf0D9leyc7S4UaAt8mEALw_wcB > [5] Rational Unified Process, Disponivel em: https://www.treinaweb.com.br/blog/o-que-e-rup-rational-unified-process ## Autor(es) | 20/09/2024 | 1.0 | Criação | Sarah Ferrari | | 22/09/2024| 1.1 | Finalizando o documneto | Sarah Ferrari |