2.1.1 Metodologias ágeis de desenvolvimento de software

Em muitos momentos neste trabalho faremos referência a metodologias ágeis de desenvolvimento de software, que não são apenas técnicas de desenvolvimento, mas que trazem em si visões de como novos produtos e serviços devem ser desenvolvidos e de como essas ferramentas devem ser mantidas.

Estas metodologias trouxeram uma ruptura com relação à modelos tradicionais de desenvolvimento de software, deixando de lado um esforço grande em planejamento, substituindo-o por ciclos curtos de desenvolvimento e revisão constante do escopo, ou seja, processos iterativos.

Quando surgiu, a disciplina da “engenharia de software” emprestou da engenharia tradicional, acostumada a construir bens tangíveis, procedimentos e técnicas para gerenciar projetos de desenvolvimento de software. No entanto, com o passar do tempo e amadurecimento do setor, percebeu-se que esses modelos não eram os mais adequados a serem seguidos. A divisão do projeto em fases distintas de desenho e implementação não fazem sentido em um ambiente em que o demandante é incapaz de saber exatamente o que precisa antes de conseguir visualizar e testar alguma coisa concreta. Além disso, a rápida velocidade com que as tecnologias avançam fazem com que o risco de um projeto de software desenvolver algo completamente obsoleto aumente quanto mais longo for um projeto com um escopo fechado.

No final da década de 1990, as metodologias ágeis começaram a se popularizar baseadas na premissa de que a atividade de desenvolvimento de software é distinta de outras áreas da engenharia e que possuía características próprias. Ao invés dos modelos tradicionais, conhecidos como cascata (waterfall), que divide o desenvolvimento em planejamento, implementação, teste e implantação, essas metodologias propõem ciclos curtos de desenvolvimeno, de poucas semanas, para que o produto possa ser frequentemente apresentado para o cliente e, conseqüentemente, validado. Elas são focadas na comunicação eficiente entre todos os envolvidos no projeto, mantendo o cliente final próximo a equipe de desenvolvimento (RIES, 2012).

Dentre as metodologias mais populares estão a Extreme Programming (XP), o “Kanban” e o Scrum. Elas introduzem práticas, como a programação em pares, o desenvolvimento orientado a testes, as reuniões diárias, os quadros de Kanban e também papéis, como o Scrum master, responsável por garantir que a metodologia esteja sendo seguida e o “Product Owner” (dono do produto), responsável por ser a voz do cliente, definir prioridades e revisar o resultado de cada ciclo de desenvolvimento.

Agora que conhecemos melhor as metodologias ágeis de desenvolvimento de software e o modo de trabalho das startups enxutas, passaremos a analisar dois casos governamentais de abordagem de desenvolvimento de serviços digitais que foram profundamente influenciados por essas práticas; o governo britânico e o estadunidense.

ÍNDICE

Anúncios