O melhor da semana 24/05 a 30/05

Segue abaixo, a lista do melhor da semana, aliás, nessa semana nasceu um novo blog sobre Teste e Qualidade de Software, o Ensaios de Qualidade da Sarah Pimentel, recomendo visitar e assinar o feed do blog da Sarah. 🙂

Você leu algo interessante, relacionado a área de Teste e Qualidade de Software, e quer compartilhar? Sinta-se à vontade em colocar nos comentários. 🙂

Abraços! E tenham uma ótima semana!

Fique por dentro das novidades, assine o feed do QualidadeBR.

O melhor da semana: 17/05 a 23/05

Segue abaixo, a lista do melhor dessa semana, espero que gostem:

Abraços! E tenham uma ótima semana!

Fique por dentro das novidades, assine o feed do QualidadeBR.

A Importância da Maturidade

Aviso:

Este post é fruto da experiência do autor desse blog, não é baseado em teorias ou grandes autores, mas os mesmos ajudaram esse autor a chegar as conclusões que irão dar forma a esse post, cuja essência foi extraída da prática.

O que é maturidade?

Maturidade é na sua essência você saber o que quer e como alcançar o seu objetivo, sem prejudicar as pessoas e de forma ética e moral.

Exemplo:

Ao chegar numa certa idade, você não terá mais os seus pais para tomar a decisão por você, e em certos momentos da sua vida, geralmente no momento que você mais precisar, não poderá contar com a opinião de um amigo ou familiar. Porém terá a sua inteira disposição a sua maturidade, ela que irá te ajudar.

Maturidade no mundo de TI

A maturidade no mundo de TI é algo não muito comum, ou pelo menos não era até pouco tempo. E o motivo para eu ter chegado nessa conclusão é bem fácil de entender, quantos projetos que você já viu atrasar ou serem cancelados? Muitos não é!? E olha que eu nem perguntei a quantidade de projetos que foram para a produção sem ter a qualidade desejada…putz, mas é verdade, que qualidade desejada? Para mim se tiver funcionando tá ótimo.

Para ilustrar a importância da maturidade no mundo de TI vou citar um exemplo de uma empresa que quase ninguém conhece, o Google. Enganam-se aqueles que acham que o Google é aquele palavrão, parecido com soda, e ponto final. Na verdade o Google é maturo. Larry Page e Sergey Brin, os fundadores do Google, nunca imaginaram, acredito eu, que iriam construir uma empresa como o Google, logo quando estavam crescendo, perceberam que precisavam de alguém com experiência para ajudar a gerenciar o Google, e assim contrataram Eric Schmidt, que tinha uma experiência de 20 anos na Novell.

Você faz idéia da complexidade que é gerenciar uma empresa como o Google, ou como a Microsoft? Eu também não faço, mas com certeza não é uma das tarefas mais fáceis, e para se manter entre os grandes é preciso muita maturidade.

Uma atitude matura que o Google tem, dentre as várias, é a liberdade que eles dão aos colaboradores. Lá você pode dedicar 20% de seu tempo em projetos independentes. E não precisa ficar preso 8 horas na sua baia, pode sair para relaxar (jogar um pouco de video game, deitar num puff, jogar sinuca com os amigos, etc).

No mundo de TI há até certificações que comprovam o nível de maturidade dos processos das empresas, o CMMI (Capability Maturity Model Integration) é o mais conhecido. E com certeza deve ajudar a sua empresa a alcançar um melhor nível de maturidade, mas sinceramente, pela minha experiência vejo que não é tão fácil aplicar o CMMI em todas as empresas, pelo simples fato, que elas atuam em mercados bem diferentes e tem realidades bem distintas.

Não é a toa, que outros modelos de referência surgem, como o MPS.BR. E todos eles objetivam a melhoria do processo.

“Você tá de brincadeira mais uma vez, Fabrício! Fez todo esse “barulho” para falar sobre CMMI e MPS.BR!?”

Não, pois vejo que sempre temos dificuldade em adaptar tais práticas em nossa realidade. Afinal seria muito bom e “fácil” se houvesse alguma receita de bolo, que seguindo ela corretamente conseguiríamos alcançar a maturidade necessária para a nossa empresa. Aliás, alguém sabe qual o nível CMMI do Google?

Então como posso aprimorar o meu processo e torná-lo mais maduro e eficiente?

Errando e aprendendo com os erros.

Não há segredo, não há receita mágica. E como o Muricy Ramalho, técnico do São Paulo FC, diz: “… é trabalho, meu filho!”. E só com muito trabalho poderemos melhorar algo. E não adianta ficar choramingando, botando a culpa na metodologia, ou na cultura da empresa. Aliás, falando em cultura da empresa, ela é um dos grandes obstáculos que necessitamos enfrentar, quando estamos tentando fazer algo diferente, algo para melhorar o nosso processo. E você terá que ser paciente, não poderá bater de frente com ela, terá que plantar a semente da mudança e ir cultivando.

Não há espaço para a acomodação, mesmo quando estivermos bem: prazos estão sendo cumpridos, equipe está motivada, ainda poderemos melhorar.

Na minha opinião, dois pontos são fundamentais para aumentar a maturidade de um processo:

  • A equipe
  • O cliente

De um lado precisamos ter uma equipe motivada, em sintonia, um verdadeiro time. E nesse time não haverá espaço para estrelinhas (sabe aquelas caras que tem uma porrada de certificação e que se acham “o cara”, ou ainda aqueles que estão a X décadas na empresa e só estão preocupados com os investimentos que tem na bolsa de valores), e haverá muito espaço para: troca de idéias e opiniões, transparência, companheirismo e mudanças.

Já do outro lado, precisamos ter um cliente que saiba que o seu fornecedor (nós) está comprometido com a sua satisfação, e que entenda que ele também é um fator para o sucesso do projeto. Ele terá que ser mais participativo com a equipe, tentar compreender melhor as suas reais necessidades e avaliar sempre se toda informação foi passada para o seu fornecedor, de maneira clara e objetiva.

E como você pode perceber, o mais importante para a maturidade de um processo são as pessoas, portanto as pessoas também precisam ser maduras o suficiente para entenderem os seus papéis, afinal os profissionais de TI não são meros “escovadores de bits” e sim causadores da mudança e do progresso da empresa.

E algo que mudou bastante a maneira como vejo o desenvolvimento de software foi a leitura e compreensão do Manifesto Ágil (leia você também :)), que traz princípios que podem aprimorar e tornar mais eficiente o seu processo.

Estude sobre metodologias, modelos, estudos de caso, faça e use as lições aprendidas, etc. Pois mesmo não podendo aplicar na prática tudo que você estudou, com certeza, em um certo momento, você terá a chance de mudar algo, tendo como base algo que você estudou.

Como posso medir a maturidade da minha empresa?

Acredito que algo mais importante do que certificações, logicamente que tendo uma visão interna do processo, são as cinco características, que cito abaixo:

  • A empresa está tendo lucro;
  • Os clientes estão satisfeitos com o produto entregue;
  • A equipe está motivada;
  • O ambiente de trabalho propicia discussão e o surgimento de novas idéias;
  • Sempre há algum “pentelho” mudando algo.

Antes de terminar, só gostaria de deixar claro mais uma coisa: não sou contra CMMI, MPS.BR, ISO, etc, pelo contrário, elas ajudam bastante a melhoria do processo da empresa e principalmente a credibilidade, perante o mercado. No entanto, penso que um nível excelente de maturidade é alcançado, quando o seu processo tem total consciência das dificuldades e necessidades, e consegue se adaptar as novas realidades, desafios e principalmente, não fica preso a uma prática, metodologia ou modelo.

“Um dia você aprende que maturidade tem mais a ver com os tipos de experiência que se teve e o que você aprendeu com elas, do que com quantos aniversários você celebrou.” (William Shakespeare)

Abraços! E se quiserem concordar ou discordar de algo, sintam-se à vontade, até porque a maior parte do que falei, são opiniões que tenho hoje, talvez até eu no futuro, discorde de algo. 🙂

Fique por dentro das novidades, assine o feed do QualidadeBR.

O melhor da semana: 10/05 a 16/05

Segue abaixo, a lista das melhores matérias que li nessa semana, aliás, essa semana consegui ler bastante coisa boa: 🙂

Você leu algo interessante, relacionado a área de Teste e Qualidade de Software, e quer compartilhar? Sinta-se à vontade em colocar nos comentários. 🙂

Abraços! E uma ótima semana!

Fique por dentro das novidades, assine o feed do QualidadeBR.

2º Seminário de Teste de Software do Rio de Janeiro

Fiquei sabendo via e-mail, que haverá o 2º Seminário de Teste de Software do Rio de Janeiro, promovido pela ALATS. Segue abaixo maiores informações do evento:

Dia: 15/07/2009 (adiado para o dia 16/09/2009)

Local: Rua São José 40 – 4 andar – Centro – Rio de Janeiro – RJ

Horário: 09 às 17 horas.

Preço: R$ 160,00

Preço para associados: R$ 120,00

Número de inscrições limitada: 60 pessoas

Inscrições e maiores informações: pelo site da ALATS

Fique por dentro das novidades, assine o feed do QualidadeBR.

Impressões do 2º Encontro Mensal da ALATS São Paulo

Hoje das 18:30 até às 22:00 ocorreu o 2º Encontro Mensal da ALATS em São Paulo.

O tema dessa vez foi “Estimativas”,  e foi dividido em duas palestras: “Estimativa do tamanho do Software através da Análise de Pontos de Função (APF)”, palestrada pela Cristiane Pelossi Genovese Barroso, CFPS – Certified Function Point Specialist e “Estimativa do tamanho do Software através da Análise de Pontos de Teste (APT)”, palestrada pelo José Correia, diretor da ALATS São Paulo.

Abaixo, relato as minhas impressões do 2º encontro mensal.

Estimativa do tamanho do Software através da Análise de Pontos de Função (APF)

A palestra ocorreu no auditório do IMAM para 44 participantes (no 1º encontro foram 14). E no seu início a Cristiane apresentou como que surgiu a APF e um breve panorama da situação de mercado, aliás, um dado informado bem interessante é a falta de pessoal qualificado para a área.

Em seguida a palestrante explicou os conceitos de APF, ela é uma técnica para medir o tamanho do software, e está fortemente relacionada com os requisitos funcionais solicitados pelo cliente.

Além de sua função principal, a APF ainda ajuda na complementação e melhoria dos requisitos. E com ela fica mais fácil explicar o tempo do projeto e estimar o valor do mesmo (que muitas vezes é definido por horas e não por função).

A Cristiane ainda  explicou como funciona a certificação CFPS, que já tem mais de 500 certificados no Brasil, aliás, o Brasil é o país que mais tem certificados. 🙂

Bem, para finalizar a impressão da palestra da Cristiane, ficou claro que aplicação da APF traz bons resultados, porém ela não é fácil de ser aplicada, há muitos fatores que podem influenciar, e temos que está capacitados para tal tarefa. Tanto a nível de conhecimento da APF como do sistema que está sendo avaliado.

Um ponto interessante, apresentado pela Cristiane é que a APF pode ser aplicada mesmo com o projeto já em andamento, para as novas funcionalidades, por exemplo.

Estimativa do tamanho do Software através da Análise de Pontos de Teste (APT)

A palestra do José Correia foi bem curta e mais para dá uma visão geral na APT, criada por Martin Pol, Ruud Tennissem e Erik Van Veenendaal.

O que ficou legal, foi que após ter visto a APF ficou bem claro a importância da APT, pois ela é mais especifica e abrangente para a área de Testes. Sendo muito útil para estimar o esforço de teste necessário, e muito melhor que a “estimativa do dedo”, ou a do “veja bem”, ou ainda a do “se”.

O José Correia alertou que precisamos usar mais a APT no Brasil, afinal ela é uma continuação de uma metodologia válida, e é bem usada na Europa, o que mostra que ela pode sim nos auxiliar nas estimativas.

No final o palestrante ainda comentou sobre outras formas de estimar:

  • Top down
    • Custos
    • Restrições
    • Ponto de Função
    • Cocomo
  • Julgamento experiente
  • Botton up
    • Baseado na WBS

E ainda José Correia nos contou duas novidades, o lançamento do Comitê de Estimativas e da BLAETS (Base Latina Americana de Estimativas de Teste de Software) um projeto que visa proporcionar a todos da área, uma fonte para obter estimativas de esforço no Teste de Software.

E para o desenvolvimento da BLAETS nós precisaremos ajudar, pois ela será construída a partir de dados fornecidos por nós. A ALATS irá coletar, analisar e divulgar tais dados, que não terão nenhuma informação particular, como os dados da empresa.

Mais uma boa iniciativa, e o sucesso dela só depende da comunidade brasileira de Teste de Software, ou seja, de nós mesmos.

Coffee Break

O coffee break foi um momento ímpar do encontro, além dos excelentes salgados e doces, o restaurante estava cheio e foi um bom momento para conversar com o pessoal. Aliás, tive o prazer de conhecer pessoalmente o Elias Nogueira e também o Robson Agapito, junto com o pessoal da Mega, e também algumas pessoas que já visitaram o QualidadeBR. 🙂

Encontro

O segundo encontro foi muito bom, uma oportunidade única para entender melhor a APF e APT, e ainda aproximar mais a comunidade de Teste e Qualidade de Software.

Parabéns a Cristiane pela palestra, ao José Correia e o pessoal da Iterasy (que auxiliam a organização do evento) por mais um encontro e pelo esforço dedicado, e também a todos os participantes, afinal sair do trabalho e ir para o encontro não é fácil.

E para encerrar esse post, nada melhor do que falar sobre o 3º encontro mensal, que terá Fábio Martinho Campos, grande especialista da área, palestrando sobre Teste de Performance, no dia 16 de junho no IMAM.

Abraços a todos! E até o próximo encontro! 🙂

Saiba mais:

Quem quiser saber mais sobre os encontros mensais da ALATS em São Paulo, e também fazer o download da apresentação do 2º encontro, segue abaixo o link:

http://www.alats.org.br/Default.aspx?tabid=144

Fique por dentro das novidades, assine o feed do QualidadeBR.

O melhor da semana: 03/05 a 09/05

Pessoal,

Aqui começa uma nova série de posts, “O melhor da semana”, que trará notícias, artigos, posts, etc relacionados a área de Teste e Qualidade de Software.

O intuito dessa série é divulgar o bom trabalho de pessoas que contribuem para a nossa área e também enriquecer o conteúdo do QualidadeBR, para você querido(a) leitor(a).

Além disso, há muitos assuntos que eu gostaria de comentar aqui no QualidadeBR, mas infelizmente falta tempo. E com “O melhor da semana” poderei trazer matérias que li durante a semana, e que achei interessante sobre tais assuntos.

E você, caro(a) leitor(a) também poderá contribuir, deixando o seu comentário sobre algo que viu e achou interessante. 🙂

Vamos para o primeiro “O melhor da semana”:

Bem é isso pessoal, por hoje é só. Espero que vocês tenham gostado do primeiro post da série “O melhor da semana”. 🙂

Fique por dentro das novidades, assine o feed do QualidadeBR.

Técnicas de Integração de Sistema – Big Bang e Sandwich

Para finalizar a série de posts sobre técnicas de integração de sistema, irei abordar a técnica Big-bang e a Sandwich.

Big-Bang

big-bang

Na técnica Big-bang, os módulos são testados isoladamente e depois integrados de uma só vez, como pode ser visto na figura abaixo.

Integração usando a técnica Big Bang

Para executar uma integração usando a técnica Big-bang necessitamos de stubs e drives para testar os módulos isoladamente.

Ela é normalmente usada devido às pressões do dia a dia e os testes são aplicados para demonstrar uma operabilidade mínima do sistema.

O maior problema do uso da técnica Big-bang é caso haja alguma falha na interface de um módulo com outro, pois neste caso, será difícil ser preciso e encontrar a causa da falha. Já que ela é uma técnica que usa uma abordagem não incremental.

Vantagens

  • Conveniente para sistemas pequenos

Desvantagens

  • Necessita de drivers e stubs para cada módulo;
  • Só permite o teste em paralelo no início dos testes;
  • Localização difícil da falha;
  • Fácil perder falhas de interface.

Sandwich

Sanduíche de mortadela do Bar do Mané no Mercadão SP

Na técnica Sandwich, um sistema é integrado misturando a técnica Top-down com a Botton-up, dividindo o sistema em três camadas:

  • Lógica – camada que contém os módulos que são mais frequentemente chamados. Esta camada é testada utilizando a técnica Bottom-up;
  • Meio (middle) – são os restantes dos módulos;
  • Operacional- camada que contém os módulos principais, do ponto de vista operacional. Sendo testada utilizando a técnica Top-down.

Muitas vezes uma abordagem combinada Top-down para os níveis superiores e Botton-up para os níveis inferiores pode ser o melhor ajuste para o teste de integração da sua aplicação. Se os níveis superiores da estrutura do programa forem integrados de cima para baixo, o número de drivers pode ser reduzido substancialmente na integração dos módulos inferiores. Agora se os módulos inferiores forem integrados de baixo para cima, o número de clusters (módulos que executam uma sub-função do sistema) pode ser reduzido substancialmente na integração dos módulos superiores.

Usando a técnica Sandwich a integração é mais flexível e adaptativa, porém ela é mais complexa de ser planejada.

Comparação

Para encerrar o último post dessa série, segue abaixo, uma tabela comparativa das 4 técnicas de integração que vimos nessa série:

Tabela Comparativa

Fique por dentro das novidades, assine o feed do QualidadeBR.

Fonte:

Chapter 8 – Testing the Programs, Software Engineering: Theory and Practice: wps.prenhall.com/wps/media/objects/3087/3161346/slides08.ppt

V. Binder. Testing Object-Oriented System: Models, Patterns, and Tools. Addison Wesley, 2000.

Aula 13 – Teste de Software, Walter de Abreu Cybis: http://www.inf.ufsc.br/~cybis/ine5322/Aula13_Teste_de_SW_cont.pdf

System Integration, Dr. Stéphane S. Somé. University of Ottawa: http://www.site.uottawa.ca/~ssome/Cours/SEG3203/integration.pdf

Impressões exame IBM 000-370

Foi hoje de manhã o meu exame da certificação IBM Certified Specialist – Software Quality. Acertei 67% (30 questões) e precisava ter acertado 71% (32 questões) das questões.

Mas mesmo com o resultado negativo, fiquei feliz e até surpreso com o resultado, pelo pouco tempo de estudo que dediquei. 🙂

Abaixo segue as impressões que tive do exame e também algumas dicas para aqueles que irão fazer o exame.

Dificuldade

O exame oferece um alto grau de dificuldade, devido as seguintes características:

  • Baseado em um conteúdo muito extenso;
  • Há muitas questões com alternativas parecidas, e você tem que escolher a melhor alternativa;
  • Os conceitos que caem no exame são de acordo com a IBM, e alguns são bem diferentes dos usados pela maioria.

Idioma

O exame é em Inglês, a maioria das questões usam termos técnicos, e se você não teve dificuldade com as questões existentes no material de estudo, o idioma não será um problema. Mas por via das dúvidas é bom levar um dicionário.

Duração

O exame tem duração de 60 minutos, é tempo suficiente para fazer as questões e até revisar as que você ficou em dúvida.

Resultado

O resultado sai na hora e mostra até a porcentagem de acertos em cada área (Engineering Quality in Software Development, Software Quality e Software Testing).

Dicas

Para o estudo para a certificação há basicamente duas táticas que podem ser seguidas:

  • Ler todo o material;
  • Ler o material de acordo com os objetivos do exame.

A primeira é boa para quem quer, além de obter a certificação, aumentar o conhecimento sobre as áreas de abordadas. E uma boa é que o material abrange muitos assuntos que nós que trabalhamos com Teste e Qualidade de Software, não vivenciamos, mas que são legais de saber.

Já a segunda tática é a ideal para quem objetiva a obtenção da certificação e não está com muito tempo para os estudos. Usando ela aconselho estudar os seguintes módulos, prestando atenção aos objetivos do exame [1]:

  • Engineering Quality in Software Development
    • Creating Secure Software
    • Essentials for Unit Testing
    • Estimating Effort for Development Tasks
    • In-Process Metrics for Software Developers
    • Inspections in the Software Lifecycle
    • Static Code Analysis
    • Topics in Design – Design Review Checklist
  • Software Quality
    • Todos os módulos
  • Software Testing
    • Todos os módulos

[1] http://www-03.ibm.com/certify/tests/obj370.shtml

Eu acabei usando uma terceira tática (rsrs), estava sem tempo de estudar, então só fiz as questões de cada módulo. O que até ajudou bastante na prova, pois essas questões são focadas geralmente nos objetivos das lições e algumas até apareceram no exame.

Agora é aguardar a volta da certificação aqui no Brasil! 🙂

Boa sorte aos que ainda irão prestar o exame!

Fique por dentro das novidades, assine o feed do QualidadeBR.

E quem quiser saber mais dicas sobre o exame, entre no grupo Certificações – Qualidade e Teste de SW, do Fábio Martinho Campos, lá ele deu várias outras dicas para o exame.