Cinco restrições de desenvolvimento/teste que afetam a ... · necessário criar manualmente...

8
SéRIE DE EBOOKS SOBRE DESENVOLVIMENTO EM PARALELO áGIL: Capítulo 2 Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Transcript of Cinco restrições de desenvolvimento/teste que afetam a ... · necessário criar manualmente...

Série de ebookS Sobre deSenvolvimento em paralelo ágil: Capítulo 2

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Na economia dos aplicativos, não é segredo que as grandes organizações estejam gerando vantagem competitiva ao desenvolver inovações digitais e combiná-las com produtos e serviços existentes.

Conhecida como transformação digital, essa iniciativa fez sucesso entre empresas ansiosas por atender à demanda cada vez maior de usuários educados na internet, nos dispositivos móveis e nas redes sociais a esperar um desempenho rápido e impecável de todo serviço digital por eles consumido.

Como parte dessa transformação, as organizações de TI sofrem hoje a pressão por oferecer novos aplicativos e serviços a uma velocidade cada vez maior, sem diminuir a alta qualidade dos softwares e mantendo os custos de desenvolvimento/testes em um nível acessível. No entanto, mesmo nas melhores das intenções, as equipes de TI geralmente enfrentam dificuldades em atingir uma ou mais de suas metas de rapidez, custos e qualidade graças ao constante desafio das restrições.

Novas pressões, mais restrições

2

1 Pesquisa sobre transformação digital do Grupo Altimeter, 2014, N=59.

O que é tranSformação digitalA Altimeter a define como "o realinhamento de, ou novos investimentos em, modelos de tecnologia e negócios destinados a envolver mais eficazmente os clientes digitais em cada ponto de contato do ciclo de vida de sua experiência."1

?

3

Você provavelmente já ouviu a expressão: uma corrente é tão forte quanto o seu elo mais fraco. Para as equipes de desenvolvimento e teste, há certa relação semelhante entre ciclo de vida de distribuição de software (SDLC) e restrições.

Elaborada por Eliyahu M. Goldratt em seu livro A Meta, a teoria das restrições afirma que em qualquer sistema gerenciável, há restrições capazes de afetar a consecução de uma meta em particular. Por exemplo, as equipes de desenvolvimento e teste se deparam com inúmeras restrições de ambiente, dados, testes e visibilidade nos estágios individuais do ciclo de vida de distribuição de software, cada qual criando atrasos específicos ou complicações capazes de impedir a entrega de serviços de alta qualidade dentro dos custos e velocidade esperados.

Em outras palavras, mesmo que empresas e usuários apressem a entrega de aplicativos, a equipe de TI terá condições de desenvolver e testar apenas com a rapidez e a frequência permitidas pelas restrições existentes no ciclo de vida de distribuição de software. Dessa forma, se você espera atingir novos níveis de rapidez, custos e qualidade, conheça as restrições comuns que assolam o ciclo em questão e as possíveis formas de minimizá-las ou eliminá-las.

Como as restrições limitam o potencial de desenvolvimento

Na cadeia de distribuição, isto é, o ciclo de vida de distribuição de software,

as restrições estão normalmente ocultas nos elos mais fracos.

restrições em aplicativos compostosA montagem de aplicativos modernos é feita a partir de inúmeras APIs (Application Programming Interfaces - Interfaces de Programação de Aplicativos), interfaces de usuário, componentes e serviços, muitos dos quais dispõem de acesso limitado às atividades de desenvolvimento e testes. Quando esses componentes são fornecidos por terceiros, geralmente é necessário pagar taxas de acesso que podem aumentar rapidamente com o tempo.

Cinco restrições comuns encontradas no decorrer do ciclo de vida de distribuição de software

4

identificar e eliminar restrições ao longo do ciclo de vida de distribuição de software pode muitas vezes parecer um jogo de "acerte a marmota": depois de derrubar uma aqui, surgem outras ali, mas nem sempre é fácil prever onde elas irão aparecer. veja a seguir alguns tipos comuns de restrições a serem observadas ao avaliar suas práticas de desenvolvimento e testes:

restrições de ambienteVocê dispõe de um bom número de equipes de distribuição de aplicativos, porém a quantidade de ambientes de teste nos quais elas podem trabalhar é limitado. Dessa forma, as equipes normalmente vivenciam tempo ocioso não produtivo enquanto aguardam a disponibilização dos serviços ou dos ambientes necessários.

1 2

reStriçõeS de tempoMuitas equipes de TI acreditam que seus procedimentos de teste são automatizados, porém apenas a execução dos testes propriamente ditos é automática. Para chegar a essa fase, as equipes ainda são obrigadas a desenvolver scripts e códigos manualmente e viabilizar a automação; no entanto, raramente é possível compartilhar esses ativos de teste em todos os estágios pertinentes (por ex., unidade, funcional, regressão, integração, desempenho, etc.), o que gera esforço dobrado.

reStriçõeS de dadoSA fim de garantir o funcionamento de um aplicativo de acordo com os padrões de produção, é preciso testá-lo utilizando dados o mais próximo possível das condições "reais" e abrangentes o bastante para cobrir todos os casos de uso. Se as equipes de teste não possuem acesso fácil a esses dados, será necessário criar manualmente conjuntos de dados de teste em nível de produção; isso torna os projetos mais lentos e dispendiosos.

Cinco restrições comuns encontradas no decorrer do ciclo de vida de distribuição de software

5

reStriçõeS de viSibilidadeQuando os testes revelam falhas em determinado aplicativo, as equipes de TI devem identificar com precisão a causa-raiz do problema antes de poder corrigi-lo. Em ambientes de aplicativos compostos, isso é mais fácil falar do que fazer, principalmente se faltar visibilidade ao longo de todo o caminho da transação e for difícil desvendar perspectivas aplicáveis.

3 4 5

inovação deSacelerada Apresentar uma concepção inovadora de software é apenas metade da equação; a outra é lançá-la rapidamente no mercado em um nível de qualidade capaz de produzir vantagem competitiva e superar as expectativas dos usuários. Contudo, muitas das restrições discutidas anteriormente provocam ociosidade e esforço manual e isso alonga o cronograma dos projetos, além de frear a inovação e dar aos concorrentes a chance de superá-lo no mercado.

redução da qualidade Quando as equipes não dispõem de acesso adequado a ativos de teste realistas, torna-se impossível testar com a mesma eficácia e abrangência necessárias à garantia de um desempenho em nível de produção. Da mesma forma, o lançamento de aplicativos de baixa qualidade no mercado afugenta clientes e coloca marcas em risco, além de exigir um considerável retrabalho de desenvolvimento/teste.

aumento doS cuStoS A necessidade de buscar alternativas para as restrições gera ineficiências no ciclo de vida de distribuição de software, acarretando custos de hardware e software para a empresa. Por exemplo, quando codificadores empregam seu precioso tempo criando manualmente scripts ou simulações de baixo valor, o "custo humano" de entrega do aplicativo se eleva. Há também o impacto econômico conhecido no presente e desconhecido no futuro que um serviço com erros ocultos pode gerar quando lançado prematuramente no mercado.

Como as restrições de desenvolvimento/testes afetam os seus negócios

6

embora restrições surjam na forma de desafios técnicos a serem abordados pelas equipes de ti dentro e ao longo do ciclo de vida de distribuição de software, elas podem afetar os negócios como um todo de maneiras significativas.

Solução do problema de restrições com o desenvolvimento em paralelo ágil

de modo a limitar o efeito das restrições sobre a velocidade de desenvolvimento, a qualidade e os custos de um software, as grandes organizações estão adotando ferramentas de desenvolvimento ágeis e paralelas.

7

com o desenvolvimento em paralelo ágil, é possível reduzir ou eliminar:

reStriçõeS de aplicativoS compoStoS e de ambiente por meio da modelagem e simulação de características de comportamento e desempenho de sistemas e serviços independentes

reStriçõeS de dadoS por meio da captura de transações realísticas em ambientes de teste e armazenamento temporário e da geração inteligente de ativos de automação de testes e de serviços virtuais "realísticos" destinados a aumentar a qualidade

reStriçõeS de teSte por meio da capacitação de vários participantes de equipes multifuncionais, o que inclui desenvolvimento e controle de qualidade, para a rápida criação e execução de testes automatizados de unidade, funcionais, regressão, integração, carga e desempenho

reStriçõeS de viSibilidade por meio da obtenção de insights em nível de transação sobre aplicativos complexos e modernos, acelerando a análise da causa-raiz das falhas e a solução de problemas descobertos utilizando métodos intuitivos

como resultado, as equipes de ti poderão trabalhar em paralelo e "priorizar" o desenvolvimento e as atividades de teste; com isso, você estará apto a lançar mais rapidamente novos e melhores serviços no mercado

e, por fim, atender à demanda dos clientes.

© Copyright CA 2015. Todos os direitos reservados. Este documento é apenas para fins informativos e não representa nenhum tipo de garantia. Todas as marcas comerciais, nomes de marcas, marcas de serviço e logotipos aqui mencionados pertencem às suas respectivas empresas.

CS200-127705-2

A ca technologies (NASDAQ: CA) cria software que acelera a transformação das empresas e permite que elas aproveitem as oportunidades da economia dos aplicativos. O software está no cerne de todas as empresas, em todos os setores. Do planejamento ao desenvolvimento e do gerenciamento à segurança, a CA está trabalhando com empresas de todo o mundo para mudar a maneira como vivemos, fazemos negócios e nos comunicamos: usando dispositivos móveis, as nuvens privada e pública e os ambientes distribuídos e de mainframe. Obtenha mais informações em ca.com/br.

no capítulo 3 da série, analisaremos mais detalhadamente o que é necessário para assegurar o desenvolvimento em paralelo ágil e como ele está diretamente vinculado aos seus recursos relacionados a virtualização, colaboração e qualidade e gerenciamento de software.

Restrições são um obstáculo para você? Descubra seus pontos fortes e fracos na avaliação de desenvolvimento e teste e obtenha orientações práticas que você poderá usar para começar a enfrentar hoje mesmo seus desafios de desenvolvimento/teste.

O que vem a seguir?