sexta-feira, 31 de agosto de 2007

Sessão Curiosidades Mensal de 08/2007

Pessoal,

este mês ver um pouco de história. Não precisa se falar muito, mas vendo a imagem podemos ver a os principais marcos de evolução da web e de seus principais componentes até chegarmos até a famosa Web 2.0.

Antes de tudo no link abaixo, um esclaresimento sobre o que é Web 2.0. Todo mundo fala, diz que está na moda. É valido, mas qualquer onda tem de ser entendida pois é inevitável. Mas já estamos vivendo a a preparação da Web 3.0 (JÁ!!!! TÃO RÁPIDO???...).

http://www1.folha.uol.com.br/folha/informatica/ult124u20173.shtml

Em resumo: na Web 2.0 teremos iteração, participação e compatilhamento com o usuário das informações. Os blogs já são Web 2.0. Em outras palavras: o enfoque com o qual vemos a tecnologia e sua iteração com o mundo mudou (essa é a Web 2.0). Na Web 3.0 a Web é seu HD: a Web vira um grande Banco de Dados compatilhado por todos, em parte isso já é. TecnologiaS com Skype e fazem com que estejamos em parte na Web 2.0 já caminhando para a Web 3.0.

Mas lembre-se: por mais que a tecnologia esteja sempre mudando e mudando as pessoas e o que está ao seu redor, o mundo corporativo não muda da noite pro dia. Investimentos são feitos a longo prazo. Mas é fato consumado que as empresas não podem se manter distantes das mudanças por muito tempo.

A história sempre se repete, pois aqueles que não acompanham as mudanças ou as deixam de lado são notoriamente deixados de lado pela história.

Abraços,

Leonardo Molinari

quinta-feira, 30 de agosto de 2007

UM BUG DE RESPEITO - CASO SKYPE





Pessoal,



vocês souberam pela mídia que no último dia 16 de agosto, o Skype ficou fora do ar e só voltou 48 horas depois.

Mas o que levou ao Skype ficar fora do ar? Tente advinhar? Veja as opções e descubra a resposta mais abaixo.

(1) Ataque de hacker.
(2) Falha de Banco de Dados
(3) Patch do Windows
(4) Falhas nos servidores do Skype
(5) Opções (1) e (4)

Pense...

Veja a resposta abaixo (marque o texto pois a resposta está escondida):

*****(inicio)*****
Patch do Windows = uma atualização default do Windows forçou o reset de todos os usuários cadastrados no Skype. Situação de: "Quando o certo dá errado".
Lição: Antes de atualizar algo, teste o pacth em uma máquina separada p/ ver se algo dará errado.
******(fim)******

Abraços e pensem antes de fazer qualquer coisa...
Leonardo Molinari

terça-feira, 28 de agosto de 2007

MINHA PALESTRA NO CONGRESSO DE TESTES

Pessoal,

a minha palestra no congresso da ALATS está definida. Vejam o slide de abertura acima.

Vejam no link abaixo da ALATS o resumo da minha palestra, horário, etc. Vale a pena ir a este congresso. O tema é polêmico e o congresso vai ser ótimo.

http://www.alats.org.br/default.aspx?tabid=111

Abraços e passem lá,

Leonardo Molinari

domingo, 26 de agosto de 2007

Frase da semana de 27 a 31 de agosto





Amigos,



para todos nós refletirmos aqui vão duas frases ou pensamentos da semana:



"Se queres ser feliz amanhã , tenta hoje mesmo."
Liang Tzu...

"Não basta conquistar a sabedoria, é precisa usá-la."
Cícero...

Abraços

Leonardo Molinari

Otimização de Sistemas - Parte 05 - Principais Problemas de Escalabilidade de Aplicações Web em Banco de Dados



Pessoal,

continuando a nossa série de Otimização, famos tratar agora de problemas de Escalabilidade em aplicações Web, no caso problemas que devemos observar para Banco de Dados e Sistemas Externos. Outros grupos de problemas estaremos vendo nos artigos posteriores a este.

-Quais os principais problemas de performance que devemos observar?

Vejamos abaixo uma lista geral:

Grupo de Problemas relativos aos Application Servers (A.S.):

(visto no artigo anterior)

Grupo de Problemas relativos aos Web Serves (W.S.):

(visto no artigo anterior)

Grupo de Problemas relativos a Rede/Network:

(visto no artigo anterior)

Grupo de Problemas relativos a Sistemas Externos:

27- Problema: Todo Sistema Web (interno) funciona satisfatoriamente mas a performance global do sistema ainda não é ideal.

Indicador: Baixas performance indica baixo tempo de resposta, baixo quantidade de páginas por segundo ou baixa quantidade de transações por segundo. Os critérios de performance (metas) não foram atingidos.
Possíveis soluções:
> Verifique as conexões com sistemas externos ao sistema-alvo e suas interações. O tempo de resposta na chamada a um sistema externo pode ser um gargalo considerável. Um exemplo comum é validação de cartão de crédito, que é feita externamente.

Grupo de Problemas relativos a Banco de Dados:

28- Problema: Grande número de requisições na fila do Application Server, mas com o mesmo tempo de resposta do Application Server baixo.

Indicador: Veja indicador de requisições na fila do Application Server.
Possíveis soluções:
> Verifique se há um grande número de conexões do Application Server para oBanco de Dados. Muitas vezes é um erro de configuração de JDBC. As vezes aumentar a quantidade de conexões permitidas no JDBC já resolve o problema de performance.

29- Problema: Baixo Performance de Queries no BD.

Indicador: Veja alguma transação ou página específica está muito lenta.
Possíveis soluções:
> Verifique queries e stored procedures no BD usando os avaliadores de índices. Veja se o query Plan está correto e otimizado. Otimize as queries desejadas seja minimizando sortings inúteis, triggers desnecessários, tabelas temporárias em sentido, ou parametrizando o máximo possível stored procedures. Resumo: otimize o máximo possível.

30- Problema: Performance geral do BD lenta.

Indicador: Veja alto índice de utilização do BD para baixa quantidade de usuários, em especial quando os testes são executados.
Possíveis soluções:
> Verifique se os patches do BD relativos a otimização e performance foram aplicados. Verifique se o BD está configurado em ótimo ajuste de acordo com o fornecedor.

31- Problema: Performance geral do BD lenta, mas com grande volumes de dados sendo trocados entre o Application Server e o Database Server.

Indicador: Veja alto índice de utilização do BD para grande volume de dados movimentados.
Possíveis soluções:
> Verifique se queries e stored procedures são recompiladas a cada execução. A pré-compilação em stored procedures em geral ajuda muito.

32- Problema: Alto uso de espaço em disco no Database Server.

Indicador: Disk IO alto é um ótimo indicador para isto:
> Verifique índices, tabelas, ou outro objetos de grande são armazenados em discos separados e de forma não lógica. Verifique se todas as queries utilizam algum índice. Veja se o Database Server tem memória suficiente e como está a configuração do cache.

33- Problema: Baixa Performance em Multi-usuário no BD.

Indicador: Alto índice de tabelas e transações em "locked". Veja através dos monitores do BD:
> Verifique as transações utilizadas e executadas de modo que as mesmas sejam otimizadas ao máximo para cenários em caso de Multi-usuários. Modifique ou reveja as estratégia de "locked" das tabelas e objetos.

34- Problema: Baixa Performance de Query.

Indicador: Tabelas com alto índice de scan:
> Verifique os índices. Pode haver algum não criado ou algum novo que precise ser criado.

PS: A série de Otimização não termina aqui. Temos muitos outros tópicos a abordar!


Fontes

  • MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no Desenvolvimento do Software, Editora Visual Books, 2007, Florianópolis, 85-7502-210-5.

  • ___________. Gerência de Projetos - Técnicas e Práticas com Ênfase em Web, Editora Érica, 2004, São Paulo, 85-7194-0050.

  • ___________. BTO - Otimização da Tecnologia de Negócio, Editora Érica, 2003, São Paulo, 85-7194-9506.

  • ___________. Testes de Software - Produzindo Sistemas Melhores e Mais Confiáveis, Editora Érica, 2006, 3a Edição, São Paulo, 85-7194-959X.

  • STICKYMINDS. Endereço: http://www.stickyminds.com/. Acesso em julho de 2007.

sexta-feira, 24 de agosto de 2007

AS CRIANÇAS DO BRASIL AGRADEÇEM

Pessoal,

A Qualidade é algo lindo de ser visto quando valorizada.

Ontem na Globo News (23/08), no Jornal Em Cima Da Hora, anúnciava que as empresas Brasileiras precisam se adaptar as normas de Qualidade e exigências internacionais. E que devido aos problemas com os brinquedos importados, o Brasil passaria a ser exigente independentemente dos mesmos já terem algum selo de qualidade ou não. Motivo: excesso de pirataria em brinquedos, que são construídos com materiais de baixa Qualidade e que podem por em risco a saúde de todos.

As crianças do Brasil inteiro agradeçem. Muita coisa boa ainda estar por vir.

"O mundo pertence aos otimistas; os pessimistas são meros espectadores".
Eisenhower

Abraços,

Leonardo Molinari

quinta-feira, 23 de agosto de 2007

QUALIDADE NÃO PODE SER EVITADA

Pessoal,

vejam na matéria da Computerworld. Os rumores sobre a necessidade de Testes e Qualidade não param. Mas Qualidade não é somente Testes...

Você pode NEGAR a Qualidade.
Você pode FINGIR que não precisa dela.
Você pode FALAR MAL dela.

Mas o que não pode
e nunca conseguirá fazer é EVITÁ-LA.

Seu NEGÓCIO para sobreviver precisa dela.

Abraços e vejam a reportagem abaixo.

http://computerworld.uol.com.br/gestao/2006/10/04/idgnoticia.2006-10-04.5523272156/

Leonardo Molinari

quarta-feira, 22 de agosto de 2007

RECOMENDO - VEJA NOVO LIVRO DO CRISTIANO CAETANO

Pessoal,

foi lançado na web ontem o novo livro do Cristiano Caetano (vejam o link de seu Blog na minha lista de links a direita). Como tive o prazer de fazer o prefácio do mesmo, acompanhei o "nascimento" do livro em todas as suas etapas.

É um livro (que é um e-book na verdade) muito interessante pois é um grande "guia" de ferramentas opensource, de maneira que você pode montar um ambiente de ferramentas opensource usando as ferramentas citadas no livro. Vale a pena a leitura com certeza, ou tê-lo como referência no mínimo.



Espero que gostem também de meu prefácio.

Vejam o livro e sua resenha nos links:




http://www.linhadecodigo.com.br/Artigo.aspx?id=1392

http://www.linhadecodigo.com.br/EBook.aspx?id=2951

Fiquem a vontade pois quando a literatura vale a pena, irei citá-la sempre!

Abraços

Leonardo Molinari

ABISMO ENTRE DESENVOLVEDOR E TESTADOR


Pessoal,

ao longo dos anos criou-se uma "lenda" que quem desenvolve não gosta de testar, e quem testa não gosta de desenvolver. Em parte isto é verdade mas este abismo tem diminuído (e muito) devido a automação de testes.

A diminuição do "abismo" se deve porque devido ao excesso de reclamações juntos aos desenvolvedores devido a má qualidade do código que era mal testado. Então com uso de ferramentas de caixa-branca e de teste unitário, principalmete este último, os desenvolvedores passaram a testar, criando frameworks de testes para que usar e reusar nos seus testes particulares.

Por outro lado os testadores precisaram entrar fundo no uso de lógica de programação e aprender a programar dentro das ferramentas automatizadas, que passaram a gerar dentro dos scripts de testes uma série de comandos que poderiam utilzados e reutilizados mediante o uso de conceitos de programação. Muitos testadores tiveram problemas devido ao fato de faltar-lhes um embasamento em "lógica" para criar os scripts de forma adequada.

Os desenvolvedores passaram com o advento da XP (extremme programming) fortalecer o seu novo ponto-de-vista. Mas ainda falta-lhes de fato o entendimento em conceitos básicos de testes. Do outro lado, com o advento de ferramentas de testes "visuais" (onde se usa muito menos programação e lógica) os testadores se esqueceram em parte de resolver essa pendência "de lógica" em seus curriculuns.

O que se constata é que as grandes literaturas dos grandes "pensadores em testes" pouco falam em técnicas e estratégias em automação de testes. Muitos testadores dizem ainda para os desenvolvedores: "antes de sair testando vai ler um pouco de Beizer, Meyers, Jorgensen, Kaner, Bach e Copeland para aprender a testar". Do outro lado muitos dsenvolvedores dizem: "idiota, o emprego deste cara ainda vai ser instinto"...

Ambos estáo errados. Ambos precisam um do outro, se olharmos sob ponto-de-vista de testes.

Ambos os lados evoluiram, mas um continua achando que o outro não sabe...

Abraços,

Leonardo Molinari

terça-feira, 21 de agosto de 2007

PALESTRAS - CONGRESSO DE TESTES


Pessoal,

no Rio de Janeiro, em Outubro, haverá um congresso de Testes de Software patrocinado pela ALATS. Estarei lá como palestrante. O evento será muito interessante e as vagas são limitadas. Corram e se inscrevam...



Quem não teve a oportunidade de me conheçer ao vivo, em termos de palestra, terá esta chance pois em geral as minhas palestras são muito bem recebidas. Os temas das outras palestras serão muito interessantes também...

Passem lá. Será um prazer.

Abraços,
Leonardo Molinari

PREÇO DA QUALIDADE - IMPACTO NA CHINA


Pessoal,

um crescer com cerca de 9 a 10% ao ano, é uma loucura. Assim está a China. Um dos fatores de "sucesso" está no preço baixo dos produtos. Porém se não houver um Controle de Qualidade alguém vai dançar...

Vejamos o caso recente das Bonecas da Matel que fizeram Recall. Ironico não? As bonecas eram fabricadas na China...

Lá por conta destes problemas de Qualidade, cerca de 400 fábricas foram proibídas de exportar. Os concorrentes agradeçem.

Quando de trata de segurança ou risco a saúde não devemos abrir mão da Qualidade. Senão o preo a pagar depois é muito maior...

Vejam a reportagem no Jornal Nacional no link abaixo...

http://jornalnacional.globo.com/Jornalismo/JN/0,,AA1609921-3586-714032,00.html

Oficialmente o governo chines informou que não há motivo para alarme,
porque a maioria (ou quase todos) dos produtos sao testados.
Mas serãoi tomadas medidas para melhorar a qualidade.
Porém algumas são radicais. Vejamos o caso de Zheng Xiaouyu,
diretor do departamento que fiscaliza alimentos e remedios,
foi condenado a morte. Ele recebeu propina para aprovar um
antibiotico que matou dez pessoas.

Veja o outro lado da moeda: Má Qualidade pode Matar.

Já pensou nisso?...

Abraços

Leonardo Molinari

domingo, 19 de agosto de 2007

REVENDO DIFERENÇA ENTRE DEFEITO E FALHA

Pessoal,

devido a algumas as pessoas não terem entendido 100% a diferença entre defeitos e falhas, vou formalizar isto através de exemplos e comantários meus postados em respostas. Afinal, como você poderia pensar em um plano-contra-falhas e disastres senão entender esta diferença...

Antes vejamos um pouco de Dilbert sobre "bug"... Riam a vontade novamente:

Veja as diversas explicações entre Defeito e Falha (também conhecida com "Bug"):

Explicação 0 (zero):

Defeito é uma não conformidade, isto é, não está de acordo com algo formal tal qual um requisito. Uma falha é qualquer problema que possa ocorrer no sistema, tal qual um "carro" que tentamos ligar e o mesmo não "pega". Não ligar não quer dizer que o carro tenha um defeito (que é algo permanente e caractiezado) , mas que falhou, falhou ao ser ligado.


Explicação 1:

Imagine um carro que você comprou zero. Você verifica todos itens do carro (step, motor, radio, um pouco de gasolina, etc) e os mesmos estão lá (incluindo o manual do carro). Você sai dirigindo o carro e depois de 5 kilometros o carro resolve "engasgar"... e tanto engasga que para e afoga o motor. "Mas como pode???"... O que vc viu é problema do carro, uma falha grave. "Como um motor novo engasga???".. Ai você olha o manual e vê no manual escrito (PRESTE ATENÇÃO NO TEXTO): "O carro foi projetado para depois de 5 kilometros parar devido ao motor ser ultra-compacto. Sendo portanto o motorista obrigado a parar o carro a 4,9 km."... Como você o carro foi projetado assim, desse jetio maluco, que na pratica é uma falha, mas não um defeito. Defeito seria se no texto acima estivesse escrito "100 km" ao inves de 4,9km. Percebeu a diferença. Defeito é algo especificado por alguem e escrito e falha é qualquer problema, que pode ou não ser uma falha.

Explicação 2:

Se um sistema foi projetado para ter no maximo 100 (cem) usuarios simultaneos usando o sistema, porém quando temos 500 usuarios o sistema para, esta parada é defeito ou falha? É uma falha sempre e mas não é defeito porque ainda não está escrito em nenhum lugar que ao ter 500 usuarios o sistema pararia. Pra ser defeito tem de estar escrito e documentado previamente.

Explicação 3:

Imagine que você compra um esmalte de unha, e você usa-o e sua unha fica azul. Sua unha fica linda com o esmalte novo e você amou o esmalte novo. Eis que de repente você olha no rotulo do esmalte e está escrito: esmalte vermelho. O que vemos é um defeito ou uma falha? É um defeito (o que está na embalagem não condiz com o conteudo) mas NÂO é uma falha pois o esmalte funciona e não dá alergia e fica lindo.

Temos 4 situações importantes quando tratamos de defeitos e falhas:

-Há defeito e há falha (ex: o que está escrito não funciona)
-Não há defeito e há falha; (ex: está documentado o problema e o problema/falha faz parte do funcionamento do objeto)
-Há defeito e não há falha (ex: o sistema funciona ok mas não é o que o usuário pediu)
-Não há defeito e não há falha (o sistema funciona 100% conforme pedido e nada de problema foi encontrado);

Acredito que a diferença entre defeito e falha está mais clara agora...

[]s

Leonardo Molinari

Frase da semana de 20 a 24 de agosto




Amigos,



para todos nós refletirmos aqui vão duas frases ou pensamentos da semana:



"Paciência e nada de pressas fazem mais do que a força e a ira."
La Fontaine...

"Seja no que for, temos de ter em conta a finalidade."
La Fontaine...

Abraços

Leonardo Molinari

RESULTADO FINAL - O QUE VOCÊS GOSTARIAM

Pessoal,

Vocês decidiram: mais de 50% dos votantes indicaram que o tema abaixo será colocado no meu próximo livro (é segredo ainda o tema!!!!):

Como Criar Casos de Testes




Transparência 100% e com participação total.

Abraços e muito obrigado pela participação,

Leonardo Molinari

sexta-feira, 17 de agosto de 2007

SUCESSO ABSOLUTO DO DIÁRIO DA QUALIDADE


Pessoal,

em menos de 2 meses o Diário da Qualidade atingiu mais de 2.000 acessos (DOIS MIL) !!!!

Acredito que seja pelo fato de ser transparente ao máximo e realmente apoiar o Leitor que passa por aqui de uma forma aberta e sincera... sem enrrolações!!!

Vejam abaixo estatísticas.
Os fatos mostram por si.




Abraços a todos. Não se esqueçam: novidade aqui tem sempre!!!

Leonardo Molinari

CONTOS TECNOLÓGICOS DE QUALIDADE - 05



Contos Tecnologicos: Um Teste Além da Imaginação


Texto:

Numa zona nebulosa, num local não muito distante daqui
veremos uma falha de caráter transformar um homem

Ele era um trabalhador normal como qualquer
outro, ou melhor, um testador como qualquer
outro. Mas alguma coisa estava para acontecer
naquele dia... uma coisa além de suas forças,
uma coisa além da imaginação...

Depois de um dia monótono sem quase nada para testar,
o testador, mas conhecido como Zezinho, resolveu levantar
de sua cadeira e ir tomar um café... perdeu quase duas
horas tomando várias xicaras e comendo vários biscoitos...
Preguiça ele tinha sempre para tudo. Não se preocupava
com nada...

Quando voltou estava em sua mesa um envelope com data
e hora de entrega: era de seu gerente
que havia entregado
uma especificação e necessidade de um teste pontual,
mas que ele
precisaria de pelo menos umas 4 horas para fazê-lo.
O problema estava aí: a hora de entrega era
daqui a 30 minutos
e ele já havia perdido duas horas e meia...

Não dava para voltar ao passado e ganhar
estas horas perdidas de volta.
Se ele não realizar a tarefa pedida era demissão certa.

O que fazer????

Sentou na cadeira. Leu o documento em detalhes.
Já havia gasto quase 20 minutos.

Faltavam 10 ainda...
tic-tac o relógio de sua mesa fazia, tal qual um som
de chicote a torturar... tic-tac tic-tac...

Resolveu navegar pela aplicação tentando
simular a situação de testes desejada. Pouco fez
e nada encontrou. Olhou a data dos arquivos-fonte
e nenhum dos que envolviam a tela haviam sido alterados.
Nem o Banco de Dados havia sido alterado esses dias.
Navegou pelo Help. Leu algumas linhas. Ele conhecia
muito bem a aplicação testada. Nada...

Resolveu fechar os olhos e pensar... tic-tac tic-tac...

Se concentrou e pronto!!! Ele optou por validar
a aplicação no feeling. Afinal, esta técnica de teste
existe e não é muito recomendada, exceto em casos
extremos e para quem conheçe muito, muito mesmo a aplicação.

Estava validada.

Escreveu o e-mail de confirmação. Pronto!
Parecia que havia tirado um mundo de suas costas...

Para sua sorte a aplicação entrou em produção sem erros.
Mas isto ele não sabia...

Passaram-se meses, mas toda vez que falavam da tal aplicação
ele tremia de medo... sua concieência sempre pesada lhe cobrava
uma postura diferente. Deste então passou a ficar em alerta, seja por
profissionalismo ou por culpa, muita culpa...

Isto aconteceu numa local perto de você...
ou Além da Imaginação.

Autor: Leonardo Molinari

quarta-feira, 15 de agosto de 2007

*** ENTREVISTA COM IVO MICHALICK ***



ENTREVISTA SOBRE INOVAÇÃO E EXPORTAÇÃO
DO SOFTWARE BRASILEIRO COM IVO MICHALICK


-MOLINARI: Ivo, é um prazer enorme tê-lo como entrevistado aqui
em meu Blog. Para quem não sabe, Ivo Michalick é Diretor de
Projetos da Vetta Technologies e, moderador do Yahoo Groups
CMM-Brasil.
A intenção aqui é batermos um papo bem vontade sobre
exportação e inovação do Software Brasileiro. Antes de
começarmos, conte-nos um pouco de sua grande caminhada
profissional, sua empresa, etc. até chegarmos aos dias
de hoje: um profissional que possui "Gerência de Projetos no
Código-genético". Muito Obrigado!

-IVO MICHALICK: Minha formação (graduação e mestrado)
foi em Ciência da Computação no
DCC da UFMG, uma instituição bastante conceituada no mercado
nacional. Nestes 22 anos de trajetória profissional já fiz muita coisa,
vou tentar sumarizar:

- 10 anos em projetos de automação industrial, em segmentos como
eletricidade, defesa, oil & gas, dentre outros;
- 3 anos trabalhando nos Estados Unidos, gerenciando um dos projetos
de desenvolvimento do SIVAM;
- 5 anos trabalhando com projetos de P&D, com recursos de instituições
como FINEP, ANEEL e MCT (Lei de Informática);
- atuação como gerente de projetos internacionais de desenvolvimento
de software desde 1998;
- vários artigos publicados em revistas e anais de congressos e
seminários, sobre temas ligados a gerenciamento de projetos;
- a partir de 2004 passei a ter uma atuação profissional 100% focada
em gerenciamento de projetos, deixando mais de lado a atuação
como técnico
(até então sempre busquei trabalhar os dois lados). Obtive naquele
ano a credencial PMP do PMI, tornei-me voluntário do PMI-MG,
capítulo
mineiro do PMI, onde atualmente ocupo a V.P. de Certificação e
Estudos Técnicos, passei a dar aulas, ministrar cursos, publicar
artigos e
apresentar palestras sobre temas ligados a gerenciamento de
projetos, programas e portfólios (PPPM - Project, Program and
Portfolio Managament).

Estou na Vetta Technologies, uma empresa mineira que desde
seu início buscou uma atuação internacional, desde o final do ano
passado. Coordeno o nosso PMO, gerencio alguns projetos de
desenvolvimento de software e sou responsável por uma unidade de
negócios de consultoria em PPPM.

No Yahoo! eu coordeno alguns grupos de discussão sobre temas
de meu interesse, dos quais o mais conhecido é o CMM-Brasil, que
criei no final de 2004.

Bom, acho que é isto.

-MOLINARI: Gostaria de aproveitar o fato de ter saido na mídia
recentemente a nova pesquisa do IBGE, a
Pesquisa de Inovação Tecnológica (Pintec 2005), e ter sido publicada
no final do mês de julho deste ano.
Quais suas primeiras conclusões a respeita dela?

-IVO MICHALICK: Houve melhorias, mas bem abaixo do que está
acontecendo em países concorrentes. E acho que nossas empresas
ainda dependem muito de
recursos financiados ou a fundo perdido originários de órgãos públicos
de fomento, ainda temos pouco difundida a cultura de que vale a pena,
em termos de negócio, investir em inovação, tanto é que registramos
um número incrivelmente baixo de patentes por ano, considerando o tamanho
da nossa economia.

-MOLINARI: O que você acha do fato de São Paulo reunir mais
de 35% das empresas com perfil inovador (pesquisa
Pintec 2005), e os gastos com inovação das empresas paulistas
representarem 55% do bolo principal? Isso é
um fato importante...

-IVO MICHALICK: São Paulo ainda é a "locomotiva" da nossa
economia, e por ser um mercado mais competitivo conta com
empresas mais maduras, que sabem que
vale a pena investir em inovação.

-MOLINARI: Quais os outros mercados nacionais que merecem
atenção a curto e médio prazo? O sul do Brasil
é um polo de Qualidade de Software reconhecido. MG tem se aberto
cada vez mais e já começa ameaçar outros
estados, em termos de concorrência. O que você acha disto tudo?

-IVO MICHALICK: Eu não falaria exatamente em ameça, pois
nossa verdadeira concorrência
vem de fora. Acredito em pólos e APLs (Arranjos Produtivos Locais),
e acho que tem muita coisa interessante, puxada por agentes
SOFTEX e
representações estaduais do SEBRAE, dentre outras organizações,
em vários pontos distintos do país, como Santa Catarina, interior
de São Paulo (a região de Campinas impressiona, parece até que
estamos em outro país!), Recife (com o pólo tecnológico do
Centro Histórico),
Campina Grande, sul de Minas e Manaus, dentre outros.

-MOLINARI: Em termos de inovação, as Telecomunicações,
Informática e P&D (Pesquisa e Desenvolvimento) lideram
o ranking na pesquisa da PINTEC 2005, ao mesmo tempo a
industria tradicional perdeu espaço na inovação. Isso
é uma tendência clara, ou apenas foto momentânea?

-IVO MICHALICK: Por conta da Lei de Informática e do foco
de boa parte dos editais da
FINEP e das agências estaduais nestes setores isto é uma
consequência natural. A indústria tradicional reduziu investimentos
devido ao baixo
índice de crescimento registrado nos últimos anos, e a continuar
desta forma corre o risco de perder cada vez mais espaço
para a concorrência
externa. Infelizmente, no momento acho que esta é uma tendência
clara, e não apenas momentânea.

-MOLINARI: Até quando o setor de informática será um dos
líderes deste índice?

-IVO MICHALICK: Acho que sempre, pois este é um setor
importante de apoio à Inovação nas empresas.

-MOLINARI: Recentemente em relatório levantado pela revista
inglesa The Economist colocou o Brasil a
Frente da Índia no ranking de Inovação de TI. Isso é um bom ou
um mau sinal? O que isso mostra de fato? O que devemos fazer
para subir de fato no ranking de forma consistente?

-IVO MICHALICK: Li e ajudei a divulgar o relatório entre
colegas brasileiros - ele pode ser obtido gratuitamente
em http://tinyurl.com/24knct
, e acho que não dá para ficarmos satisfeitos por hoje estarmos
à frente da Índia, pois eles começaram a partir de um ponto
bem pior do
que o nosso, como aconteceu com a Coréia do Sul, hoje
bem à nossa frente. Isto mostra que temos muito trabalho pela frente,
se quisermos
nos manter competitivos num mercado internacional cada vez
mais interligado. O que fazer? Isto seria tema para um verdadeiro tratado,
mas aqui vão alguns pontos:

1. Reduzir o famigerado "custo Brasil";
2. Reforçar a política de formação de APLs que levem em conta
as vantagens comparativas das regiões em que estiverem inseridos.
Exemplo positivo:
indústria aeronáutica na região de São José dos Campos.
Hoje a EMBRAER pode ser a maior, mas não é a única empresa
da região que exporta;
3. Rever o formato de boa parte de nossos cursos superiores de
formação mais técnica, em especial as engenharias,
pois está claro que
os recém-formados estão com uma formação dissociada do que
vem pedindo o mercado;
4. Investir no ensino do inglês, língua universal dos negócios
(ao menos por enquanto, afinal os chineses estão vindo com tudo!);
5. Rever a situação cambial, que está dificultando demais a vida de
pequenas empresas que exportam produtos e/ou serviços.

No caso de cada um de nós, é preciso investir o tempo todo
em capacitação e crescimento profissional. Temos que
estar prontos para
agarrar a primeira oportunidade de atuação internacional
que surgir diante de nós, pois mesmo que ela não venha
isto nos deixa melhor
preparados para o mercado de trabalho local.

-MOLINARI: Inovação é sinônimo de exportação?
Qual a relação deste binômio com mercado brasileiro?

-IVO MICHALICK: Depende do segmento, mas acho que
fora o de commodities (se bem que mesmo neste segmento
inovação pode ser uma vantagem competitiva - tem
gente no Brasil literalmente "tirando ouro de pedra!) todo
segmento que queira exportar tem a ganhar com investimento
em inovação e melhoria de
processos. Vale de novo o exemplo da EMBRAER, e ainda
o da nossa indústria automobilística, que nos últimos anos
parece que acordou e
hoje exporta uma parcela significativa de sua produção local,
mesmo com a atual situação cambial.

-MOLINARI: Coma anda de fato a exportação do Software
Brasileiro? É possível dar-nos um painel global?

-IVO MICHALICK: Este é um dos problemas, NÃO é possível
dar um painel global objetivo, pois o governo ainda não achou uma
forma de descobrir quanto exportamos
de produtos e serviços de software por ano. Mas posso dizer, com
base nos números que têm sido divulgados, que ainda é muito
pouco (da ordem
de centenas de milhões de dólares), se considerarmos o tamanho
do nosso mercado interno (da ordem de U$10 bilhões)
e o que andam fazendo nossos
concorrentes. Temos empresas indianas que sozinham
xportam acima de U$1 bilhão/ano.

-MOLINARI: Se uma típica média/pequena empresa desejasse
exportar o seu software. Quais os primeiros
passos? Muitas barreiras?

-IVO MICHALICK: Barreiras há, mas se temos pequenas
empresas de outros segmentos exportando isto não deve ser
tão difícil assim, certo? A própria Vetta,
empresa onde trabalho, exporta desde que nasceu.
O que uma empresa pode fazer para conseguir isto?

* Capacitar-se em processos/modelos/metodologias/padrões com
aceitação internacional, como CMMI e Guia PMBOK do PMI.
* Aumentar o número de funcionários fluentes em língua inglesa.
* Buscar entender as demandas e a cultura de negócios do cliente
internacional, de preferência focando-se num país
ou região específicos.
* Investir em pesquisa & desenvolvimento.
* Buscar participar, sozinho ou na forma de consórcio, em eventos
e feiras no exterior. Um site em inglês num
domínio .com e um pequeno
escritório na região-alvo certamente ajudam.
* Investir em relacionamentos e parcerias externas.
Boa parte do sucesso de empresas indianas e chinesas com exportação
de software veio
de contatos feitos por alunos de pós-graduação destes países
que permaneceram nos Estados Unidos trabalhando
depois de formados.
* Melhore sempre! Seus concorrentes estão sempre de olho
no seu mercado, até antes de você pensar no deles.

-MOLINARI: Qual o impacto das soluções Opensource tanto
na inovação e na exportação de software? O
governo tem incentivado o uso do OpenSource...

-IVO MICHALICK: Para mim é difícil falar disto, pois minha
experiência com Open Source
é mais de usuário de ferramentas, que por sinal estão entre
as melhores do mercado. Ainda não gerei receita trabalhando
diretamente com Open
Source, e tenho dificuldade em entender o modelo de negócio,
mas sei que tem gente que tem conseguido ganhar
dinheiro com software open
source.

-MOLINARI: Você tem algum caso ou alguma grande lição,
que você aprendeu em Gerênciamento de Projetos quando
lidamos com inovação ou exportação?

-IVO MICHALICK: Sim, gerencie riscos o tempo todo,
pois o potencial para ganho ou perda tende a ser muito maior
neste tipo de projeto.

-MOLINARI: Para terminar, alguma coisa em especial que
você deseja completar que seja relativo aos assuntos
que tocamos aqui?

-IVO MICHALICK: Sim, recomendo aos leitores que nunca
parem de se aperfeiçoar, o ritmo do mundo está cada vez
mais acelerado e temos que acompanhar isto se
quisermos nos manter competitivos e globalizados (isto é,
em condição de trabalhar em qualquer lugar do mundo).

-MOLINARI: Muito obrigado!!!

-IVO MICHALICK: De nada!

segunda-feira, 13 de agosto de 2007

A IMPORTÂNCIA DE "LÓGICA" EM QUALIDADE DE SOFTWARE E EM GERÊNCIA DE PROCESSOS - PARTE 02



Pessoal,

tenho insistido em tocar no assunto "lógica" porque este é um dos problemas mais graves na formação para quem entra não somente na área de Qualidade ou de Processos, ou mesmo Desenvolvimento. É importante para a área de Informática como um todo. E o que tem de "sub-nutrido de lógica" por aí não está no gibi... Isto mostra uma má formação para quem entra nesta área.

Toco hoje num ponto importante: existe hoje dois grandes grupos de lógica. O primeiro grupo é conhecido mais como "lógica" apenas, e o segundo mais como "teoria da confirmação":

1-Lógica Dedutiva;
2-Lógica Indutiva.

A maneira mais simples de entender (1) é que se "começarmos algo com um argumento válido , então, independente das premissas que forem acrescentadas , teremos um fim ou conclusão válida".

A maneira mais simples de entender (2) é que se "começarmos algo com um argumento forte ou válido, o mesmo pode se tornar inválido ou fraco na medida que acrescentamos premissas fracas".

Agora imaginemos tendo que validar um processo ou requisito através de um documento extenso e detalhado. Como e quão ele será válido? Dependerá da forma "lógica" como você encara e o quão quem escreveu pode esclarescer as dúvidas. As mesmas dúvidas vão reforçar ou justificar ou até negar algo que você "pensou ou observou" que pode invalidar o argumento-alvo. Em muitos casos um processo não é possível se representado de forma direta. O mesmo tem de ser validado e transformado numa representação visual que seja clara para todos.

Passem no link:

http://www.cfh.ufsc.br/~wfil/sainsbury.htm

Não deixem de ler.

Abraços,

Leonardo Molinari

sábado, 11 de agosto de 2007

Frase da semana de 13 a 17 de agosto

Amigos,

para todos nós refletirmos aqui vão duas frases ou pensamentos da semana:

"O que é verdadeiramente imoral é ter desistido de si mesmo."
Clarice Lispector...

"O único homem que não erra é aquele que nunca faz nada."
Roosevelt...

Abraços

Leonardo Molinari

THRILLER - THE REQUIREMENT-MONSTER!!!!!


.... Na mais distante sala,
Sala sombria de horror,

Horror de escrever palavras sem dor.

Dor de projetar,

dor de fazer,

dor de entregar,
dor de dizer não entender

e simples dizer:

- Que requisito monstro meu Deus. Que horror!!!

(agora imagine a musica do Michael Jackson Thriller ao fundo)

Pessoal,

esta entrada inusitada (que deve ser lida e relida com atenção) vem a questionar um fato único: O que devemos fazer quando nos é enviado ou colocado em mãos uma necessidade que se diz ser simples e não é??? (que é complexa pelo detalhismo e pelo texto único envolvido). E pior: imagine se o que foi enviado é simplesmente um requisito único enorme!!!!! (na realidade uma espécie de 10 em 1) . Já imaginou???? ... Este é o que chamamos de requisito-monstro.


Ahahahahahahah (imagine a famosa risada macraba que tem ao fim da musica Thriller)


Caro Leitor, digo que é uma situação cruel. Porém a solução é simples. Mostre que este requisito macro pode (e deve) ser detalhado em sub-requisitos... montando uma arvore de dependência (Requisito Pai, Requisito Filho A, Filho B, Neto 1, Neto 2 , Irmão 1, etc.). Identifique para cada requisito a complexidade e importância... e aí... você pode mostrar para o seu usuário que aquilo que ele pensa ser simples é um monstro de complexidade, mas que não é impossível... e de uma hora para outra o monstro se torna um ser normal.

A diferença é que não devemos ter medo, não importa o tamanho. Todos podem ser detalhados de maneira a se tornarem mais simples. Mas não se esqueça: simplicidade nada tem a a ver com volume de trabalho associado. Um requisito pode ser simples e ser trabalhoso...

Abraços,

Leonardo Molinari

Otimização de Sistemas - Parte 04 - Principais Problemas de Escalabilidade de Aplicações Web na NetWork


Pessoal,

continuando a nossa série de Otimização, famos tratar agora de problemas de Escalabilidade em aplicações Web, no caso problemas que devemos observar para Rede (Network). Outros grupos de problemas estaremos vendo nos artigos posteriores a este.

-Quais os principais problemas de performance que devemos observar?

Vejamos abaixo uma lista geral:

Grupo de Problemas relativos aos Application Servers (A.S.):

(visto no artigo anterior)

Grupo de Problemas relativos aos Web Serves (W.S.):

(visto no artigo anterior)

Grupo de Problemas relativos a Rede/Network:

20- Problema: Baixo uso da CPU para todos os sistemas Web ´porém com baixa performance para mesmos sistemas

Indicador: Veja que o tempo de resposta aumenta radicalmente conforme usuários são adicionados, mas os sistemas Web envolvidos não mostram sistomas de estresse.
Possíveis soluções:
> Verifique se as conexões entre os sistemas-alvo com os sistemas externos excedem a capacidade da Rede.

21- Problema: Excesso de Pacotes trafegando pela Rede

Indicador: Veja os indicadores/counters SNMP para switches ou routers da rede.
Possíveis soluções:
> A configuração dos switches ou routers está errada, pois está sobrecarregando a Rede.

22- Problema: Perda de conexão constante

Indicador: Durante os testes automatizados existem indicativos constantes de perda de conexão.
Possíveis soluções:
> A LAN local excede a sua capacidade (típico de Redes divididas em Rede local e externa). Verifique a configuração do hardware envolvido, principalmente no que diz respeito a balanceamento entre os elementos de hardware.

23- Problema: Capacidade da Rede Excede o Número de Usuários

Indicador: Veja os indicadores/counters SNMP para os Servidores envolvidos.
Possíveis soluções:
> Use de Rede independente para todo o tráfego interno. Isto minimizará o ruído junto aos usuários. As diversas sub-redes geram volume de tráfego que pode ser minimizado ou otimizado. O que for específico de tráfefo Web por estar separado num hardware para melhorar performance.

24- Problema: Quando a capacidade de usuários aumenta, o firewall começa a enviar erros de conexão como timeout para o sistema

Indicador: Erros recebidos pelos usuários em Testes Automatizados, ou através de Status do servidor quando se tentar observar o comportamento do firewall.
Possíveis soluções:
> Verifique se o firewall está configurado e licenciado de forma correta. Veja o número de usuários para o firewall não excede o que está configurado nele.

25- Problema: Quando está sob carga, nem todos os Web Serves são utilizados quando há um "load balancer" em uso (faz balanceamento de carga)

Indicador: Grande quantidade de conexões num servidor Web específico detectado pelo indicador de Status do Servidor.
Possíveis soluções:
> Verifique se o "load balancer" está configurado de forma correta. As regras de balaceamento devem estar ajustadas para todos os Web Servers.

26- Problema: Baixa performance de Rede

Indicador: Observe a performance dos Switches envolvidos.
Possíveis soluções:
> Verifique se alguma conexão da Rede está "forçando" a performance (ou restringindo) por uma questão de configuração errônea.

Grupo de Problemas relativos a Sistemas Externos:

-veremos nos próximos artigos

Grupo de Problemas relativos a Banco de Dados:

-veremos nos próximos artigos


PS: Estaremos terminando em breve esta série grupo de problemas de performance/Web, mas não a nossa série de Otimização. Temos muitos outros tópicos a abordar!


Fontes

  • MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no Desenvolvimento do Software, Editora Visual Books, 2007, Florianópolis, 85-7502-210-5.

  • ___________. Gerência de Projetos - Técnicas e Práticas com Ênfase em Web, Editora Érica, 2004, São Paulo, 85-7194-0050.

  • ___________. BTO - Otimização da Tecnologia de Negócio, Editora Érica, 2003, São Paulo, 85-7194-9506.

  • ___________. Testes de Software - Produzindo Sistemas Melhores e Mais Confiáveis, Editora Érica, 2006, 3a Edição, São Paulo, 85-7194-959X.

  • STICKYMINDS. Endereço: http://www.stickyminds.com/. Acesso em julho de 2007.

sexta-feira, 10 de agosto de 2007

ÍNDIA versus BRASIL - A INVASÃO DAS EMPRESAS INDIANAS NO BRASIL



Pessoal,


é na pratica uma luta de box: India versus Brasil, lutando pelo mercado Brasileiro dentro do Brasil. Isso mesmo!!! Aqui no Brasil...

A alguns anos as empresas indianas tem entrado no Brasil, através de grandes projetos, no que se refere a serviços e consultoria em informática. Elas tem entrado de forma sutil e discreta. Mas agora virou briga de "cachorro de grande". Empresas como DBA, BRQ, Politec e outras tem ficado em alerta pois agora um novo foco na briga está em "ebulição": você... O que??? isso mesmo: a briga agora é por você, profissional de informática. A briga agora é por mão-de-obra local, que esteja qualificada e te alto nível no Brasil. Estão fazendo isso através de atrativos salários. Isto está ao mesmo tempo forçando as empresas a mudarem estratégias e pensarem cada vez mais em qualidade. Aí existem duas alternativas:

(1) ou se busca um porfissional "bom" mesmo na quintal do vizinho;
(2) ou se forma em "casa" um bom profissional e o "fideliza" na empresa.

As duas alternativas estão ocorrendo. Ninguém quer perder os "seus" craques para o adversário...

Isto é um ótimo sinal. Vamos ficar em alerta, pois por conta disto profissionais com perfil diferenciado em Qualidade são buscados com mais frequência... E para "bagunçar" ainda mais para quem tem agido discretamente, a "mídia" especializada já tem alertado para isto.

Vejam nas reportagens abaixo nos links:

http://computerworld.uol.com.br/outsourcing/2007/08/08/idgnoticia.2007-08-07.9060044540/

http://computerworld.uol.com.br/outsourcing/2007/08/08/idgnoticia.2007-08-07.1679701095/

http://computerworld.uol.com.br/outsourcing/2007/08/09/idgnoticia.2007-08-08.8815390864/

Não tenho medo de lutar. As empresas estão ai, e não perca tempo. Olhe a sua volta e veja o que está acontecendo.

Um ótimo dia!!!

Leonardo Molinari

quinta-feira, 9 de agosto de 2007

EFEITO TITANIC EM QUALIDADE DE SOFTWARE

Pessoal,

veja slide retirado de uma palestra minha:


O slide fala por si. O erro no slide é proposital. Nada, digo, nada substituí o "feeling" humano.

Abraços,

Leonardo Molinari

A IMPORTÂNCIA DE "LÓGICA" EM QUALIDADE DE SOFTWARE E EM GERÊNCIA DE PROCESSOS



Esse tal de "Leonardo Molinari" tá maluco!!! Pirou? O cara agora agora está filosofando...


Pessoal,

vou resumir um caso real vivido por mim:

Era numa empresa especializada em gerência, implantação e revisão de processos com apoio de soluções automatizadas. Eu entrei de forma temporária (serviço temporário) para realizar um serviço de gerência da equipe de consultores de implantação de "processos". Resumindo: o consultor mapeava um processo qualquer (ex: um SAC qualquer) modelando-o e depois automatizava o mesmo numa ferramenta vendida pela empresa que uma customizada suportava esse processo. Os consultores tinham um problema terrivel: dificuldade em mapear algum processo ou representá-lo na ferramenta de apoio vendida(que tinha uma linguagem e um consjunto de regras). Depois de muito analisar, incluindo o curriculum de toda a equipe e acompanhar descobri o mair "bug" da equipe: má formação ou falha de entendimento de lógica matemática. O único profissional que sabia mapear corretamente um processo para dentro da ferramenta de apoio vendida tinha por formação gostar de programação. Quem trabalha com programação trabalha com lógica. Existem vários tipos de lógica. Todos os outros membros seriam treinados e estudariam "lógica" para poder melhorar o seu poder de compreensão e mapeamento de processos.

Num processo você define: fases, etapas, responsabilidades, papéis, ações permitidas e não permitidas, produtos de entrada e saída, etc. Definir um processo é um trabalho puro e simples de LÓGICA.

Em Qualidade de Software usamos lógica de forma indireta (ou subjetiva) em:

-levantamento e mapeamento de requisitos;
-definição de cenários de testes e de casos de testes;
-definição de processos que suportam as gerências de requisitos, testes e gerência de configuração;
-definição das ações dos itens de configuração suportados por um objeto...
(etc...)

Um exemplo vivido por mim é que a maioria das soluções automatizadas de testes seguem a mesma "linha lógica" de uso, seja para gravação e reprodução dos testes.

Não vou discursar aqui sobre lógica. Para tal veja ótimo link na Wikipedia:
http://pt.wikipedia.org/wiki/L%C3%B3gica

Entenda melhor de lógica e você entenderá melhor do seu serviço. Chamo atenção para isto pois muitas empresas realizam testes de "lógica" ou "raciocínio lógico" para verificar se você pensa bem e de forma ordenada. Já passei por vários. Um programador que é ruim de "lógica" fará péssimos aplicativos.

Lembrando Sherlock Holmes: Elementar meu caro Watson!

Abraços,

Leonardo Molinari

O QUE FAZER QUANDO UMA FALHA ARRUINA O DIA



Pensem:


O que fazer quando uma falha descoberta arruina o dia??? Digo uma falha de software que foi descoberta por você. Imagine...

Vamos as opções (por mais absurdas que pareçam) possíveis e vamos tentar descobrir a resposta certa para qual atitude (e sentimento) você deveria tomar:

(1) Culpar o desenvolvedor pela falha. Idiota!!!
(2) Culpar o chefe pelo cronograma apertado. Incompetente !!!
(3) Culpar você mesmo por não ter descoberto antes. Eu sou um Zé Mané, como não vi isso antes!!!
(4) Subir na mesa e acusar a empresa inteira pela falha!!! @#%$#@$@@*¨%$!!!!
(5) Chorar porque vão culpar você. O software era perfeito e você botou defeito!!!
(6) Ficar calado e não informar a falha. O problema não é seu!!!
(7) Culpa a esposa ou a namorada. Qualquer um menos você!!!
(8) Todas as respostas acima.
(9) Abrir um agua mineral e celebrar de forma madura o fato de ter encontrado a falha antes do aplicativo entrar em produção.

Você pode escolher qualquer resposta acima, mas a mais certa, ética e sensata seria a de número (9). Não adianta reclamar, culpar as pessoas, você mesmo ou a empresa. Nenhum software é perfeito e devemos lembrar que sempre existirão defeitos.

E pior ainda: não se estresse. Estresse é ruim. O seu corpo em algum dia sentirá os efeitos.

Comemore ao invés de chorar. Tenha uma atitude positiva.

Be positive!!!

Leonardo Molinari

domingo, 5 de agosto de 2007

Frase da semana de 06 a 10 de agosto

Amigos,

para todos nós refletirmos aqui vão duas frase ou pensamentos da semana:

"Veja as coisas pelo lado bom."
Thomas Jefferson...

"O homem que não teme as verdades não deve temer as mentiras."
Thomas Jefferson...

Abraços

Leonardo Molinari

Qualidade & Os 300 de Esparta - O que podemos aprender


Artigo: Qualidade & Os 300 de Esparta

Texto:

Pessoal,

o que o filme, e por traz deste fato histórico, "300" tem em comum com o Qualidade, em especial com Qualidade de Software.

A palavra é unica: TIMES. Independente do resultado da batalha, percebemos que:
  • Trabalhar em time não é fácil, exceto se os mesmos estiverem embuidos de um ideal, um objetivo. Os 300 de Esparta estavam com um ideal claro;
  • As qualidades e habilidades de cada um se somam a companheiro. E os defeitos são analisados e resolvidos em grupo. Quando um guerreiro espartano atacava um outro defendia um flanco do companheiro, de modo que havia um aproteção mútua. Se um analista é veloz e outro é observador, as qualidades somadas e aplicadas no desenvolvimento mantém no nível do produto final;
  • Liderança existe e Governança também. O líder era o Rei nos "300". Na maioria dos projetos temos duas figuras: uma é o gerente de projeto, e outra é o líder do Projeto;
  • O terreno era usado a favor dos "300". Num ambiente de desenvolvimento se usarmos os recursos de máquinas, horários e pessoal de maneira inteligente estaremos usando o "terreno" a nosso favor;
  • Uma estratégia pensada e calculada. Isto vale para qualquer projeto. Porém risco menores não devem ser desprezados. Um traídor "prejudicou" os "300". Uma falha eventual, mesmo de menor gravidade, pode se tornar um risco para a imagem do projeto. Um exemplo disto é "aquela secretária" que trata de forma grosseira todos no projeto. Se ao passar por esta um usuário educadíssimo, que venha ser destratado, isto seria péssimo;
  • A batalha dos "300" é usada de exemplo em diversos aspectos, inclusive mostrando que as pessoas podem se superar e se sacrificar quando realmente acreditam em algo. Se o analista acredita no projeto e é tratado com respeito e valorização, e ele "se doará" para o projeto;
  • Preparação em tudo, e de forma exaustiva, é fundamental. Os espartanos se preparavam para guerrear desde cedo. Se um analista que usa qualidade como mola-mestra, estudar e procurar entender e se preparar de fato para usar a Qualidade, os resultados serão sempre positivos independentemente da experiência prática;
  • Acredite na Gloria! Acredite em você e na Qualidade e em seus benefícios!

Abraços e que a Glória, ou melhor, que o Sucesso esteja com todos...

Leonardo Molinari

Otimização de Sistemas - Parte 03 - Principais Problemas de Escalabilidade de Aplicações Web em Web Servers

Pessoal,

continuando a nossa série de Otimização, famos tratar agora de problemas de Escalabilidade em aplicações Web, no caso problemas que devemos observar para Web Servers . Outros grupos de problemas estaremos vendo nos artigos posteriores a este.

-Quais os principais problemas de performance que devemos observar?

Vejamos abaixo uma lista geral:

Grupo de Problemas relativos aos Application Servers (A.S.):

(visto no artigo anterior)

Grupo de Problemas relativos aos Web Serves (W.S.):

14- Problema: Alto uso no Web Server durante o Teste

Indicador: Preste atenção nos indicadores da CPU (CPU counters) no Web Server
Possíveis soluções:
> verifique se os servidores não estão sobrecarregados. Isto é muito comum quando usamos transações de um tipo qualquer (ex: SLL transactions). Ou adicione mais um Web Server para dividir a carga ou algo que otimize o tráfico para as transações de um tipo qualquer.

15- Problema: Alto volume de utilização de disco I/O no Web Server com baixo indice de throughput em relação ao esperado, dado as especificações do servidor

Indicador: Alto índice de disco I/O ou de throughput mostrado através dos indicadores no Web Server
Possíveis soluções:
> verifique se todos os arquivos fontes estão armazenados em outro disco físico que não seja os dos log files. Os Web Servers podem gerar alto volume de logs, e com isto o disco I/O deve estar configurado certo, ou o melhor possível.

16- Problema: Uso de arquivos compartilhados que estejam debaixo do Web site, tais como arquivos internos e logs, podem diminuir radicalmente o acesso a estes arquivos.

Indicador: Alto índice de atividades de Network sobre os arquivos compartilhados
Possíveis soluções:
> armazene os arquivos localmente, para aumentar a disponibilidade dos mesmos pelo Web site ou use seviços especiais de otimização de compartilhamento de arquivos.

17- Problema: Baixo tempo de download (ex: imagens e arquivos) comparado a conexão disponível.

Indicador: Verifique o tempo de download durante o acesso. Se verifica este tipo de indicador durante a emulação de testes de performance com ferramentas automatizadas
Possíveis soluções:
> Verifique o tamanho das páginas, de modo a não excederem 75kb, que é um tamanho aceitável para todas as velocidades de todas as redes/modems.

18- Problema: Performance não é a experada quando usamos servidores especificos (ex: Netscape iPlanet Web Server).

Indicador: Veja indicadores como número de pages/second, hits/second
Possíveis soluções:
> Criar limite processos de processos em paralelo de um mesmo tipo de W.S. ao invés de um único processo para este tipo de W.S..

19- Problema: Altos níveis de utilização de disco I/O ou de CPU usage nos W.S.

Indicador: Veja indicadores de disco I/O ou CPU usage no Web Server.
Possíveis soluções:
> Verifique os níveis de acesso do Web Server em produção, e que níveis de logs teremos associados. Quanto mais logs, maior o registro de histórico de produção, porém perde-se tempo de acesso. Deve ser configurado o mínimo aceitável conforme padrões da empresa.

Grupo de Problemas relativos a Rede/Network:

-veremos nos próximos artigos

Grupo de Problemas relativos a Sistemas Externos:

-veremos nos próximos artigos

Grupo de Problemas relativos a Banco de Dados:

-veremos nos próximos artigos


PS: Em no máximo 2 artigos estaremos terminando esta série grupo de problemas de performance, mas não a nossa série de Otimização. Temos muitos outros tópicos a abordar!


Fontes

  • MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no Desenvolvimento do Software, Editora Visual Books, 2007, Florianópolis, 85-7502-210-5.

  • ___________. Gerência de Projetos - Técnicas e Práticas com Ênfase em Web, Editora Érica, 2004, São Paulo, 85-7194-0050.

  • ___________. BTO - Otimização da Tecnologia de Negócio, Editora Érica, 2003, São Paulo, 85-7194-9506.

  • ___________. Testes de Software - Produzindo Sistemas Melhores e Mais Confiáveis, Editora Érica, 2006, 3a Edição, São Paulo, 85-7194-959X.

  • STICKYMINDS. Endereço: http://www.stickyminds.com/. Acesso em julho de 2007.

sexta-feira, 3 de agosto de 2007

MERCADO DE QUALIDADE X DATACENTERS: HP COMPRA EMPRESA DE GCS / DATACENTERS



Pessoal,

no último dia 23 de julho a HP adquiriu a Opsware, empresa voltada para a automação de DataCenters: inclui-se aí (dentro de outros produtos) Gerencia de Configuração de Software (GCS) em DataCenters. O fato importante: a empresa comprada é uma das líderes em seu segmento.

A compra só vem reforçar o fato da HP estar avançando no segmento Datacenter e no segmento de GCS com mais força. Ela vai integrar a compra a linha HP-BTO (que veio da Mercury originalmente). Isto significa que ela está reforçando o Mercado de Otimizações de Sistemas (front-end e back-end) de maneira mais agressiva.

A compra foi de $1,6 milhoes...

Pode parecer besteira, mas a HP está reforçando a sua liderança no mercado de Qualidade via BTO. Ela quer melhorar e integrar os seus produtos a curto prazo para não perder o "bonde" da compra.

A aquisição deve ser concluída ao final de setembro/2007.

Espero que esta aquisição ajude o Mercado e não inflacione os produtos. Só está ficando "cachorro" grande no Mercado...

Abraços e um ótimo fim de semana... ;)

Leonardo Molinari

quinta-feira, 2 de agosto de 2007

NOTICIA QUENTE URGENTE !!!! (LEIA OU VAI PERDER)

Pessoal,

peço desculpas por não visto algo obvio que pensei que já sido abordado nos blogs que participo, mas não foi.... Mas em novembro/2006 a RadView (empresa semelhante a Empirix, Borland/Segue, e outras) no segmento de testes de aplicações web fez um anúncio do que ela iria fazer. Em abril deste ano ela fez o que anúnciou antes:

O código do WEBLOAD virou Opensource


Isso mesmo!!! fez a mesma jogada da época da Cyrano, que fez com o OpenSta... O produto de fato é de código aberto agora, mas alguns plug-ins e consultoria a RadView vende. Hoje você já tem um ótimo(excelente) Opensource para fazer testes de performance de ALTA QUALIDADE!!!

VOU REPETIR: ALTA QUALIDADE

O WebLoad é do mesmo nível do LoadRunner (da HP/Mercury), e-Tester (Empirix) e de outros. Pode não ser o melhor em tudo mas o nível é altíssimo. Teste de performance aplicações web agora não tem outro caminho.

Com isto: JMeter, OpenSta, e outros Opensource ficam literalmente para tras!!!!!!

Fiquei maluco: NÃO!!!!

Eles fizeram isso porque viram que o Mercado Opensource precisava de algo de alto nível. É uma ida sem volta!!!!!

Podem SORRIR... :)

Pode sorrir MESMO!!!!!

Você pode participar, alterar o código, etc... e o pessoal da Radview continua melhorando o software ainda mais... Eles já testam Web 2.0...

Lembram quando Schumacher tinha aquela Super-Ferrari que ganhou quase todas as corridas... Eu já tinha testado/usado o Radview quando não era Opensource... e já era ótimo...
Os plug-ins que eles não colocaram Opensource foram os monitores de métricas/coletores de BD e alguns especificos. Mas os do Servidores estão lá. Ex: counters do Windows...

Vá em http://www.webload.org/

Somente para perceberem, este anúncio já estava a muito tempo sendo colocado no site http://www.opensourcetesting.org/ (lá você verá um banner anúnciando o WebLoad... a notícia é mais que quente... é HOT!!!)

Abraços e vamos acelerar!!!! Valeu pessoal!!!!!Leonardo Molinari

Otimização de Sistemas - Parte 02 - Principais Problemas de Escalabilidade de Aplicações Web em Application Servers

Pessoal,

continuando a nossa série de Otimização, famos tratar agora de problemas de Escalabilidade em aplicações Web, no caso problemas que devemos observar para Applications Servers. Outros grupos de problemas estaremos vendo nos artigos posteriores a este.

-O que devo observar para otimizar uma aplicação Web?

Em termos de problemas de uma tipica arquitetura Web (veja imagem abaixo) , devemos observar a estatistica (veja gráfico de pizza) mostrada abaixo onde ocorrem a maioria dos problemas. Com isto fica mais fácil atacar os possíveis problemas ou mais comuns que giram em torno de 90% da maioria dos problemas de escalabilidade Web.
-Quais os principais problemas de performance que devemos observar?


Vejamos abaixo uma lista geral:

Grupo de Problemas relativos aos Application Servers (A.S.):

01- Problema: Alto Consumo da CPU nos A.S.

Indicador: CPU counter
Posiveis Soluções:
> verifique se código da aplicação pode ser otimizado
> verifique se o A.S. estão de acordo com as especificações
> em ultimo caso o hardware atual é insuficiente

02- Problema: Baixa Memória disponível

Indicador: memória disponível
Possíveis soluções:
> hardware de memória pode ser insuficiente

03- Problema: Baixa Numero de Páginas dinâmicas por segundo

Indicador: indicador de medida como "page-per-second"
Possíveis soluções:
> verifique se o A.S. estão de acordo com as especificações

04- Problema: Baixa Atividade (em uso/chamada) dos Sistemas no A.S., com aumento do tempo de resposta do sistema-alvo

Indicador: CPU ou "memory usage" alto (muito processamento)
Possíveis soluções:
> verifique todas as transações, as sincronas e assincronas, pois podem estar aumento o uso da fila na CPU (queuing) e sobrecarregando a CPU

05- Problema: Alta Atividade (em uso/chamada) dos Sistemas no A.S., mas com baixo indicador de "page-per-second" para paginas dinâmicas

Indicador: Veja todos indicadores de uso da CPU disponiveis
Possíveis soluções:
> possível programação/codificação ineficiente: muitos loops, chamadas a funções desnecessárias, páginas dinâmicas que poderiam ser estaticas, etc.

06- Problema: Baixa atividade no A.S., grandes tempos de respostas, muitos timeouts observados nas máquinas clientes

Indicador: Veja todos indicadores de uso do Servidor (máquina) para o A.S.
Possíveis soluções:
> verifique configuração do A.S., pois pode existir muitas threads sendo usadas aos mesmo tempo (excesso de paralelismo)

07- Problema: Grande tempo de resposta, mas com baixo uso do Banco de Dados (B.D.)

Indicador: Veja os CPU counters (indicadores de CPU) que monitoram a B.D.
Possíveis soluções:
> verifique configuração do A.S., no especifico de "pooling". Verifique se o A.S. está configurado para um "ótimo pooling".

08- Problema: Picos repentinos e aleatórios de tempo de resposta (sobe radicalmente e aleatoriamente o tempo de resposta e depois volta ao normal)

Indicador: Veja os CPU counters (indicadores de CPU) de uso da CPU e tempo de resposta do lado cliente
Possíveis soluções:
> pode ser problema de garbage collector no A.S. ou processos intermitentes agendados

09- Problema: Altos níveis de IO de disco ou CPU no A.S.

Indicador: Veja os CPU counters de uso da CPU e de IO de disco.
Possíveis soluções:
> o log da aplicação é grande ou é realizado de forma inadequada na aplicação. Deve ser configurado os níveis minimos para produção de modo a processar as requisições dos usuários.

10- Problema: Certas páginas carregam muito devagar mesmo sob condições minimas (com concorrência ou sobrecarga minima)

Indicador: Veja os indicadores de uso da CPU e do B.D., analise a quantidade de dados transferidos e processados no B.D.
Possíveis soluções:
> verifique todas as paginas das aplicações, em termos de funções, algoritmos, etc e em todos os objetos usados como .asp, .jsp ou qualquer outro. Muitos dados são obtidos e retidos em processamentos inadequados antes de serem disponibilizados.

11- Problema: Certas páginas carregam muito devagar mesmo sob condições EXTREMAMENTE minimas (sem concorrência ou sobrecarga alguma)

Indicador: Veja os indicadores de uso da CPU durante a execução de cada página, provalmente haverá picos de uso da CPU (ou outros indicadores enquanto você observa)
Possíveis soluções:
> provalmente objetos (ex: muitos "includes" inúteis) que não precisam estar na aplicação ou serem chamados por esta. Estes objetos gastam tempo desnecessário e acarretam picos de tempo de resposta ao serem chamados.

12- Problema: Baixa performance do A.S. durante os testes iniciais

Indicador: O A.S. não está funcionando de acordo conforme especificado pelo fabricante. Medido em geral pelo indicador "paginas dinâmicas por segundo".
Possíveis soluções:
> reveja e siga as instruções do fabricante do A.S. para que este funcione de acordo o desejado.

13- Problema: Baixa performance do A.S. durante os testes iniciais

Indicador: O A.S. não está funcionando de acordo conforme especificado pelo fabricante. Medido em geral pelo indicador "paginas dinâmicas por segundo".
Possíveis soluções:
> reveja e siga as instruções do fabricante do A.S. para que este funcione de acordo o desejado. Isto pode incluir como configurações de software (ajustes de configuração) ou hardware, e até quantidade ou tipo de hardware minimo para funcionamento (ex: quantidade mínima de memória)

Grupo de Problemas relativos aos Web Serves (W.S.):

-veremos nos próximos artigos

Grupo de Problemas relativos a Rede/Network:

-veremos nos próximos artigos

Grupo de Problemas relativos a Sistemas Externos:

-veremos nos próximos artigos

Grupo de Problemas relativos a Banco de Dados:

-veremos nos próximos artigos


Fontes

  • MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no Desenvolvimento do Software, Editora Visual Books, 2007, Florianópolis, 85-7502-210-5.

  • ___________. Gerência de Projetos - Técnicas e Práticas com Ênfase em Web, Editora Érica, 2004, São Paulo, 85-7194-0050.

  • ___________. BTO - Otimização da Tecnologia de Negócio, Editora Érica, 2003, São Paulo, 85-7194-9506.

  • ___________. Testes de Software - Produzindo Sistemas Melhores e Mais Confiáveis, Editora Érica, 2006, 3a Edição, São Paulo, 85-7194-959X.

  • STICKYMINDS. Endereço: http://www.stickyminds.com/. Acesso em julho de 2007.