Metodologias de Desenvolvimento de Software

O software livre possui um modelo de desenvolvimento extremamente rápido, eficiente e descentralizado; a velocidade que as melhorias e correção de bugs são implementadas é surpreendente. Entende-se como desenvolvimento colaborativo o ato de vários programadores, que podem estar separados geograficamente ou não, serem voluntários ou pagos, com interesses em comum e que dedicam parte de seu tempo para programar, manter e melhorar algum projeto de software livre.

Esse modelo de desenvolvimento colaborativo tem se mostrado capaz de produzir sistemas e aplicações de software de excelente qualidade. Na última década, as ferramentas e sistemas de software livre passaram a constituir uma plataforma robusta a partir da qual a indústria de TI pode construir e oferecer os seus serviços. Este modelo aberto e colaborativo de produção apresenta uma série de vantagens para uma grande gama de empreendimentos de desenvolvimento de software, tanto acadêmicos quanto comerciais.

Analisando a comunidade de software livre, fica fácil compreender este modelo e sua eficácia, mas também são levantadas outras dúvidas em relação à organização e responsabilidades – pois cada grupo tem seu próprio modo de controle, delegação de responsabilidades e organização interna. Sabemos que, no final, o resultado é apresentado em uma velocidade incrível, onde dificilmente uma empresa comercial teria esta força (a não ser que contrate um exército de desenvolvedores dedicados 24 horas por dia, o que seria inviável financeiramente).

 No software livre, cada projeto tem um líder e os responsáveis por manter aquele determinado software estável e sempre atualizado. Estes líderes podem ser voluntários, ou então pagos por empresas que utilizam e apoiam software livre com o objetivo de ficarem constantemente coordenando e melhorando seus aplicativos. Diversas empresas acreditaram nessa ideia: IBM, RedHat, Sun e Oracle estão obtendo um grande sucesso e resultados positivos com o desenvolvimento colaborativo.

 O que leva uma pessoa com conhecimentos de programação a dedicar parte de seu tempo para criar, manter ou melhorar um aplicativo é, em primeiro lugar, o interesse do programador no projeto, que geralmente tem alguma utilidade prática em seu cotidiano. Ele também pode colaborar com o objetivo de aperfeiçoar ou manter seus conhecimentos de programação atualizados, fazer contatos e criar um bom networking entre outros desenvolvedores com interesses em comum. Este mundo é muito fascinante e muita informação é adquirida em pouco tempo.

A Internet facilita muito o contato com desenvolvedores de praticamente todos os cantos do mundo e o fuso horário ajuda a manter a maioria dos projetos ativos por praticamente 24 horas ao dia. Um exemplo seria um desenvolvedor brasileiro, que dedica várias horas ao dia a algum projeto de software livre: ao iniciar sua rotina pela manhã, ele sincroniza os códigos-fontes que estão em seu computador com os do servidor do projeto, utilizando alguma ferramenta que faz controle de versões; trabalha durante todo o dia e a noite, e, quando está encerrando seu expediente, pega tudo que ele fez em seu computador e atualiza o servidor do projeto, encerrando assim suas atividades durante o dia.

 Quando o desenvolvedor brasileiro está dormindo, seu colega do Japão, graças ao fuso horário, está iniciando seu dia, acessa o controle de versão, baixa todas as implementações feitas pelo brasileiro e dá continuidade ao desenvolvimento, agilizando assim seu ciclo. No momento que o desenvolvedor japonês encerra suas atividades, é hora do brasileiro recomeçar seu trabalho no outro dia. Ao atualizar seu computador local, o brasileiro terá acesso a todo o código feito pelo japonês, poupando assim seu tempo de desenvolvimento e livre para implementar novas funcionalidades e incrementar ainda mais o projeto.

 Este exemplo acontece em muitos projetos grandes, como por exemplo o kernel do Linux. São milhares de desenvolvedores colaborando o tempo todo e a tarefa do líder é gerenciar essas contribuições, unindo pedaços de código que são enviados por milhares de colaboradores e realizando testes, ver se está dentro da política de desenvolvimento e se estiver tudo ok, fazer a implementação ao projeto final, até que se feche uma versão mais nova deste aplicativo. É isso que Linus Torvalds, criador do Linux, faz para manter o kernel Linux sempre atualizado. Atualmente o kernel do Linux possui milhares de colaboradores, e com isso é também um dos projetos mais ativos.

 O desenvolvimento colaborativo é um modelo bastante prático para criação de código estável e seguro. Como não existe pressão comercial, novas versões só são lançadas depois de terem sido bem testadas, sem pressa e se algum bug é encontrado, geralmente é corrigido rapidamente. Você pode conhecer projetos de software livre visitando o http://sourceforge.net/.

 

Fonte: https://uspdigital.usp.br/


Deixe uma resposta