Você está na página 1de 16

Solues de gerenciamento da qualidade do software Documento sobre liderana de idias Maro de 2009

Otimizao da qualidade do software: equilbrio entre transformaes dos negcios e risco.


Michael Lundblad, Gerente de Programas, Software Rational, IBM Software Group Moshe Cohen,Gerente de Ofertas, Software Rational, IBM Software Group

Otimizao da qualidade do software: equilbrio entre transformaes dos negcios e risco. Pgina 2

Contedo 2 4 Introduo Equilbrio entre transformao dos negcios e risco. 11 Completando a viso 13 Solues de gerenciamento da qualidade 16 Resumo

Introduo

Um estudo recente realizado pela IBM com CEOs mostrou que 66% esperam que suas organizaes sejam inundadas por mudanas, amplamente causadas por inovao e transformao. Para manter o ritmo, as organizaes de desenvolvimento de softwares precisam liberar softwares essenciais para os negcios em menos tempo, mas isso aumenta os riscos e, quase sempre, resulta em comprometimento da qualidade. Logo a pergunta : Como possvel poupar tempo e reduzir custos sem sacrificar a qualidade? Embora a aviao j tenha mais de 100 anos, a maioria de ns ainda fica admirado quando vemos um avio decolando ou aterrissando. O mais incrvel como o software de pilotagem automtica controla e faz tudo com pouca interveno do piloto. Pense na destreza do Joint Strike Fighter (JSF), tambm conhecido como F-35. Apontando para cima, ele pode parar no ar, manter sua posio e depois retomar seu vo supersnico. Essa manobra tambm controlada por software. E os carros? Os veculos atuais contm algo em torno de 100 a 150 computadores. So basicamente redes de computadores sobre rodas, que se comunicam continuamente entre si, dispem de tecnologia global que fornece servios como telemetria, posicionamento global, segurana interna e diagnsticos do sistema. Todos os dias, interagimos direta e indiretamente com sistemas parrudos de software. O estoque dos nossos supermercados favoritos so controlados por software; nossas contas corrente e poupana so controladas por software; nossos financiamentos imobilirios, contas a pagar, pronturio mdico e receitas mdicas so controlados por software. Esses avanos trazem praticidade e progresso, mas tambm representam riscos e gastos extras. Paul Ehrlich disse uma vez: Errar humano, mas, para bagunar tudo de vez, voc precisa de um computador. Pense nos problemas relacionados a software relatados pela devtopics.com como um dentre os 20 piores dessa categoria de desastres.1

Nem sempre nos damos conta, mas interagimos com sistemas massivos de software todos os dias.

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 3

Destaques

Na segunda-feira negra (19 de outubro de 1987), a mdia industrial do Dow Jones despencou 508 pontos, perdendo 22,6% do seu valor total. O S&P 500 caiu 20,4%. A maior perda sofrida por Wall Street em um nico dia foi causada por um problema de software. medida que os investidores fugiam do mercado de aes como em um xodo em massa, os programas de negociao por computador geravam uma avalanche de pedidos de venda, derrubando os sistemas e deixando os investidores efetivamente cegos e incapazes de negociar. Em dezembro de 2008, o principal jornal de Israel (Yediot Acharonot) imprimiu uma edio com a manchete O vrus que deixa os hospitais malucos. O artigo no era sobre uma bactria ou um vrus que deixa as pessoas doentes; era sobre um problema de software que associou os resultados de exames de sangue aos pacientes errados. O Ministrio da Sade de Israel informou que o problema surgiu quando os resultados dos exames foram transferidos eletronicamente dos laboratrios para os hospitais. A entrega de softwares de qualidade nunca foi to crucial para os negcios; na verdade, crucial para a sobrevivncia dos negcios. Na economia atual, os CIOs precisam equilibrar com cuidado a necessidade de transformao nos negcios com o gerenciamento dos riscos comerciais. Os requisitos esto sempre mudando, os cronogramas dos projetos sofrem atrasos, os custos so cuidadosamente analisados, mas a qualidade deve melhorar ou os negcios sucumbem. Essa tarefa aparentemente impossvel est forando as equipes de entrega de software a serem mais criativas, a examinar abordagens geis de desenvolvimento e a desafiar os mtodos historicamente dominantes. Esto mudando sua viso de gerenciamento da qualidade, vendo-o como um esforo contnuo que requer trabalho em equipe, tcnicas de automao, e relatrios precisos em tempo real ou a criao de um quadro geral das mtricas para facilitar uma anlise controlada da discusso. Este artigo examina o equilbrio entre transformao e riscos. Analisa as razes das mudanas no ambiente de desenvolvimento de softwares e discute as solues que podem ajudar os negcios a melhorar o gerenciamento da qualidade para reduzir o tempo de comercializao, cortar custos e aprimorar a qualidade dos produtos.

Em um ambiente de negcios no qual a alta qualidade deve ser alcanada com poucos recursos financeiros, o gerenciamento da qualidade dos softwares crucial.

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 4

Destaques

Equilbrio entre transformao dos negcios e risco.

Dos 20% que sobram do oramento de TI aps as despesas operacionais, trs quartos so gastos procurando e resolvendo os problemas.

A qualidade do software exige que as equipes encontrem o equilbrio entre trs dimenses: escopo (requisitos), custo e tempo (figura 1). Dependendo da pesquisa que voc l, aproximadamente 80% do oramento de TI de uma organizao gasto com as operaes. Dos 20% restantes, 70% a 80% so gastos procurando e resolvendo problemas nos aplicativos legados. Conseqentemente, o financiamento de recursos para a entrega de qualidade do software fixo, na melhor das hipteses. A experincia direta da IBM com organizaes no mundo todo e os dados reunidos por pesquisadores que trabalham com centenas de empresas mostram que a maioria das empresas investem 25% ou mais do tempo e do custo do ciclo de vida do desenvolvimento com garantia da qualidade. Alm disso, 30% dos custos de projeto para desenvolvimento de software esto associados a retrabalho e 70% desse valor esto relacionados a erros de requisitos.2 Com as ferramentas atuais e os processos de desenvolvimento em cascata, a qualidade do software requer mais tempo e custo do que nunca. Para manter a competitividade, as empresas precisam encontrar maneiras de melhorar a qualidade e, ao mesmo tempo, encurtar o tempo de comercializao dos softwares cruciais para os negcios.
Transformao dos negcios

Manter o equilbrio no tringulo de ferro crucial para as empresas que querem inovao sem aumentar os riscos.
Custo

Escopo (requisitos)

Qualidade
Tempo

Riscos para os negcios


Figura 1: O tringulo de ferro equilibrar a transformao dos negcios com os riscos.

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 5

Destaques

Os requisitos nunca so fixos ... esto sempre mudando

Quando os requisitos so mal definidos ou gerenciados, ou quando mudam sem um acompanhamento preciso, problemas srios podem ocorrer.

A maioria dos problemas mais graves encontram seu caminho no software atravs dos requisitos: definio vaga, gerenciamento deficiente ou disseminao incompleta para todos os interessados. E esses problemas no surgem simplesmente no incio do projeto; surgem durante todo o ciclo de vida do aplicativo. O desejo dos altos executivos seria que os requisitos fossem definidos e congelados, para que no pudessem ser alterados no futuro. Isso seguramente ajudaria a melhorar a qualidade dos softwares, mas a realidade atual exige que os requisitos continuem mudando. Eles refletem a velocidade dos negcios hoje em dia, a urgncia de se manter competitivo e a necessidade de cumprir os regulamentos impostos maioria dos nossos processos. Vamos pensar em uma situao na qual o CIO percebe que as novas regulamentaes exigiro que ele mude uma quantidade de aplicativos. Primeiro, o CIO e sua equipe precisam entender como essas mudanas vo afetar o software da empresa e ajustar suas atividades de teste para cuidar dessas mudanas. Enquanto isso, a extenso das mudanas, o tempo para test-las manualmente e os custos associados convencem as empresas de que a melhora da automao, testes de regresso e processos iterativos geis so a melhor maneira de gerenciar os efeitos adversos inevitveis das atualizaes dos softwares.
Analisando o impacto da mudana nos requisitos em um mundo geograficamente distribudo.

As atualizaes de software representam outra grande oportunidade de problemas nos cdigos.

Continuemos com o exemplo das mudanas regulamentares. A maioria das empresas lidaria com essas mudanas da forma mais natural e direta possvel. Elas pediriam a cada equipe para analisar o impacto em seus aplicativos e agiriam de acordo. Nesse cenrio, provavelmente acabaramos com equipes diferentes realizando atividades similares simultaneamente nos mesmos produtos. Mas comum que as empresas tenham vrios projetos em andamento ao mesmo tempo em locais diferentes, internamente ou atravs de empresas contratadas, e todos precisam ser atualizados para refletir as mudanas regulamentares.

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 6

Destaques

A colaborao essencial para se defender de possveis problemas, porque permite que todos os membros da equipe se comuniquem durante a definio dos requisitos e as atualizaes dos softwares.

Ningum pode deixar de pensar que essa abordagem gera um grande desperdcio, assim como aumenta os riscos. O que acontece se as diferentes equipes interpretarem os requisitos de maneiras distintas? E o que acontece se eles terminarem com casos de teste que refletem comportamentos diferentes quando deveriam ser idnticos? Lidar com vrios projetos sem aumentar os riscos significativamente requer um processo de testes no qual um nico conjunto de requisitos possa ser mapeado para mltiplos projetos. Requer a capacidade de definir casos de teste dos quais os scripts de texto possam ser gerados e/ou derivados. Requer a capacidade de compartilhar e reutilizar os casos de teste entre os projetos. Requer um plano de teste que, como os requisitos, no seja um documento fixo ou uma pgina de web hierrquica. um bem ativo, dinmico e sempre atual que permite a definio e o compartilhamento dos processos e estratgias de teste, relatrios em nvel dos negcios de acordo com os objetivos de qualidade, e, tambm muito importante, que apia atividades colaborativas, como, por exemplo, anlises e aprovaes.
Riscos associados aos ambientes de execuo

Quando um aplicativo tem vrias configuraes, existe a tentao de pular algumas delas, mas isso aumenta o risco de entregar um software contaminado.

Os softwares atuais so to complexos que, em muitos casos, simplesmente impossvel garantir aplicativos sem erros. Em outros casos, mesmo que possvel, no financeiramente vivel. Tome como exemplo uma situao na qual o portal com o cliente precisa ser testado. O primeiro passo pedir equipe de testes para desenvolver casos de teste, alguns manuais e outros automatizados. Dependendo da complexidade do aplicativo e do ambiente pretendido, o ciclo de testes pode levar de dias a semanas ou at mesmo meses. Na verdade, vamos supor que o portal oferece suporte apenas a dois idiomas e quatro navegadores ou verses diferentes, e executado em trs bancos de dados e um servidor de aplicativos. Esses poucos componentes por si s ainda requerem que o ciclo de teste seja repetido 24 vezes (2 x 4 x 3 x 1). Portanto, o que levava uma hora para ser testado agora leva 24. O que levava uma semana de 40 horas agora leva 24 semanas, ou seja, quase meio ano. medida que crescem os nmeros de configuraes que precisam ser testadas, tentador eliminar o teste de algumas delas, aumentando com isso o risco de entregar softwares defeituosos.

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 7

Destaques

A IBM descobriu que testar um pequeno subconjunto de combinaes de configuraes pode ajudar os negcios a detectar uma porcentagem muito alta de defeitos com mais rapidez.

A IBM pesquisou uma maneira promissora de reduzir significativamente os riscos associados a um grande nmero de ambientes de execuo. Os resultados mostraram que existe um pequeno subconjunto de combinaes que pode detectar uma porcentagem muito alta de defeitos com mais rapidez. Basicamente, ele acelera a deteco de defeitos. Como mostrado na figura 2, os testes em mltiplos ambientes de execuo seguem a curva lenta tpica, na qual os defeitos so detectados sem uma prioridade especial. A deteco de defeitos com o tempo fica, em grande parte, na zona aleatria, e os cronogramas so comprometidos. No entanto, a aplicao de otimizaes inteligentes traz a deteco de defeitos com o tempo para a zona otimizada, na qual os defeitos so detectados muito mais cedo no ciclo de testes, poupando tempo e reduzindo significativamente o risco de entregar softwares contaminados.

Defeitos detectados

Zona otimizada

Zona aleatria

Tempo

Figura 2: Acelerar a descoberta de defeitos com otimizaes inteligentes

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 8

Destaques

Mudana de paradigma no gerenciamento da qualidade

A incorporao do gerenciamento da qualidade logo no incio do ciclo de vida do desenvolvimento de softwares pode ajudar as organizaes a evitar o alto custo de resolver os problemas mais tarde no jogo.

Para enfrentar esse desafio na entrega de software de qualidade, as organizaes devem se engajar em processos colaborativos propiciados pela automao e acompanhados por controle de projeto vivel durante o ciclo de vida de fornecimento. Os testes de garantia da qualidade (QA, quality assurance) tradicionais simplesmente confirmam que o software em desenvolvimento, antes da implementao, atende s expectativas do usurio final em termos de funcionalidade, disponibilidade e desempenho. Encontrar os defeitos na fase de testes de QA muito mais caro e consome muito mais tempo do que encontrar os defeitos no incio do ciclo de vida do desenvolvimento do aplicativo (figura 3).
Custo 80% dos custos de desenvolvimento so gastos identificando e corrigindo defeitos Mais de 40% do oramento para desenvolvimento de TI ser consumido por requisitos deficientes (Fonte: IAG Consulting)

Oportunidade perdida Um atraso de seis meses ou mais no tempo de comercializao custar s organizaes 33% do ROI de 5 anos (Fonte: McKinsey Group)

Custo relativo para reparar Anlise

Projeto Codificao Teste de QA Aceitao Manuteno

Testes de QA tradicionais 25%30% do tempo para entrega em testes (Fonte: Estudo da IBM) Qualidade upstream deficiente gera retrabalho Cronogramas apertados pioram a situao

Figura 3: As oportunidades de otimizar a qualidade e o tempo de comercializao existem em todo o ciclo de vida do desenvolvimento de aplicativos.

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 9

Destaques

A colaborao enfrenta trs barreiras principais: disperso geogrfica das equipes, infra-estruturas incompatveis e desalinhamento das capacidades dos funcionrios.

O gerenciamento da qualidade se tornou uma prtica de equipe, mas a colaborao enfrenta muitas barreiras. As barreiras geogrficas bloqueiam as comunicaes entre as equipes em vrios fusos horrios e criam falhas de processo que resultam em retrabalho. As barreiras de infra-estrutura criam problemas de processos, ferramentas e integrao dos dados, que impedem as equipes de receber informaes em um prazo razovel, o que resulta em atrasos nos cronogramas. Por fim, as barreiras organizacionais introduzem problemas com experincia em domnios, controle de projetos deficiente e dilemas da terceirizao, como a segurana da propriedade intelectual. Como as principais empresas do mercado esto melhorando a qualidade dos softwares? Uma anlise dos Servios Globais da IBM3 de 846 projetos em vrios clientes revelou um valor diferenciado significativo com abordagens colaborativas e automatizadas. Processos de teste abrangentes, tecnologias integradas de ciclo de vida completo, caso de teste e reutilizao de scripts baseados na indstria, e anlise de defeitos e processos de gerenciamento da qualidade avanados mostraram as seguintes faixas de aprimoramento: Melhoras na qualidade de 30% a 70% Melhoras no tempo de ciclo de 20% a 50% Redues de custos de 15% a 60%

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 10

Desenvolvimento de solues de testes reproduzveis do setor

Anlise de defeitos avanada Impedir e bloquear defeitos duplicados 905 1.755* $175.452 $175.452

Desenvolvimento de procedimentos de testes reproduzveis aplicveis a futuros projetos Documentao da linha de base e migrao 1.365 683 $68.254 Artefatos da linha de base 2.023 1.011 $101.125 $169.379

Integrao de processos completos

Ativo

Casos de testes copiados 343 167 $16.690

Roteiros manuais copiados 350 175 $17.514

Reutilizao de roteiros manuais 1.393 696 $69.633 $103.387

Alavancar a Atualizaes reutilizao de dinmicas componentes de ativos de testes 1.029 515 $51.459 2.227 557 $55.673 $107 .132

Total

Quantidade Horas economizadas Valor Total

9.635 5.558

$555.799

* As horas poupadas supem uma mdia de quatro horas para detectar a duplicao. Na verdade, freqentemente leva muito mais.
Tabela 1: Resultados diferenciados dos valores de negcios com uma abordagem automatizada, guiada por processos e colaborativa ao gerenciamento da qualidade.

A tabela 1 resume algumas das descobertas deste estudo, que mostra como 846 projetos desses clientes pouparam em mdia mais de meio milho de dlares por projeto. Onde essas organizaes encontraram economias? Em seus processos de gerenciamento da qualidade. esenvolver solues de teste da indstria reproduzveis. Parece D razovel que, em qualquer setor, os casos de teste e os scripts manuais se tornem bastante similares. Isso significa que copiar e reutilizar esses casos de teste e scripts comuns poderiam representar economias substanciais. Neste estudo, a economia mdia por projeto foi de mais de US$ 100.000 (16.690 + 17.514 + 69.633). ealizar anlise de defeitos avanada. No fcil detectar e evitar R defeitos duplicados, mas muito importante detect-los cedo. Se no fizer isso, voc corre o risco de ter mltiplas equipes trabalhando no mesmo defeito sem saber, produzindo com freqncia mais defeitos. A deteco automatizada de defeitos duplicados no apenas melhora a qualidade, como tambm reduz os riscos e os custos. Neste estudo, supondo uma mdia de quatro horas para detectar a duplicao, a economia mdia por projeto foi de US$ 175.452.

As organizaes podem poupar tempo e dinheiro prestando mais ateno ao gerenciamento da qualidade em todo o ciclo de vida de desenvolvimento e entrega de softwares.

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 11

Destaques

esenvolver procedimentos de teste reproduzveis que possam ser D reaplicados em projetos futuros. Desenvolver novos artefatos para cada projeto, em vez de reutilizar os artefatos disponveis, consome tempo e desnecessrio. Padronizar com procedimentos e tcnicas de teste reproduzveis pode representar uma economia de tempo considervel. A economia mdia por projeto foi de cerca de US$ 170.000 (68.254 + 101.125). ntegrar processos completos. A integrao do gerenciamento dos I requisitos com as tcnicas de gerenciamento da qualidade fornece acompanhamento bidirecional total dos requisitos, casos de teste e resultados dos testes. Permite tambm vrias anlises de impacto, principalmente quando os requisitos mudam durante o desenvolvimento. Isso essencial para obter vantagens competitivas aumentando a qualidade e reduzindo os custos. A economia mdia por projeto foi de mais de US$ 100.000 (51.459 + 55.673). Em resumo, uma abordagem guiada por processos, colaborativa e automatizada ao gerenciamento da qualidade no apenas permitiu estratgias de mitigao dos riscos e mais qualidade, como tambm poupou, em mdia, mais de US$ 500.000 por projeto!
Completando a viso

Uma estratgia de gerenciamento da qualidade forte pode ajudar uma organizao a se posicionar para inovao e crescimento.

Para cumprir a promessa de inovao e crescimento por exemplo, agilidade comercial atravs de uma arquitetura orientada a servios (SOA) e desenvolvimento de softwares baseado em componentes em todas as equipes geograficamente distribudas , as organizaes devem estabelecer uma estratgia de gerenciamento da qualidade unificada e rpida. As equipes de entrega de softwares e sistemas podem ajudar nesse esforo examinando trs reas principais.

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 12

Destaques

Colaborao

As equipes devem se manter em sincronia com processos otimizados e dinmicos e fluxos de trabalho baseados em atividades. Os requisitos de negcios sempre em mudana devem fluir pelo processo de qualidade para garantir que os casos de teste estejam atualizados e que os desenvolvedores entendam os requisitos mais recentes. Os gerentes de QA e projeto precisam ter certeza de que suas equipes esto trabalhando nas tarefas mais prioritrias. O planejamento de testes deve ser contnuo e envolver uma abordagem orientada a objetivos com critrios de entrada/sada e configuraes ambientais priorizadas.
Automao

As organizaes devem estabelecer uma estratgia de gerenciamento da qualidade que envolva colaborao, automao e controle vivel.

O desenvolvimento de softwares j viu atividades profissionais individuais, como testes funcionais e de desempenho, serem automatizadas. E os engenheiros de build atuais usam scripts e ferramentas de build que poupam tempo. Mas preciso fazer mais para automatizar o processo e as etapas entre as funes para melhorar as eficincias organizacionais, poupar dinheiro e acelerar o tempo de comercializao (p.ex., reutilizao de casos de teste e scripts de teste em todas as linhas de negcios, anlise/fornecimento automatizado de laboratrios de teste e converso automatizada de modelos de caso de uso em casos de teste).
Controle vivel

Os resultados de todos os tipos de testes incluindo testes de unidade, funcionais, de integrao e escalabilidade devem estar disponveis imediatamente para gerao de relatrios e anlise de tendncias. A integrao das informaes tcnicas de projeto aos analticos de negcios apiam a influncia dos tomadores de deciso de nvel mais alto na alocao e utilizao dos recursos para alinhar a TI aos negcios. Os recursos de gerenciamento de testes e planejamento devem estar fortemente integrados anlise de requisitos e aos processos de definio. As equipes de testes envolvidas no planejamento antecipado de casos de testes devem ter acesso em tempo real aos requisitos

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 13

Destaques

comerciais e funcionais de projeto, casos de uso e contratos de nveis de servios (SLAs, service-level agreements). A integrao dos dados de status de projeto permite aos analistas de negcios comparar as mudanas de projeto com os objetivos e as restries comerciais. A avaliao desses dados durante cada fase permite que as equipes de projeto faam ajustes e avaliem os riscos prioritrios. O resultado geral propicia mais controle de projeto e, quando surgem problemas no projeto, uma avaliao dos riscos de negcios mais precisa. As informaes certas na hora certa, focadas e filtradas para anlise de decises, permitem uma produo de softwares controlada e vivel.
Solues de gerenciamento da qualidade

Diretrizes de processos, melhores prticas e ferramentas de equipe integradas so elementos essenciais nas solues de gerenciamento da qualidade atuais.

As solues de gerenciamento da qualidade atuais fornecem diretrizes de processo para entrega de software, melhores prticas e ferramentas de equipe integradas para ajudar as organizaes a alcanar melhorias em termos de eficincia de custos, mtricas de qualidade e obteno de valor em projetos de negcios crticos. Como demonstrado acima, a colaborao essencial. As pessoas podem colaborar usando e-mail ou compartilhamento aprimorado de arquivos, mas esses mtodos so to cansativos que nem fazem parte do processo central de entrega de software. Vrias organizaes desenvolveram ferramentas colaborativas de gerenciamento do ciclo de vida do aplicativo (ALM, application lifecycle management) que tornam o progresso das equipes transparente e controlam o trabalho em equipe. A plataforma Jazz da IBM inclui recursos

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 14

Destaques

As ferramentas de gerenciamento da qualidade fornecem recursos de colaborao, automao e gerao de relatrios para ajudar as empresas a entregar, cada vez mais, produtos de qualidade superior.

de ALM para dar suporte a gerenciamento de requisitos, atividades de desenvolvimento e gerenciamento da qualidade, alm de ajudar as equipes a superar as barreiras geogrficas, de infra-estrutura e organizacionais que dificultam a colaborao. Alm disso, centros baseados na web permitem que as pessoas trabalhem juntas para entregar qualidade de software duradoura, como um bem estratgico dos negcios. As novas solues permitem aos usurios: olaborar em todas as equipes de negcios, desenvolvimento e testes com C fluxos de trabalho dinmicos baseados em processos e atividades para o planejamento e a execuo de testes. utomatizar os processos de ciclo de vida que utilizam muita mo-de-obra A e detectar os problemas de qualidade logo no incio, reduzindo o tempo de comercializao, cortando custos e mitigando os riscos de negcios. egistrar mtricas priorizadas personalizadas para indivduos e equipes, R facilitando a visibilidade e permitindo que os tomadores de deciso atuem com mais confiana. ntregar mais previsibilidade, mapeando padres de implantao bemE sucedidos nos indicadores-chave de desempenho (KPIs) operacionais. As empresas que aproveitarem as vantagens das novas ferramentas de definio/gerenciamento de requisitos podero: linhar os projetos de desenvolvimento aos objetivos de negcios para reduzir A os riscos de falhas de projeto que custam bilhes de dlares anualmente s organizaes. ermitir melhores resultados e validao de requisitos entre os especialistas P de negcios e tcnicos usando tcnicas visuais e colaborativas comprovadas (p.ex., esboos de processos de negcios, esboos e esquemas de interface do usurio, e casos de uso). erenciar com mais eficincia as mudanas nos requisitos e no escopo dos G projetos (p.ex., anlise de impacto). elhorar o tempo de comercializao e o retorno sobre o investimento dos M projetos reduzindo o retrabalho devido a requisitos deficientes ou ausncia de requisitos.

Otimizao da qualidade do software: equilbrio entre transformao dos negcios e risco. Pgina 15

Destaques

Como parte da estratgia de qualidade de ALM, as ferramentas de produo de software, como as descritas na tabela 2, podem ajudar a garantir a qualidade e o desempenho dos softwares cruciais para os negcios.
Ferramentas
Modelagem arquitetnica

Descrio
Valida as regras definidas pelos usurios que representam restries arquitetnicas. Detecta automaticamente padres de projeto e estruturas importantes baseadas em objetos. Detecta antipadres estruturais (como, por exemplo, ns, centros de distribuio e intersees) que degradam o desempenho. Redirecionam os ns automaticamente por meio de correes rpidas.

As ferramentas de ALM ajudam a produzir e a garantir a qualidade por meio de modelagem arquitetnica, desenvolvimento, testes funcionais e de sistemas, testes de validao de build, testes manuais, testes de carga e escalabilidade, e suporte a aplicativos de produo.

Desenvolvimento Testes de validao de build automatizados Testes manuais

Ajuda os desenvolvedores a detectar corrupo de memria e vazamentos, perfil de desempenho e cobertura de cdigo. Evita a implantao de falhas de build no laboratrio de testes ou no ambiente de testes de sistema. Permite que os desenvolvedores aproveitem os ciclos do horrio no comercial para testar a estabilidade e a funcionalidade do aplicativo. Promove melhores prticas como modularidade e capacidade de reutilizao dos testes para fazer a transio das equipes dos testes manuais para os automatizados. Permite s equipes criar testes que verificam de maneira manual ou automtica os erros de regresso e funcionais. Diminui os ciclos de automao de testes para melhorar a qualidade atravs de uma cobertura de testes mais ampla e mais profunda. Incentiva testes mais precisos, confiveis e reproduzveis.

Testes funcionais e de sistemas

Testes de carga e escalabilidade

Determina os limites de carga e escalabilidade para tecnologias e aplicativos como Plataforma Java, Enterprise Edition (Java EE); Web (particularmente portais); SOA; Siebel; Oracle e SAP. Garante que um aplicativo de software possa se expandir e atuar para atender aos SLAs e s expectativas dos usurios. Permite aos testadores apontar a origem dos gargalos de desempenho, para que seja possvel navegar at o cdigo fonte sem perder tempo tendo de passar por mltiplos nveis de cdigo. Permite um retorno melhor sobre os investimentos em hardware realizando testes pr-implantao de planejamento de capacidade que dimensionam os recursos de servidor necessrios para alcanar o desempenho e os resultados desejados.

Solues de suporte a aplicativos de produo

Permite a colaborao entre as equipes de operaes e desenvolvimento para apoio aos aplicativos, isolamento de problemas e reparo de circuito fechado. Captura informaes de registro de transaes e acompanhamento, assim como dados de recursos de sistema estendidos para uma determinao de problemas mais granular, reduzindo assim o tempo de resposta aos diagnsticos de suporte aos aplicativos. Permite restaurao mais rpida dos nveis de servios para o negcio.

Tabela 2: As ferramentas de ALM contribuem para a entrega de ciclo de vida da qualidade.

Resumo

Copyright IBM Corporation 2009 IBM Corporation Grupo de software Route 100 Somers, NY 10589 EUA Produzido nos Estados Unidos da Amrica Maro de 2009 Todos os direitos reservados IBM, o logotipo IBM, ibm.com e Rational so marcas comerciais ou registradas da International Business Machines Corporation nos Estados Unidos e/ou em outros pases. Se estes ou outros termos registrados da IBM estiverem marcados em sua primeira ocorrncia nesta informao com o smbolo de marca registrada ( ou ), esses smbolos indicam marcas comerciais registradas ou de lei comum de propriedade da IBM no momento em que esta informao foi publicada. Essas marcas comerciais tambm podem ser marcas registradas ou de direito comum em outros pases. Uma lista atual das marcas comerciais da IBM est disponvel na web em Copyright and trademark information (Informaes sobre direitos autorais e marcas comerciais) em ibm.com/legal/copytrade.shtml Java e todas as marcas registradas baseadas em Java so marcas registradas da Sun Microsystems, Inc. nos Estados Unidos e/ou em outros pases. Outras empresas, nomes de servios e produtos podem ser marcas comerciais ou registradas de terceiros. As referncias feitas nesta publicao a produtos ou servios IBM no pressupem uma inteno da IBM de torn-las disponveis em todos os pases nos quais opera. As informaes contidas nesta documentao foram fornecidas com o objetivo nico de informar. Apesar dos esforos para verificar a integridade e a preciso das informaes fornecidas, estas foram fornecidas na forma em que se encontram, sem quaisquer garantias, expressas ou implcitas. Alm disso, estas informaes se baseiam nos planos e estratgias de produtos atuais da IBM, que esto sujeitos a mudana sem aviso prvio. A IBM no dever ser responsabilizada por quaisquer danos causados pela utilizao desta documentao ou de qualquer outra documentao, ou danos de qualquer maneira relativos s mesmas. Nenhum contedo desta documentao tem a inteno de, nem dever gerar quaisquer garantias ou representaes da IBM (ou de seus fornecedores ou licenciadores), ou alterar os termos e condies do contrato de licena que governa a utilizao do software IBM em questo. 1 http://www.devtopics.com/20-famous-softwaredisasters 2 Walker Royce, Software Project Management: A Unified Framework (Gerenciamento de projetos de software: uma estrutura unificada), AddisonWesley Professional, Indianpolis, 1998. 3 Servios Globais IBM, SEANT (Systems Engineering Architecture & Test) Programa de ReUtilizao, 2007. RAW14125-BRPT-00

Nesta dcada, vimos uma coliso de trs vias entre a busca da transformaes dos negcios atravs de inovao, a necessidade de aprimorar a qualidade do software para gerenciar os riscos de negcios e a demanda por reduo dos custos para sobrevivncia econmica. A mudana do setor para um trabalho em equipe colaborativo entre as equipes geograficamente distribudas, juntamente com processos e gerao de relatrios automatizados para dar suporte a um controle vivel, est mudando a cara da entrega de softwares de qualidade. Gerenciamento da qualidade no significa mais equipes de QA com ferramentas de testes automatizadas dando suporte entrega de softwares tradicional; tambm no significa processos de controle do gerenciamento da qualidade que atrasam a produo ou simplesmente testam e reparam os defeitos. Gerenciamento da qualidade significa inserir qualidade em um ciclo de desenvolvimento iterativo e em um programa completo de ajuste do software, apoiado por ferramentas e dados integrados e mtricas que podem ser acompanhadas. Um gerenciamento da qualidade eficaz torna o processo de produo mais gerencivel e menos doloroso, e ajuda a gerar confiana nas equipes de operaes. Basicamente, quebra o tringulo de ferro mencionado anteriormente neste artigo, porque permite aos gerentes otimizar o escopo, os custos e os prazos, alm de melhorar a qualidade. Promover o gerenciamento da qualidade em todo o ciclo de vida e detectar os defeitos logo no incio do processo reduz os custos e melhora a credibilidade. Comunicao constante atravs de um conjunto de requisitos comum e bem entendido e respostas rpidas s mudanas dos requisitos pode inserir qualidade no desenvolvimento de software logo de sada. Alm disso, um controle cuidadoso dos processos de build e execuo de testes para corrigir o curso e alocar recursos pode ajudar as organizaes a se tornarem mais flexveis, cuidar das regulamentaes de conformidade, reagir com mais rapidez s mudanas do mercado e, finalmente, promover o crescimento dos negcios. Nesta economia implacvel, o sucesso ou o fracasso freqentemente depende de uma coisa: de quem o produto de melhor qualidade.
Para obter mais informaes

Para saber mais sobre as solues da IBM de gerenciamento da qualidade, entre em contato com o seu representante IBM ou acesse:
ibm.com/software/rational/offerings/quality

Agradecimentos especiais a Ron French da IBM Global Business Services por compartilhar descobertas importantes do seu trabalho e do trabalho de sua equipe.