Qualidade de Software - Itaú

Publiquei no meu blog um exemplo de como a qualidade é importante. Um instituição do tamanho do Itaú não pode jogar um stacktrace na cara do cliente.

É bem provável que este acontecimento esteja vinculado a pobre definição de critérios para contratação. Assunto esse debatido a exaustão por aqui.

http://celsoavmartins.blogspot.com/2009/06/importancia-da-qualidade-estudo-de-caso.html

Você tentou descobrir a senha do Banco?? :smiley:

Eu acho que o problema pode até nem ser da qualidade do profissional, que claro pesa bastante, pode ser que o site seja muito grande, com vários módulos, muita coisa desenvolvida a muito tempo, e que as pessoas simplesmente vão arrumando o que precisa e deixando para depois aquela melhoria do código… ( o que nunca vai ser feito claro )

Acho que pra questionar a qualidade do profissional você tem que verificar antes o ambiente onde ele está inserido

Como já postaram aqui várias vezes, que tal aprender a fazer códigos melhores com o Joel :?:

Duvido que esses ambientes tenham todas essas práticas

Bom, essa é a minha opinião…

Claro que não… sou cliente do banco. =)

O meu questionamento não é sobre a qualidade do profissional. É sobre a qualidade do processo como um todo. Como o processo envolve pessoas, critico a contratação. Mas isso não quer dizer que estou metendo o pau no desenvolvedor. Eu já mandei módulos para homologação que cuspiam stacktrace na cara do usuário. O módulo voltou para desenvolvimento e tomei um esporro da liderança. Simples assim. Ninguém é perfeito, mas o processo tem que ser.

Não sei como é a configuração de ambientes no Itaú, mas acredito que tenha divisão entre ambiente de desenvolvimento, homologação e produção. Se um sistema (ou módulo) entra em produção com um stacktrace não tratado, tem alguma coisa errada em algum lugar. :wink:

E acredito que em sistemas grandes, a importância da qualidade cresce muito. O peso da qualidade é diferente em um instituição do tamanho do Itaú e a locadora na esquina da minha rua. O Itaú fatura bilhões, tendo mais condições de investir na qualidade de seus processos.

Sem contar que é uma das tarifas mais caras do Brasil e não pode oferecer um serviço de baixa qualidade.

Reclamo também na condição de cliente. O problema que eu sou um cliente analista de sistemas que escreve sobre qualidade de software. Aí juntou a fome com a vontade de comer. :lol:

EDIT: Relendo o post, realmente não estava claro que a crítica era sobre o processo (tenho que parar de preparar postagens no trabalho =) ) e não apenas sobre o desenvolvedor. Editei o post, colocando uma nota no final, para deixar mais clara a crítica sobre o processo.

O Itaú terceiriza muito pouco o desenvolvimento/manutenção do seu parque de sistemas.

Arrisco até dizer que, hoje, o Itaú (excluído o Unibanco) é o banco que tem os melhores sistemas.

Pq vc não abre uma conta no Bradesco/Real/outros para comparar? :wink:

[quote=Taz]
O Itaú terceiriza muito pouco o desenvolvimento/manutenção do seu parque de sistemas.

Arrisco até dizer que, hoje, o Itaú (excluído o Unibanco) é o banco que tem os melhores sistemas.

Pq vc não abre uma conta no Bradesco/Real/outros para comparar? :wink: [/quote]

Eu também tenho conta no Real e no Citibank. Não gosto do processo em nenhum dos dois. Mas essa não é a questão.

Não entendi onde você quis chegar, sinceramente.

Hipoteticamente, porque o banco X tem falhas na segurança eu vou aceitar que o meu banco Y também tenha? Isso é nivelar por baixo e, IMHO, se chama acomodação. Ahhh os outros são um lixo, o meu é um pouco melhor e por isso estou satisfeito.

Pelo menos comigo, não é assim que a banda toca. Sem contar o que eu já disse em post anterior. As tarifas do Itaú estão entre as maiores (se não são as maiores) do mercado. Isso só aumenta a exigência dos clientes (eu) por uma excelência nos serviços. Ou não?

Comodista, eu? :shock:

Acho que vc está sendo extremista ao criticar os serviços de um banco somente pela stacktrace que aparece no seu browser.

Falha de segurança?

Mais uma vez extremista: alguém subtraiu valores de sua conta ou acessou indevidamente suas informações?

Eu estou falando pq já trabalhei em projetos em alguns deles e conheço muito bem seus “processos” de desenvolvimento.

Volto a afirmar: o Itaú é o único que trata a TI como estratégica e terceiriza muito pouco o desenvolvimento/manutenção de seus sistemas.

PS: e não tenho qq interesse em promover a marca pq hoje não tenho relação com qualquer projeto dentro dessa instituição, apesar de ter deixado amigos por lá…

[quote]Volto a afirmar: o Itaú é o único que trata a TI como estratégica e terceiriza muito pouco o desenvolvimento/manutenção de seus sistemas.[/quote]Sei não, só em um projeto que participei haviam 03 (Tres) empresas de “CONSULTORIA” por conta de uma outra de 3-letrinhas.E tinha até uns lances de trocar de desenvolvedor no meio do projeto, vai entender.

Eu disse: “Terceiriza pouco” :wink:

Geralmente em projetos com novas ferramentas eles contratam a Dona da ferramenta com suas ISVs… (no caso do Itaú, quase sempre IBM)

Cara, não te chamei de acomodado. Falei que se acomodar com uma determinada situação, arrumando motivos absurdos, é acomodação.

Você é cliente do banco? Eu sou. Pago uma taxa mensal absurda e acho um absurdo que uma das instituições mais rentáveis do mundo jogue um stacktrace na minha cara. Extremista isso? Se você se contenta com um stacktrace na sua tela, blz. Opinião sua e respeito. Mas você deveria respeitar meu descontentamento com a situação. Você não pode me enfiar goela a baixo que stacktrace na tela é uma coisa boa. Mesmo porque, até agora, você foi o único que aceitou tranquilamente o ocorrido. Mas como eu disse, opinião sua e respeito.

Cara, você sabe o que é hipótese? Ou hipoteticamente?

[quote=Taz]
Eu estou falando pq já trabalhei em projetos em alguns deles e conheço muito bem seus “processos” de desenvolvimento.

Volto a afirmar: o Itaú é o único que trata a TI como estratégica e terceiriza muito pouco o desenvolvimento/manutenção de seus sistemas.

PS: e não tenho qq interesse em promover a marca pq hoje não tenho relação com qualquer projeto dentro dessa instituição, apesar de ter deixado amigos por lá…[/quote]

Isso explica muita coisa. Você se sentiu atingido e está reagindo. Quando estamos errados, a atitude mais nobre é reconhecer o erro e “ralar” para que isso não aconteça.

Hoje em dia, em seus projetos, você joga stacktrace na cara do usuário?

Eu não considero isso uma boa prática. E 100% dos textos sérios que li também não.

Se vc afirma que o Itaú não tem qualidade de software com base em hipóteses, só me resta ficar calado…

[quote=Taz][quote=celso.martins]

Cara, você sabe o que é hipótese? Ou hipoteticamente?

[/quote]

Se vc afirma que o Itaú não tem qualidade de software com base em hipóteses, só me resta ficar calado… [/quote]
Cara, descanse um pouco e depois leia de novo.
Por enquanto só pense na possibilidade de você não ter entendido o que foi escrito.

pois é… eu ja tive uma exceção tb na minha cara no site de um outro banco quando tava simulando credito para comprar uma casa… a exceção pelo nome me parecia ser referente a divisão por zero… em .net …

Caro celso.martins li o seu post e vejo uma mistura de raiva com profissionalismo. Primeiro, não se deve julgar o faturamento de uma empresa (ou o valor cobrado pelos serviços dela) com um erro em qualquer parte de um sistema ou processo. É o que a maioria das pessoas fazem, “metem o pau” por conta de um erro que aparece (simples ou não) mas não olham o todo. Não se deve generalizar dizendo que o processo do banco é um lixo só por conta da exibição de um stacktrace (talvez você gostasse de ver uma mensagem bonitinha, com uma figurinha linda e uma frase do tipo: “Erro fatal: #36522” - qual a diferença de um stacktrace pra uma mensagem assim pra você?), foi a mesma coisa que ocorreu comigo, eu trabalhava como programador em um banco, estava corrigindo erros de produção e sem querer eu gerei outro erro (esqueci de manter o “bem vindo fulano de tal” entre as páginas e aparecia “bem vindo null” - os erros eram tão graves e o tempo de correção era tão curto que a pressão me levou a cometer este erro). Fui sacrificado na frente da equipe por uma falha besta se comparado com os erros do sistema em produção que ao invés de efetivar aplicações, subtraia… kkk. Então naquele momento eu aprendi que não se deve julgar um todo por um mero detalhe, exemplo, você já fez uma TED e o dinheiro simplesmente sumiu? Isso sim é um erro grave e que deve ser criticado com ferro e fogo. O que acontece, é que em grandes instituições a pressão para corrigir erros graves e ou evitá-los é tão grande que pequenos erros são ignorados por conta da correria, da pressão do dia-a-dia, e até em alguns casos, aceitos (existe muita diferença entre o q está escrito nos livros e a prática). Talvez celso.martins você tenha que trabalhar em uma grande instituição para aprender isso e não cometer o mesmo erro que cometeram comigo e que, ao meu ver, você está cometendo agora criticando a exibição de um mero stacktrace ao invés de criticar o erro que gerou este stacktrace reportando o mesmo ao Itaú para que ele possa realizar a correção o mais rápido possível ou de acordo com o backlog deles. Ah e outra coisa, antes de abrir um post como este lembre, já que você tb é um analista, que um programador (um ser humano) pode ter ficado dias até meia noite, uma hora, chegando as 7 todo dia pra corrigir problemas graves e não teve condições de simplesmente exibir a mensagem “Erro fatal: #36522” pra te deixar feliz.

[quote=glauber_rochab]Caro celso.martins li o seu post e vejo uma mistura de raiva com profissionalismo.
[/quote]

Não… não é raiva. Apenas sou cliente. O problema é que esse cliente aqui, também é um desenvolvedor e não “apenas” usuário. O sentido da colocação desta frase surgirá mais abaixo.

Me perdoa, mas discordo de você. Eu não posso comparar o desempenho de uma das maiores instituições financeiras do mundo com o erro da locadora do Seu Zé.

Eu continuo cliente do banco. Acredito que isso seja um contra-argumento. Mas você também não pode tirar o meu direito de criticar. Sem a opinião dos usuários, a excelência nunca será alcançada.

Aqui a justificativa suscinta do meu primeiro parágrafo. Eu sei o que está acontecendo, pois sei ler um stacktrace. Mas e um usuário “simples mortal”? Vai achar que existe um problema na máquina dele, no provedor, no anti-vírus, whatever. Pode até acontecer de chamar um técnico e morrer em 150.00. Você acha isso certo?

Cara, me desculpa, mas vou ter que discordar de você novamente. Não se deve fazer alterações em produção. Isso é premissa básica de qualquer desenvolvedor profissional. Ahhh, mas isso é o tal do mundo perfeito, alguém diria. Então, respondo, devo viver nesse mundo perfeito, pois nunca, mas nunca mesmo, efetuo qualquer alteração em produção. Toda alteração que faço tem que passar pelo teste unitário (meu), teste integrado, teste de sistemas, teste de regressão, etc. etc.

[quote=glauber_rochab]
Então naquele momento eu aprendi que não se deve julgar um todo por um mero detalhe, exemplo, você já fez uma TED e o dinheiro simplesmente sumiu? Isso sim é um erro grave e que deve ser criticado com ferro e fogo. O que acontece, é que em grandes instituições a pressão para corrigir erros graves e ou evitá-los é tão grande que pequenos erros são ignorados por conta da correria, da pressão do dia-a-dia, e até em alguns casos, aceitos (existe muita diferença entre o q está escrito nos livros e a prática). Talvez celso.martins você tenha que trabalhar em uma grande instituição para aprender isso e não cometer o mesmo erro que cometeram comigo e que, ao meu ver, você está cometendo agora criticando a exibição de um mero stacktrace ao invés de criticar o erro que gerou este stacktrace reportando o mesmo ao Itaú para que ele possa realizar a correção o mais rápido possível ou de acordo com o backlog deles. Ah e outra coisa, antes de abrir um post como este lembre, já que você tb é um analista, que um programador (um ser humano) pode ter ficado dias até meia noite, uma hora, chegando as 7 todo dia pra corrigir problemas graves e não teve condições de simplesmente exibir a mensagem “Erro fatal: #36522” pra te deixar feliz.[/quote]

No Itaú, com uma excessão bem tratada, é apresentada uma mensagem de serviço indisponível. Me diga: qual a possibilidade, com essa mensagem, de o usuário achar que caiu um alien na máquina dele??

Cara, trabalho em uma das maiores consultorias do mundo (se não já se tornou a maior), dentro de uma das maiores empresas de telefonia do Brasil. Eu sei o que é pressão. Eu a vivo todos os dias. Vou até te dizer que gosto. Gosto muito da pressão, pois é ela (junto com a minha família) que me faz levantar todos os dias e “viajar” quase duas horas para trabalhar.

O que você me deu são desculpas. Desculpas servem para justificar falhas. Nesse caso, falha no processo. Continuo com a minha opinião e, inclusive, continuo acreditando que, com o tamanho do Itaú, esses erros são injustificáveis.

Quando falo do tamanho do Itaú, falo que, com o dinheiro que eles ganham, podem contratar as melhores cabeças do Brasil para gerenciar, liderar, executar e testar os seus sistemas. E se não fazem, você sabe o motivo? Economia. Pão-durisse. Muquiranagem.

Abraços.

Até os melhores profissionais estão sujeitos a erros. Se ocorreu um erro e o stack foi jogado em sua cara sem tratamento, como um profissional da área você deveria ter entrado em contato com a empresa e relatado o fato para que este fosse corrigido.

O próprio google cansou de me cuspir stacks em suas aplicações e nem por isso considero seus profissionais ou investimento em tecnologia ruim.

Atire uma pedra quem nunca deixou um “passei por aqui” ou semelhante chegar em produção :slight_smile:

Pensei que esse assunto já estivesse esgotado, mas pelo visto não está. =D

[quote=aleck]Até os melhores profissionais estão sujeitos a erros. Se ocorreu um erro e o stack foi jogado em sua cara sem tratamento, como um profissional da área você deveria ter entrado em contato com a empresa e relatado o fato para que este fosse corrigido.
[/quote]

Isso foi feito. Espero que não seja um argumento para eu não escrever sobre isso no meu blog.

Cara, na minh cara o Google nunca cuspiu um stacktrace. E tenha certeza que, se cuspir, vou fazer muito mais barulho que fiz nesse caso do Itaú. :wink:

Então vai rolar uma chuva de pedras. =D
Você ainda debuga dessa forma?? Isso sim é preocupante. :wink:

As questões nesse caso são:

[list]Eu escrevo sobre qualidade, sobre boas práticas. Essa foi uma oportunidade real de mostrar como não nos importamos (nós = empresas brasileiras) com a qualidade de forma natural. Preocupação essa, já há muito tempo na pauta das empresas sérias de todo mundo;[/list]
[list]As discussões ocorridas neste tópico, demonstram como nem nós como clientes estamos preparados para a qualidade, já que sempre tentamos cobrir com panos quentes as falhas;[/list]
[list]Eu sou cliente, como sempre venho bater nessa tecla;[/list]
[list]Empresas do tamanho do Itaú deveriam se preocupar mais com a questão da qualidade. Não se preocupam porque não querem gastar mais. Isso já foi exaustivamente discutido por aqui. De que me lembro assim de relance, no tópico sobre o tal do sobrinho. É a mesma pergunta que fiz anteriormente: Você acha isso certo? As empresas brasileiras preterem um profissional de 5k para contratar um profissional de 1k. Nada contra o profissional de 1k. Ele pode ter o espaço dele, aprender e virar um profissional de 5k. Mas, com certeza, fazendo o trabalho do cara de 5k não é o lugar dele;[/list]
[list]Nem todo mundo entende “desse negócio” de computador direito. Tem gente que pode perder dinheiro a toa com uma falha nossa, nem que seja pequena.[/list]

Esse último tópico merece um comentário:

Quando estou criticando, não faço isso a A, B e C. Não estou apontando o dedo para ninguém e sim para nós, me incluindo também.

Claro que já errei (não com o “passei aqui” =D ), mas o processo não pode deixar meu erro passar pra produção. Eu posso não ser perfeito (e não sou), mas o processo deve ser o mais perfeito possível. E quando o processo falhar, devemos criticar para sempre procurarmos melhorar.

Pelo que sei, essa é uma das formas de se atingir a excelência. Por isso sou inquieto e nunca acho que o que está bom não precisa de mais uma revisão. :wink:

Se eu fosse perfeito, a minha busca já teria terminado e a vida já estaria sem graça, pois os desafios teriam acabado. :wink:

Caaaaalma povo. Sem flames e guerrinhas. Ninguém é o dono da verdade. Então não virem uns mestres da discórdia da vida (se é que vocês me entendem :p).

editado: o nome, por alguns usuários não gostaram.

Em primeiro lugar, não está rolando briga. Estamos discutindo pontos de vista diferentes. E isso (por incrivel que pareça) nem sempre gera briga.

Em segundo lugar, essa sua mensagem não agregou nada a discussão. O único objetivo que pode conseguir, se o Duran fosse o desequilibrado que um pessoal daqui imagina, é atrai-lo para te responder de forma agressiva e, aí sim começar um flame. Tá com saudade dele? Manda uma msg em pvt.

Se não tiver nada para agregar, não aperte o botão de reply.

Quanto ao “passei por aqui”, não vou mentir, ainda utilizo muito quando estou mechendo com javascript e quando os erros ocorrem em um ambiente não controlado por mim.

Quanto a qualidade dos processos do Itaú, não posso dar minha opinião baseada em apenas um erro isolado, como disse antes, o google e suas aplicações costumam me fornecer erros, nem sempre tratados com mensagens engraçadinhas do tipo:


// erro do youtube
500 Internal Server Error Infelizmente ocorreu um erro. Uma equipe de macacos especialistas altamente treinados foi designada para cuidar do problema. Also, please include the following information in your error report:

// codigo stack logo abaixo

Como sua pessoa, também tenho interesse na qualidade dos sistemas colocados em produção, porém, em uma empresa do tamanho do Itaú, onde diversos desenvolvedores e “fábricas” são contratados para criar os sistemas estão mechendo no código simultaneamente.

Fiquei curioso em qual seria sua estratégia para controle de erros das aplicações, pois não vejo a viabilidade de uma área de qualidade pesquisando a fundo o tratamento de erro de todos os desenvolvedores. Uma solução seria uma estratégia de padronização dos sistemas criando frameworks de referência e ditando regras desnecessárias que só atrasam e engessam os desenvolvedores, mas dae entrariamos em outro problema, a inovação.

[quote=aleck]Quanto ao “passei por aqui”, não vou mentir, ainda utilizo muito quando estou mechendo com javascript e quando os erros ocorrem em um ambiente não controlado por mim.

Quanto a qualidade dos processos do Itaú, não posso dar minha opinião baseada em apenas um erro isolado, como disse antes, o google e suas aplicações costumam me fornecer erros, nem sempre tratados com mensagens engraçadinhas do tipo:


// erro do youtube
500 Internal Server Error Infelizmente ocorreu um erro. Uma equipe de macacos especialistas altamente treinados foi designada para cuidar do problema. Also, please include the following information in your error report:

// codigo stack logo abaixo

[/quote]

Essa do Google realmente merece entrar para história. =D
Pelo menos o usuário não vai ficar achando que o problema é na máquina dele.
E stacktrace, o Google nunca cuspiu na minha cara. Repito, se cuspir, todo mundo vai ficar sabendo e passo a usar o Bing (sic!). To brincando.

O problema, na minha visão, não é trocar equipe por fábrica, e sim contratar estagiários para fazer o trabalho de profissionais, por economia. Os estagiários são importantes, mas no lugar deles. Quem fizer isso, estará arriscando a credibilidade da empresa.

E mexer em código “simultaneamente” sem um controlador de versão (SVN/CVS), é um tiro no pé, ainda mais em instituições grandes.

Cara, não creio que o caminho seja esse e, talvez, seja muito mais simples que isso.

Se o código de uma aplicação não é macarrônico, sabemos exatamente as partes afetadas por uma alteração. Se for macarrônico, já começamos errado, e isso só justificaria uma política mais rígida de testes. Só podemos justificar esse caso em códigos legados. Se não for um “legadão” (bem antigo), com certeza a empresa está com “sobrinhos” como analista de sistemas, líderes e até gerentes.

A solução, no meu ponto de vista, é: alterou, faz passar por todas as atividades do processo novamente.

O problema, ainda sob meu ponto de vista, é que queimam etapas, principalmente em alterações pequenas. Mas avaliar se uma alteração é pequena ou não, em primeiro lugar, é subjetivo. Em segundo lugar, não acredito nessa história de alteração pequena.

Alterou, faz passar novamente por todas as atividades do processo. Isso, na minha visão, é obrigação em grandes corporações e desejável em médias e pequenas.

Abraços.