Porque metodologias ágeis são ideais para desenvolvimento de software

Quando eu fiz meu curso de gerenciamento de projetos (PMBOK) eu percebi uma coisa, que os conhecimento que eles propagavam eram excelentes, mas não cabiam no mundo do desenvolvimento de software, considerando que todo o escopo já deve ser definido quando começamos o projeto, a inexistência de gold plates etc. Não eram coisas praticadas na engenharia de software, mesmo que sejam práticas comuns na engenharia civil, elétrica etc.

Uma das grandes questões a serem considerados é que a produção de software é uma prática nova na nossa sociedade, as pessoas não tem 100% de certeza do que elas querem nesse campo, por exemplo quantos dos seus clientes determinavam um escopo de software, para no mês seguinte, durante o desenvolvimento, descobrirem que não queriam certa funcionalidade, ou que comportamento X só facilitaria o seu trabalho se também existisse um módulo Z, que não está no projeto do sistema. E isso acontece porque quando você apresenta ao cliente um novo software ele passa a querer  que ele solucione todos os seus problemas do dia a dia.

O Impacto das metodologias Ágeis

Nesse sentido o Manifesto Ágil, determinou a base para um novo paradigma para o desenvolvimento de Software, até mesmo porque ele nasceu das mãos e das idéias de desenvolvedores de software. Mas antes de eleger o manifesto ágil seu novo princípio religioso é preciso entender que você só conseguirá ser ágil com aderência da sua empresa. Mas o que isso quer dizer?

Eu assisti pessoas quererem implementar Scrum em  empresas que eram completamente engessadas em sua estrutura e sua cultura, aonde o controle sobre a tarefa do profissional era mais importante do que a meta coletiva, que considerava que o software executando na tela do cliente era o software pronto.

É impossível negar que aqueles que buscam trabalhar de uma maneira ágil devem primeiro conquistar a sua gerência e seus colegas, mas mais do que isso deve entender que o processo não será simples. Em muitos casos a cultura empresarial será o seu maior desafio, e isso vai muito mais do que a cultura da equipe de desenvolvimento, passando pelo pessoal que vende os projetos, como o departamento administrativo calcula custos e o retorno do software, como o RH mede a produtividade e recompensa profissionais etc.

Quando você trabalha em uma empresa que tem como principal produto o desenvolvimento de software a aplicação de metodologias ágeis vai impactar muitos processos dentro da sua empresa. Em contrapartida o resultado pode valer, e muito a pena.

Um exemplo de Impacto no processo de desenvolvimento ágil

Um grande exemplo de impacto de metodologia ágil no processo de desenvolvimento de software é a interação com o cliente durante o processo de desenvolvimento, vou falar aqui de como rola usando o eXtreme Programming em comparação à maneira tradicional.

Na metodologia tradicional, o usuario e entrevistado no inicio do projeto, e o projeto e desenvolvido a partir daquele escopo, cada alteração gera um novo escopo e deve ser restimado e colocado para depois de terminado o projeto. Utilizando o XP, as User Stories tem interatividade direto com o cliente modulo a modulo, funcionalidade a funcionalidade, o que aumenta a troca de informações entre as partes envolvidas.

A realidade do uso de metodologias tradicionais, que buscam ser generalistas entre diversas áreas da construção de produtos não é muito prática para o desenvolvimento de software. O motivo é que software, diferentemente de um apartamento ou de um carro, pode ser utilizado de maneira modular, ou seja, não precisa ser construído inteiramente para ter utilidade e garantir o retorno do investimento.

Exemplo clássico é da loja virtual que pode começar como um simples site com uma vitrine do que o cliente tem, fazendo com que os visitantes o contatem, ou visitem seu ponto de negócio físico, sendo que com o tempo agregar-se-á novos módulos e funcionalidades.

Isso permite que o cliente priorize novas funcionalidades, conforme as necessidades forem surgindo, e permite que a equipe atenda melhor o nosso cliente. Diversas práticas ágeis são usadas nos dias de hoje. O Scrum que é um framework de práticas, assim como o XP, e como não poderia deixar de ser essas práticas funcionam como design patterns, ou sejam, são interativas entre si. Assim o scrum se mantém utilizando uma diversidades de práticas que podem ou não pertencer ao XP entre outros.

Aonde queremos chegar com isso?

O objetivo dessa seção é falar sobre as mais diversas práticas ágeis e mostrar como eles podem modificar o seu ambiente de trabalho. e beneficiar tanto a você, quanto a sua equipe e sua empresa. Espero que realmente eu possa produzir bons conhecimentos e ajude a todos que estão começando a enveredar pelas práticas ágeis.

Os próximos passos

Faremos uma introdução de algumas práticas e frameworks ágeis tais como:

Pair Programming

Refactoring

TDD

Clean Code

Scrum

XP

Kanban

Então fiquem ligados!

Related posts:

  1. Minicurso de Desenvolvimento Mobile Web em São Luís – Maranhão

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Warning: Invalid argument supplied for foreach() in /home/phprocks/phprocks.com.br/wp-content/plugins/socialize-it/inc/SocializeIt.php on line 65