O cenário atual de desenvolvimento de software ABAP

O cenário atual de desenvolvimento de software ABAP compreende todo o mercado SAP que é composto pelas maiores empresas do mundo. Atualmente fazem parte deste mercado mais de 300 mil empresas espalhadas em 190 países. No Brasil a SAP chegou em 1995 e já possui grande representatividade no cenário nacional. As empresas que utilizam o ERP em sua grande maioria não possuem o core business de software e estão preocupadas em gerir seus negócios da melhor maneira possível.

Sabemos que o SAP é um ERP customizável e que essa é uma prática comum na grande maioria das empresas que utilizam este sistema, para que possam atender as especificidades de cada indústria. Mas como os departamentos de TI de empresas SAP têm atuado para atender as necessidades de negócio dessas empresas e qual é a realidade desse mercado?

Um pouco de história sobre qualidade de software

Desde o início do desenvolvimento de software já eram implantados sistemas de validação funcional. Esta tarefa era realizada pelo próprio desenvolvedor e acontecia com o acompanhamento da execução do código fonte.

Este processo passou por várias mudanças em seu percurso. No começo, em 1957, quando surgiu o conceito de teste de software, ampliou-se esta prática para a detecção de falhas em cenários modelados. Contudo, em 1970 o processo baseado na engenharia de software foi estabelecido, e apenas em 1979 Myers evoluiu o conceito e propôs um processo padronizado de detecção de falhas.

Ainda assim os processos de testes eram realizados tardiamente e a correção acabava se tornando mais cara. Em 1980, surgiram os primeiros conceitos efetivos de qualidade de software. Nesse sentido foram ampliados os pontos de controle e nasceram os órgãos mais importantes para o contexto de software: IEEE (Institute of electrical and electronics engineers), ANSI (American national standards institute) e ISO (International standard organization).

Com esse movimento nasceu então o CMM (Capability maturity model) com o intuito de criar um modelo único e confiável para que as empresas pudessem seguir para adquirir maturidade em seus processos e atingir a qualidade necessária nas entregas dos projetos.

O cenário atual de desenvolvimento de software

Você consegue imaginar hoje uma organização ser gerenciada sem o uso de sistemas computacionais? Cada dia que passa essa dependência aumenta de forma exponencial e natural em busca de transparência e produtividade.

Essa busca eleva o nível de sofisticação dos sistemas, com lógicas e decisões mais complexas para ganhar eficiência, controle e automatização de atividades. Com isso a complexidade dos sistemas aumentou gradativamente, dependendo de profissionais mais capacitados e de processos melhores elaborados para tentar manter a qualidade do que se produz. A tabela a seguir apresenta a evolução de tamanho e complexidade dos softwares produzidos:

Fonte: “Garantia de qualidade de software”, Alexandre Bartié

Apesar dessa evolução nos últimos anos, muitas empresas ainda estão presas em antigos paradigmas e não obtiveram o amadurecimento necessário para essa nova visão de desenvolvimento de software. Muitos também não percebem que os ambientes estão mais complexos e que exigem ações mais difíceis no contexto de manutenção, desenvolvimento e controle. Estas empresas precisam entender que o processo de garantia de qualidade não é mais uma opção a ser considerada, mas deve ser parte da estratégia de sobrevivência da empresa no mercado que está cada vez mais rigoroso e exigente.

A (dura) realidade dos projetos de software

As organizações em sua grande maioria entendem que as áreas de TI são estratégicas para seus negócios, para aprimorar seus produtos, serviços e gestão. O que geralmente se percebe é um festival de amadorismo e ineficiência com os processos de desenvolvimento.

Os departamentos de TI estão despreparados para atender necessidades rápidas porque não estão preocupados em aperfeiçoar seus processos internos. O desconhecimento de engenharia de software e processos fazem com que o amadorismo e informalidade impere nesses cenários.

Isso resulta na incapacidade de garantir que o produto de software seja entregue no prazo planejado, com o custo planejado e com a qualidade almejada. Assim, o risco de qualquer projeto se perder no meio do caminho é altíssimo. Estudos americanos* apontam uma realidade triste para projetos de software:

  • mais de 30% dos projetos são cancelados antes de serem finalizados
  • mais de 70% dos projetos falham nas entregas das funcionalidades esperadas
  • Os custos extrapolam em mais de 180% os valores originalmente previstos
  • Os prazos excedem em mais de 200% os cronogramas originais

*Fonte: “Garantia de qualidade de software”, Alexandre Bartié

Ao considerar que o mercado americano é mais maduro e mais exigente que o brasileiro para o desenvolvimento de software, podemos verificar a realidade caótica que nos encontramos.

E como está o desenvolvimento de software no mercado SAP

Vemos muitas empresas SAP com grandes departamentos de TI, com processos voltados para o desenvolvimento de funcionalidades para atender as necessidades de seu negócio. O que se percebe é que 90% destas empresas não trabalham com uma gestão de documentação bem definida, muito menos com o desenvolvimento de cenários de teste que garantam e orientem os testes funcionais dos sistemas, muito menos com testes de regressão.

Quando tratamos a realidade de garantia de qualidade em âmbitos que extrapolam os quesitos funcionais, percebe-se uma precariedade e uma deficiência enorme em não ter um processo rigoroso de documentação, validação, verificação e estratégias de controle de qualidade. Por conta disso verificamos que a grande maioria dos processos de desenvolvimento encontram-se parados no tempo, anteriores a 1957, quando não se tinham processos para avaliação de testes e qualidade de software.

Se considerarmos o modelo CMMi, a grande maioria das empresas, não conseguiriam atingir o segundo nível de maturidade e todas nesse cenário se encontrariam no nível 5, que é caótico, sem nenhum tipo de controle e processos definidos.

Devemos começar a ter ciência da importância de um processo de controle de qualidade na etapa de desenvolvimento do software. Este processo, além de bem estruturado, deve ser o mais rigoroso possível, evitando maiores problemas futuros no ambiente SAP da organização. Além disso, o controle de qualidade na etapa de desenvolvimento é mais barato, o que auxilia na redução de custos e também na melhoria de performance, produtividade da equipe e diminuição dos riscos envolvidos.

Os números nos apontam para os reais problemas dos projetos de software e precisamos de alguma forma começar a mudar este cenário. Você já pensou o que pode fazer para melhorar os projetos de desenvolvimento na sua empresa? Comece agora mesmo a pensar no processo de qualidade de desenvolvimento de software para a área de TI SAP da sua empresa.