quinta-feira, 21 de junho de 2012

Por que devemos ser ágeis? Resolvendo grandes problemas utilizando pequenas soluções.

Por Paulo Roberto Donatilio Rego



O mundo se transforma de forma assustadoramente rápida, as pessoas cada vez mais necessitam de tecnologia no dia a dia. Desde quando a informática foi introduzida na sociedade os sistemas vem incorporando o cotidiano de forma cada vez mais constante. Desde um simples programa para mostrar a hora na tela de um computador até um complexo sistema capaz de integrar todos os departamentos de uma grande empresa, todos foram criados com o propósito de trazer algum tipo de beneficio ou agilidade na execução de alguma operação que invoque a informação para seu usuário.
No início o processo de desenvolvimento de um software era extremamente artesanal, e os softwares tinham funções extremamente específicas. Enquanto a ideia de desenvolvimento de softwares tinha seu foco em pequenos aplicativos, os problemas continuavam a ser contornados de forma rápida, como o processo de criação era despreocupado e focado em poucos e pequenos requisitos, não havia a necessidade de grande esforço para a implementação de software.
Porém a tecnologia de hardware evoluiu e com maior poder computacional em mãos o foco em desenvolvimento começou a procurar outros desafios, mesmo pequenas empresas de desenvolvimento passaram a criar algoritmos para tarefas complexas, havia cada vez mais uma clareza de que os softwares poderiam ficar mais bem elaborados e que fossem capazes de disseminar a informação de forma mais abrangente, dinâmica e absorvendo a complexidade do processo para si.
O que veio a seguir é conhecido pelo mundo todo como crise de software, diversas empresas foram fundadas com o foco no desenvolvimento de software porém apenas umas poucas conseguiam ir em frente, o poder computacional era grande, porém a estrutura do processo de desenvolvimento estava falha, havia a necessidade de definir um modelo a ser utilizado, e assim começaram diversos estudos em prol de criar um padrão de desenvolvimento computacional, criando então um nicho específico dentro da área computacional a Engenharia de Software.
A Engenharia de Software possui um conceito muito debatido e bastante abrangente, porém, pode-se chegar a conclusão de que ao utilizar a Engenharia de Software como reguladora do processo de desenvolvimento de software, busca-se a construção de um software com qualidade, respeito aos prazos e sem elementos desnecessários.
Surgiram em seguida, diversos modelos de desenvolvimento de software, citados como solucionadores no processo de desenvolvimento porém com o passar do tempo alguns iam se revelando instáveis ou incapazes de atender a demanda de prazo da necessidade humana do consumo de software, havia a necessidade de se criar um método capaz de trazer maior agilidade no processo que trouxesse pequenas soluções de forma ágil e constante.
O ser humano consumidor de tecnologia, tem a necessidade de que suas vontades sejam atendidas através de um clique, e esta necessidade não extrapola o poder computacional dos dias de hoje mas esbarra diretamente na maturidade do processo de desenvolvimento de software, o que vem a ser um problema real e direto para os dias de hoje: tem-se a capacidade de executar porém a capacidade de desenvolver ainda não seria eficiente para resolver este problema. O que fazer?
As demandas estão presentes, os softwares devem ser capazes de acompanhar o hardware, e para conseguir esta tarefa devem absorver uma grande quantidade de problemas para si e deixar ao usuário pouca ou nenhuma necessidade de elaboração, o foco está na informação e deve assim permanecer.
O modelo de desenvolvimento de software precisava então ser revisto deixar de ser tradicional e buscar novas formas para solucionar problemas antigos, surge então, em 2000, um grupo de pensadores, profissionais neste ramo de ação, focados em discutir formas de melhorar o este processo, e juntos eles foram capazes de criar o Manifesto Ágil para o desenvolvimento de software que seguem princípios básicos para o desenvolvimento de sistemas, transcritos em sua íntegra abaixo:

“Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar:
1.       Indivíduos e interação entre eles mais que processos e ferramentas
2.       Software em funcionamento mais que documentação abrangente
3.       Colaboração com o cliente mais que negociação de contratos
4.       Responder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.”

A proposta em si se mostra oponente ao processo tradicional de desenvolvimento e busca quebrar um paradigma que vinha sendo habitualmente utilizado, o foco passa a ser justamente contrário a tudo que se vinha buscando, e a partir deste pequeno manifesto simples porem divisor de conceitos, surgem novos olhares sobre este processo, novas técnicas, novos paradigmas, e existe emfim a renovação no método de desenvolvimento de software.
Ainda hoje empresas buscam se orientar por modelos tradicionais de processos de desenvolvimento de software, alegando a complexidade de seus projetos que vem sendo desenvolvidos há um longo longo tempo e trazem consigo diversas raízes muitas vezes realmente incapazes de serem arrancadas.
Mas o que dizer da nova necessidade? Os computadores eram do tamanho de um andar de um prédio e hoje são menores que a palma da mão de um homem. Ao se propor a atender a demanda de usuário de tecnologia, deve-se atentar para a novidade do cenário mundial, a tecnologia em geral, desponta como a controladora da nova era e ao se propor atender esta demanda deve-se refletir sobre o quão rápido  ser? A sugestão desse trabalho termina-o de forma contundente: Seja ágil!


Gostou?  Tem mais no PortalAtuaSI.

Nenhum comentário:

Postar um comentário