O meu projeto de software é um sisteminha ?

19 de julho de 2009 Por portal

A arte de desenvolver software é inexplicável. Nós trabalhamos com algo que não conseguimos tocar, estimamos algo imprevisível e entregamos a realização dos nossos entendimentos com a expectativa de anteder os entendimentos dos clientes. A programação de computadores transforma o sonho em realidade.

Ao longo dos últimos 10 anos constatei na prática uma premissa bastante interessante. A maior parte das soluções de negócio a serem desenvolvidas são entendidas como apenas um “sisteminha” e dessa forma que se transformam em grandes projetos com cronogramas apertados e muitas das vezes comprometidos.

E nós profissionais da área de tecnologia temos sim uma grande culpa nesse processo. Pois se os usuários que contratam os nossos serviços ainda mantem essa visão é por que não nos preocupamos em passar para eles toda essa evolução nos processos de desenvolvimento de software que estamos vivendo.

Eu avalio esse problema ainda com uma gravidade maior quando essa visão vem de um outro profissional de tecnologia. Com freqüência tenho contato com outros profissionais que também repetem a mesma frase na hora de solicitar um apoio no seu projeto “É só uma coisa simples”.

Ainda dentro do cenário avaliando os mais diversos estudos que apresentam estatísticas sobre sucesso em projetos de software podemos observar os resultados apresentados pelo Standish Group (Standish Group, 2004 Third Quarter Research Report, CHAOS Research Results) conforme a figura abaixo que trazem dados alarmantes sobre índice de sucesso em projetos de software e aceitáveis mesmo para a realidade do Brasil onde cerca de apenas 30% dos projetos são classificados como sucesso e os restantes acabam atrasando ou estourando os orçamentos previstos ou cancelados.

Standish Group (Standish Group, 2004 Third Quarter Research Report, CHAOS Research Results) 

As metodologias de desenvolvimento (MSF, SCRUM, CMMi, MPS-BR) têm evoluído muito e trazem um conjunto de técnicas para o aperfeiçoamento e maturidade no desenvolvimento e especificação das necessidades com o objetivo de trabalhamos com metas mais concretas.

Para você profissional de tecnologia é fundamental disseminar o valor que a área de tecnologia proporciona aos negócios e o quanto é importante se planejar as ações com o objetivo de alçamos um ciclo de desenvolvimento sadio e direcionado a entregas.

É muito chato e até constrangedor ver o seu produto atrasado e com problemas. Não conheço nenhum desenvolvedor que trabalha com o objetivo de construir bugs. A falta de qualidade é conseqüência de vários fatores em grande parte oriundos já na concepção do projeto que se propagam durante a codificação até o resultado final que nunca é animador.

image
(The Economic Impacts of Inadequate Infrastructure for Software Testing)

O Application Lifecycle Management (ALM) resume para o profissional de desenvolvimento a união de três pontos importantes: Pessoas, Ferramentas, Metodologias com objetivo de acompanhar um projeto do início ao fim desvendando todas as etapas que acabam sendo ignoradas na visão do “sisteminha” e a realidade mostra justamente o contrário.

Ao pensar em um projeto é necessário visualizar que sua construção envolve passos desde a obtenção da visão com o cliente, planejamento da solução e sua arquitetura, desenvolvimento, testes e o próprio acompanhamento das entregas até alcançar todos os objetivos.

Hoje pessoas trabalham em grupos inclusive até no mesmo código fonte e em locais físicos diferentes. Sistemas falam com outros sistemas, utilizam diversos bancos de dados e são acessíveis até via celular.

O que você acha disso ? Participe agora mesmo nos comentários.

Para saber mais:
Implementando Application Lifecycle Management com Visual Studio Team System
O que é o Visual Studio Team System ?
Novidades do Visual Studio Team System 2010

[].
Ramon Durães
MVP, Visual Studio Team System
Especialista em desenvolvimento de software