Questão de Engenharia de Software — Kanban (Engenharia de Software) — VUNESP 2023
- Código
- vu197106
- Banca
- VUNESP
- Órgão
- Pref SBO
- Ano
- 2023
- Cargo
- Ana ( )
- AKanban.
- BRAD.
- CIncremental.
- DEspiral.
- EPrototipação.
GabaritoA — Kanban.
Gabarito: letra A. O Kanban é uma metodologia ágil de desenvolvimento de software, pois se enquadra no conjunto de métodos ágeis que priorizam entregas contínuas, visualização do trabalho e melhoria incremental do processo. As demais alternativas (RAD, Incremental, Espiral e Prototipação) são modelos de processo de software que não pertencem ao grupo das metodologias ágeis, sendo classificados como modelos tradicionais, iterativos ou evolucionários.
O desenvolvimento ágil de software é uma abordagem que surgiu como reação aos métodos tradicionais, considerados burocráticos e lentos. O Manifesto Ágil, publicado em 2001, estabeleceu valores como indivíduos e interações mais que processos e ferramentas, software funcionando mais que documentação abrangente, colaboração com o cliente mais que negociação de contratos e responder a mudanças mais que seguir um plano. As metodologias ágeis, como Scrum, XP, Kanban, FDD, TDD, entre outras, compartilham princípios como entregas frequentes, comunicação constante, adaptação a mudanças e foco no software funcional.
O Kanban, especificamente, é um método de gestão de fluxo de trabalho que teve origem no Sistema Toyota de Produção, na década de 1950, e foi adaptado para o desenvolvimento de software por David J. Anderson. Ele se baseia em práticas como visualização do trabalho em um quadro (com colunas como "A fazer", "Fazendo" e "Feito"), limitação do trabalho em progresso (WIP), gerenciamento do fluxo, políticas explícitas, ciclos de feedback e melhoria colaborativa. O Kanban não prescreve papéis fixos nem iterações com time-box, mas é amplamente reconhecido como uma metodologia ágil, pois permite entregas contínuas e incrementais, alinhadas às necessidades do cliente.
É importante distinguir as metodologias ágeis dos modelos tradicionais de processo de software. Os modelos tradicionais, como o cascata, o espiral e o incremental, seguem uma sequência mais rígida de fases (análise, projeto, implementação, testes) e são menos flexíveis a mudanças. O modelo espiral, por exemplo, é um modelo evolucionário que combina prototipação e análise de riscos em ciclos repetitivos, mas não é considerado ágil. O RAD (Rapid Application Development) é um modelo de desenvolvimento rápido, mas também não é classificado como metodologia ágil no sentido estrito. A prototipação é uma técnica que pode ser usada em diversos modelos, mas não é uma metodologia ágil em si.
A pegadinha desta questão está em reconhecer que o Kanban, embora seja um método de gestão de fluxo, é sim uma metodologia ágil de desenvolvimento de software. Muitos candidatos podem confundir Kanban com uma técnica de gestão de estoques (devido à sua origem na Toyota), mas no contexto de engenharia de software, ele é uma das metodologias ágeis mais utilizadas. As demais alternativas são modelos de processo que não se enquadram no conceito de metodologia ágil, sendo classificados como modelos tradicionais ou evolucionários.
O Kanban é uma metodologia ágil de desenvolvimento de software. Ele se baseia em princípios como visualização do trabalho, limitação do WIP, gerenciamento do fluxo e melhoria contínua, permitindo entregas contínuas e adaptação a mudanças. O Kanban é amplamente reconhecido como uma das metodologias ágeis, ao lado de Scrum, XP, FDD, entre outras.
O RAD (Rapid Application Development) é um modelo de desenvolvimento de software que enfatiza a prototipação rápida e o desenvolvimento iterativo, mas não é classificado como uma metodologia ágil. Ele é um modelo de processo que se concentra na velocidade de desenvolvimento, mas não segue os princípios do Manifesto Ágil, como a colaboração contínua com o cliente e a adaptação a mudanças de forma incremental.
O modelo incremental é um modelo de processo de software que divide o desenvolvimento em incrementos, cada um adicionando funcionalidades ao sistema. Embora seja iterativo, não é considerado uma metodologia ágil, pois não segue os princípios do Manifesto Ágil, como a entrega contínua e a colaboração estreita com o cliente. O modelo incremental é um modelo tradicional de processo.
O modelo espiral é um modelo evolucionário de processo de software que combina prototipação e análise de riscos em ciclos repetitivos. Ele é um modelo tradicional, não uma metodologia ágil, pois não prioriza a entrega contínua de software funcional nem a adaptação rápida a mudanças. O modelo espiral é mais adequado para projetos de grande porte e alto risco.
A prototipação é uma técnica de desenvolvimento de software que envolve a criação de protótipos para validar requisitos e obter feedback do usuário. Ela pode ser usada em diversos modelos de processo, mas não é uma metodologia ágil em si. A prototipação é uma ferramenta que pode ser utilizada dentro de metodologias ágeis, mas não é uma metodologia completa.
Gabarito: letra A
Link permanente: /questoes/vu197106