Metodologias Ágeis: Entregas Parciais

Um pouco sobre software O desenvolvimento de software consiste na necessidade de pessoas e empresas em obter ferramentas que facilitam a manipulação das informações


18/11/2014
Metodologiasageis Um pouco sobre software O desenvolvimento de software consiste na necessidade de pessoas e empresas em obter ferramentas que facilitam a manipulação das informações. A quantidade de informações geradas dentro das empresas é cada vez maior e o controle pleno sobre estas é um fator determinante na competitividade de mercado.  Como desenvolvedor de software questiono-me frequentemente em como podemos melhorar nosso trabalho e nossa relação com os clientes, para que alcancemos produtos que agreguem cada vez mais valor e inteligência as empresas. O que é mais importante para o cliente, a qualidade ou o prazo de entrega de um software? Qualidade e prazo de entrega são assuntos diretamente relacionais, e isso é um fato. Tendo em mente que o software deve ser entregue com a máxima qualidade possível, focamos então na parte da entrega. Quando o software deve ser entregue para o cliente? Na minha opinião, a resposta para essa pergunta é: Deve ser entregue quando estiver realmente pronto. " - Mas isso é obvio! ", Talvez não tão obvio assim. Como constatar que um programa está pronto, sendo que desenvolvemos em cima de uma ideia inicial, que inclusive pode mudar. Uma ideia não é algo sólido, mas sim uniforme e dinâmico. Temos que trabalhar pensando no objetivo, adequando um esforço viável para a realização desta. Então porque não separar as funcionalidades em pequenas partes e iniciar o desenvolvimento e entrega destes. Simultaneamente o cliente efetua a validação do que foi feito, sugere melhorias nas funcionalidades restantes e percebe lacunas nessa ideia. Melhoria Contínua Neste ano, na equipe de tecnologia, adotamos algumas metodologias ágeis para melhoria no desenvolvimento de nossos projetos, dentre elas as entregas parciais. Saindo do modelo tradicional O modelo tradicional de análise e desenvolvimento contempla basicamente as seguintes etapas:

Levantamento completo de requisitos e funcionalidades (Aqui se define um prazo de entrega final, que varia em semanas ou meses, de acordo com o que foi requisitado);

Desenvolvimento;

Entrega;

Uma nova abordagem Um dos princípios do Manifesto para o desenvolvimento ágil de software é: "Indivíduos e interação entre eles é melhor do que processos e ferramentas." Seguindo este princípio, chegamos a seguinte estrutura para o desenvolvimento de nossos projetos: Reunião inicial do projeto:

Avaliamos a viabilidade da ideia, procurando a forma mais simples para atingir o objetivo;

Separamos tudo que deve ser feito, o máximo possível e em pequenas tarefas;

O cliente define e ordena as prioridades para cada entrega;

Planejamento:

Organizamos entregas em prazos curtos, geralmente de uma à duas semanas;

Entregas:

O cliente recebe a entrega, conforme as funcionalidades iniciais definidas;

Com essa abordagem, o cliente está presente em todas as etapas do projeto. Tanto clientes quanto desenvolvedores ganham em vários aspectos. O cliente não fica esperando 2, 3 ou 5 meses para que então, no final deste prazo, obter o programa. Recebendo aos poucos, o cliente tem um retorno de investimento imediato. O cliente pode encontrar mais itens, não pensados inicialmente, e isso é ótimo, pois estes podem ser incluídos nas próximas entregas. Esse modelo é flexível. Ele permite ao cliente alterar prioridades ou incluir outras tarefas no produto, caso este sinta necessidade disto. O cliente se comunica diretamente com um desenvolvedor do projeto, explicando a situação e após um entendimento de ambos, pronto, as tarefas são reajustadas. Caso o desenvolvedor encontre dificuldades desenvolvendo alguma funcionalidade, ele entra em contato imediato com cliente, expondo e sugerindo alternativas para criar, modificar ou melhorar funcionalidades. Conclusão Como desenvolvedores, precisamos estar evoluindo constantemente não só em tecnologia, mas na forma de trabalho. A comunicação é a chave que auxilia no entendimento das reais necessidades dos clientes e isso é fundamental para o desenvolvimento de um software. Podemos oferecer uma melhor abordagem tecnológica de acordo com cada necessidade e isso depende apenas de uma boa conversa. Ao final o cliente recebe um programa, que talvez não seja exatamente o que ele próprio imaginou inicialmente, mas sim o que ele realmente precisa e lhe será útil.

Inscreva-se para receber novidades