Este artigo tem por objetivo apresentar uma análise comparativa entre nove métodos ágeis, no sentido de instrumentalizar as equipes e organizações a obterem melhores resultados na aplicação de métodos ágeis em seus projetos.
Para que serve
Os métodos ágeis estão se tornando uma alternativa concreta para ajudar as equipes de desenvolvimento de software a tornarem-se aptas a responder de forma rápida, flexível e eficaz às constantes mudanças que fazem parte da dinâmica natureza dos negócios das organizações. Possuir uma visão crítica sobre o assunto facilita a aplicação destes princípios e práticas no cotidiano das equipes nas empresas.
Em que situação o tema útil
A velocidade de resposta às necessidades do negócio está intimamente ligada à competitividade dos times e organizações. A aplicação de métodos ágeis, dentre outros benefícios, geram transparência com usuários, clientes e acionistas. Fatores como integração das pessoas técnicas e de negócio na obtenção de resultados de melhor qualidade de forma rápida, facilita o alcance da estratégia organizacional, o retorno dos investimentos, dentre outros aspectos essenciais à garantia da sobrevivência institucional. Este tema é essencial para desenvolvedores, líderes de equipes e profissionais de TIC que desejam colaborar para a sustentabilidade de suas organizações.
Autores: Alexandre José Henrique de Oliveira Luna, Cleyverson Pereira Costa e Hermano Perrelli de Moura
Muitos autores como Roosmalen e Hoppenbrouwers, Cummins e Sloane et al. têm dito que para sobreviver à voracidade do mercado é necessário agilidade nos negócios, porém qual é o significado de tal termo? Segundo o Gartner Group, “agilidade de negócio” é estar apto a responder rapidamente e eficientemente às mudanças no mundo dos negócios e, transformar essas mudanças em vantagem competitiva é o principal motivo para sua adoção.
Neste contexto, observa-se que cada vez mais organizações estão adotando a abordagem ágil como uma tática de sobrevivência nestes tempos economicamente turbulentos. Isto por sua vez levou a uma série de opiniões interessantes examinando quais atitudes e atributos seus times precisam para serem bem sucedidos. Sob esta ótica a agilidade de negócio, reconhecida como a habilidade para “mudar o sentido do ambiente e responder eficientemente e efetivamente a essa mudança”, é importante.
Acrescentar agilidade aos processos de gestão, em sua essência já infere um maior nível de convergência entre as iniciativas em TIC (Tecnologias da Informação e Comunicação) e os objetivos do negócio. Contudo, outros benefícios de uma abordagem ágil no contexto de negócios podem ser identificados, como, por exemplo: melhor time-to-market e aumento da velocidade de tomada de decisão, o que acaba refletindo numa maior competitividade organizacional.
Neste contexto, a chave para realizar a verdadeira agilidade de negócio é encorajar os executivos a pensarem nas mudanças de negócio sem se preocupar com as implicações que as mesmas trarão ao legado de TIC existente na organização. Em outras palavras, a empresa precisa se tornar centrada no negócio e não centrada na TIC.
Quando o negócio se torna centrado em si, a organização se torna hábil a definir, criar e construir novos processos ou funções de negócio. Entretanto, para viabilizar esta visão, é essencial que a TIC cumpra o seu papel de se “elevar” de uma abordagem puramente operacional ou tática, para uma participação mais estratégica, colaborando de modo concreto, inclusive, nas definições dos objetivos de negócio.
Desta forma acredita-se que os métodos ágeis têm muito a contribuir nesta direção através da simplificação das iniciativas da TIC, sensibilização e valorização das pessoas, adoção de uma abordagem iterativa e adaptativa, aplicação prática de seus princípios, valores, práticas e orientações sobre sistematização das iniciativas da gestão em TIC.
Engenharia de Software
Engenharia de Software é uma área do conhecimento voltada para a especificação, desenvolvimento e manutenção de sistemas de software, aplicando tecnologias e práticas da ciência da computação, gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade.
Pressman destaca que a Engenharia de software abrange três componentes básicos:
• Métodos: proporcionam os detalhes de como construir o software. Englobam tarefas como planejamento e estimativa de projeto, análise de requisitos de software e de sistemas, projeto da estrutura de dados, arquitetura de programa e algoritmo de processamento, codificação, teste e manutenção;
• Ferramentas: existem para sustentar cada um dos métodos. Algumas ferramentas existentes para apoio são as Computer-Aided Software Engineering, conhecidas como ferramentas CASE;
• Procedimentos: constituem o elo entre métodos e ferramentas. Definem a sequência em que os métodos são aplicados.
Desde então vem prosperando o aparecimento de diversos métodos, técnicas e ferramentas para aperfeiçoar os processos de desenvolvimento de software em todo o mundo. Mesmo com toda esta evolução, a Engenharia de Software há muito vinha enfrentando problemas relativos a atraso na entrega de projetos, orçamento extrapolado, insatisfação de clientes e usuários, além de conflitos e desgastes entre analistas e clientes. Isso se dava, dentre outros fatores, principalmente em função dos métodos disponíveis para o desenvolvimento de software mostrarem-se pesados e burocráticos, ineficientes e improdutivos.
O Manifesto Ágil
Sob este contexto e percepção, em 11 de fevereiro de 2001, um grupo de profissionais e pesquisadores de TI se reuniram com a finalidade de criar uma mobilização em torno de uma série de valores e práticas de desenvolvimento de software que eles intitularam de Manifesto for Agile Software Development.
Assim, os dezessete presentes assinaram o seguinte manifesto:
“Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar:
• Indivíduos e interação entre eles mais que processos e ferramentas
• Software em funcionamento mais que documentação abrangente
• Colaboração com o cliente mais que negociação de contratos
• Responder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.”
Este Manifesto também enuncia os doze princípios de um processo ágil, como podem ser vistos na Tabela 1.
ID |
Princípio |
P1 |
A prioridade é a satisfação do cliente, mediante o rápido e contínuo fornecimento de software que agregue um valor ao negócio. |
P2 |
As mudanças são bem-vindas, mesmo no final do desenvolvimento, principalmente se as alterações darão vantagem competitiva para os nossos clientes. |
P3 |
Fazer entregas frequentes de software que funcionem a partir de um par de semanas a um par de meses, sempre procurando o menor intervalo de tempo entre as entregas. |
P4 |
As pessoas de negócio (executivos) e os desenvolvedores devem trabalhar juntos diariamente e ao longo de todo o projeto. |
P5 |
Construir o projeto em torno de indivíduos motivados. Fornecer todo apoio necessário ao ambiente do projeto e confiar plenamente na equipe. |
P6 |
O diálogo face a face é a mais eficiente e eficaz forma de comunicar as informações dentro da equipe de desenvolvimento. |
P7 |
Software que funciona é a principal medida de progresso. |
P8 |
Os processos ágeis promovem um desenvolvimento sustentável. Os promotores, usuários e desenvolvedores devem ser capazes de manter um ritmo de trabalho constante por tempo indeterminado. |
P9 |
A atenção contí ... |
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.