Categoria: Assuntos Randômicos (Página 5 de 6)

Entendendo o Triângulo de Ferro, porque não podemos ter tudo

A maioria dos projetos atrasa, estoura o orçamento e ainda fica aquém do esperado. Em geral damos um jeitinho de contornar essas situações, mas sempre há um preço a ser pago: trabalhar até mais tarde, diminuir a qualidade, perder a reputação e a confiança do cliente.

Existem diversas fontes de problemas que afetam um projeto de software, desde a negociação até a entrega. Porém, acredito que a maior contribuição para o constante fracasso do planejamento é oriunda de uma negação interior, lá no fundo, do fato de que…

Não podemos ter tudo

O grande desejo de todo administrador é produzir com o mínimo de recursos, no menor tempo possível, o produto com maior valor e qualidade do mercado. Mas não é assim que as coisas funcionam. Algo deve ser sacrificado.

Irei enfatizar essa verdade, de que não podemos ter tudo, com algumas analogias corriqueiras, pois é um paradigma para todas as esferas da vida. Quando usamos ingredientes baratos e de baixa qualidade em nossa alimentação, aliviamos o bolso mas a saúde vai de mal a pior. Se economizamos no material de construção, logo teremos goteiras e infiltrações. Se contratamos o buffet mais “econômico” para o casamento, os convidados irão, no mínimo, sair reclamando de fome e, no pior caso, acabar no hospital com intoxicação alimentar. Quando aplicarmos esse princípio conscientemente em nosso trabalho teremos menos dificuldades em entender nossos fracassos.

Se montarmos uma equipe somente com programadores juniors, podemos esperar qualidade? Se temos desenvolvedores experientes, mas o tempo é escasso, podemos esperar que todas as funcionalidades sejam entregues?

Perceba que, no contexto de um projeto de software, existem elementos que funcionam como variáveis de uma equação, gerando consequentes restrições. Se mexemos em uma delas, todas as demais são afetadas. Como abstraímos e representamos esse conceito?

O triângulo de ferro

O Triângulo de Ferro

O Triângulo de Ferro 1

O “triângulo de ferro” (iron triangle), “triângulo do projeto”, “triângulo das compensações”, “triângulo das restrições” ou ainda “restrições triplas” é uma representação do relacionamento entre as principais variáveis de um projeto: recursos, tempo e escopo. Existe ainda um quarto elemento, ou quarta dimensão, que alguns autores acrescentam: a qualidade. Esta seria resultante das decisões tomadas em relação às demais variáveis.

Através do triângulo de ferro conseguimos visualizar certas consequências do *trade-off *das escolhas e restrições de um projeto. Em suma, o que a figura nos ensina é: todos os aspectos do projeto estão interligados. Não é possível alterar um deles sem afetar os demais. Recursos, tempo, escopo e qualidade possuem uma relação implícita.

Na prática: Quer mais qualidade? Aumente os recursos ou o tempo! Quer aumentar o escopo? Aumente o tempo ou os recursos! E assim vai…

Porque nós, desenvolvedores, deveríamos nos preocupar com isso?

Todo gerente de projetos deveria conhecer o triângulo de cor e salteado. Porém, o ideal é que todos os envolvidos em um projeto tenham um grau de consciência dessas restrições. Digo isso porque, falando especificamente da área de TI, a equipe de desenvolvimento sofre uma série de pressões do cliente e da gerência no decorrer do projeto e torna-se essencial equilibrar essas variáveis, reconhecendo aquilo que está dentro das possibilidades e tomando a decisão adequada. Os clientes sempre querem que entreguemos mais funcionalidades, com mais qualidade e mais rapidamente, mas com os mesmo ou até menos recursos. Quando a gerência não trata disso, a corrente arrebenta no elo mais fraco, isto é, os desenvolvedores “pagam” pelos diversos erros em todos os níveis do projeto tendo que fazer inúmeras horas extras.

Em minha experiência, o melhor remédio para o trabalho em excesso é a prevenção. Uma coisa é colaborar para o sucesso do seu empregador, outra é aceitar tudo o que lhe é imposto. Nós, desenvolvedores, devemos aprender a analisar a situação e, ao detectarmos problemas no projeto, negociarmos de antemão. Isso significa que, se sua empresa está prometendo o que você sabe que ela não pode cumprir, é melhor deixar isso claro desde o início para os responsáveis. Não estou dizendo para você desafiá-los ou confrontá-los rudemente, mas sim tentar expor de modo gentil e firme seu ponto de vista. Se eles derem ouvidos, ótimo, de outra forma, ao menos eles perceberão que você é um profissional sério e sabe o que está fazendo.

Entendendo as variáveis do projeto

Recursos

Embora o termo “recurso” seja ofensivo para alguns quando se trata de pessoas, ele é adequado quando falamos do investimento em um projeto. Esse investimento se traduz na contratação ou alocação da equipe, nos equipamentos necessários, espaço físico e outros itens. Embora, devido ao overhead, a quantidade de recursos não seja tão proporcional à produtividade, ainda assim podemos afirmar que, no geral, quanto mais recursos maior é a produtividade.

Tempo

Geralmente existe uma data limite definida pelo negócio, devido à uma janela de oportunidade, onde o software deve ser entregue.

Escopo

Quais funcionalidades serão entregues? Nem todos os requisitos e funcionalidades possuem a mesma prioridade. Num processo iterativo de desenvolvimento, deve-se definir junto ao pessoal de negócios quais funcionalidades trazem mais valor. Nem sempre é possível fazer tudo.

Qualidade

A qualidade é uma quarta dimensão entre as variáveis do projeto, a qual é influenciada pelas demais restrições. Como qualidade não é algo objetivamente mensurável, não há como fixar um valor para essa variável. Entretanto, se existe um padrão mínimo de qualidade para o projeto, devemos ajustar as demais variáveis de modo a atingir esse objetivo.

Conjugando as restrições

A fim de planejar, o gerente do projeto deve considerar as restrições, fixar as variáveis críticas e então estimar as demais. De forma incoerente, alguns tentam fixar todas elas, o que sempre resultará nas falhas descritas no início deste artigo. Quantas e quais variáveis são fixas, depende do projeto e do modelo de desenvolvimento adotado.

Variando o escopo e fixando os recursos e o tempo

Se temos uma equipe e um prazo fixos, então devemos estimar quais funcionalidades poderemos entregar de acordo com a produtividade da equipe dentro do tempo disponível.

Variando os recursos e fixando o tempo e o escopo

Temos um conjunto de funcionalidades a serem implementadas até uma data limite. Podemos então estimar o esforço necessário para completar a tarefa dentro do esperado. Quantas horas e quantos desenvolvedores serão necessários para completar as tarefas?

Variando o tempo e fixando o escopo e os recursos

Contamos com N desenvolvedores para entregar X funcionalidades. Com isso, estimamos em quanto tempo concluiremos o projeto.

Variando a qualidade

O projeto está atrasado. Não há tempo, nem como obter ajuda porque não há mais pessoas com conhecimento do projeto e ninguém quer negociar com o cliente uma entrega parcial, já que o relacionamento com ele está desgastado há meses. Então todos aceleram o passo. Testes? Para quê? As horas extras vão ajudar a pagar aquela fatura do cartão, não é? Será possível fixar tempo, escopo e recursos?

Então, na noite de sexta-feira, todos limpam o suor do rosto e suspiram de aliviados. A release já está no cliente. De alma lavada vão para o seu merecido descanso, pensando em como ultrapassaram as expectativas. Até a segunda de manhã, quando o cliente liga muito bravo devido à quantidade absurda de erros. Parabéns, foi entregue um produto no prazo, no orçamento e completo, mas que não funciona. Um software de péssima qualidade que demandará mais tempo de manutenção que desenvolvimento!

Você conhece algum caso onde o sistema foi enviado ao cliente sem passar por testes porque os desenvolvedores só concluíram o que foi prometido em cima da hora?

A qualidade é influenciada de diversas formas, sendo os principais fatores relacionados às pessoas envolvidas, tais como: equipe inexperiente ou desmotivada, pressão para concluir o projeto, dificuldades de comunicação.

O que vale mais para você?

Variáveis fixas e estimadas conforme o tipo de plano

Variáveis fixas e estimadas conforme o tipo de plano 2

A gestão “tradicional” de TI geralmente foca no plano. Por “tradicional”, entenda aquilo que temos feito vez após vez nos últimos anos de forma irrefletida. Planeja-se a implementação sequencial das funcionalidades de acordo com a quantidade de recursos e o tempo disponíveis. “Vamos começar pelos cadastros mais simples, para ir pegando o jeito, depois avançamos para as regras de negócio mais complexas”, é algo comum de ouvir, uma tendência natural que se percebe.

Em contrapartida, processos modernos, principalmente os ágeis, procuram focar em trazer valor ao cliente. Com uma equipe e iterações fixas, priorizam-se as funcionalidades que mais beneficiarão o cliente e, a cada iteração, uma nova versão funcional do sistema é entregue. Ao aplicarmos o Princípio de Pareto (regra do 80-20), em tese, pode-se entregar 80% do valor do sistema nos primeiros 20% do projeto.

Lições e Conclusões

O triângulo de ferro é apenas uma representação, mas nos dá um referencial para entendermos as consequências das escolhas que fazemos. Não podemos ter tudo. Mesmo quando alguém acha que pode, na verdade estará sacrificando algo. No que se refere ao desenvolvimento de software, geralmente é a qualidade.

Um projeto é mais que cronograma, um gráfico ou qualquer documento, não podemos manipular a nosso bel-prazer. Se tentarmos forçar as variáveis do projetos certamente afetaremos algo. Justamente por isso o nome “triângulo de ferro”.

Além da adoção de um processo adequado, de ações preventivas e de boas práticas em todas as fases e áreas do desenvolvimento de software, as melhores formas de lidar com as inevitáveis restrições e dificuldades dos projetos são: aprender a negociar as restrições junto ao cliente e à gerência e priorizar devidamente as funcionalidades de modo a entregar algo de valor ao cliente.

Para concluir, uma citação que usei na minha monografia sobre estimação de software:

Frequentemente falta aos gerentes de software firmeza de fazer o pessoal esperar por um bom produto 3


Referências

1) O Triângulo das Restrições de Gerenciamento de Projetos (acessado em 30/09/2013)

2) Scope, Time & Cost Triangle Balancing To Motivate Team and Satisfy Client (acessado em 30/09/2013)

3) BROOKS, F., The Mythical Man-Month, Addison-Wesley, 1975

Papai Noel não dá presente para programador que deixa o comentário do commit vazio

papai-noel-commit

O quão ruim é pedir “confirmação de leitura” dos e-mails que eu envio?

mail-noEsta é uma dúvida comum de gerentes de projetos e outros profissionais que, de forma cotidiana, trabalham com comunicação dentro das empresas. Como centralizadores de informação, eles são responsáveis pela comunicação efetiva entre os interessados de um projeto. Por ser comum as empresas adotarem softwares de e-mail (Outlook, Live Mail, entre outros) que trazem a “incrível” funcionalidade de “confirmação de leitura”, nada melhor que usar tal recurso em todos os e-mails para garantir que os envolvidos estão recebendo as comunicações devidas, não é mesmo? Errado!

O que é a confirmação de leitura?

É basicamente um e-mail automático de resposta avisando que uma mensagem foi aberta. A pessoa que lhe enviou a mensagem pode ativar uma configuração global de “confirmação de leitura”, isto é, todas as mensagens dela pedem confirmação, como também ativar seletivamente por e-mail enviado. Quando você recebe o e-mail, a configuração padrão é perguntar se você quer confirmar o recebimento. Em caso afirmativo, uma mensagem será enviada de volta ao remetente.

Veja abaixo imagens da configuração de “confirmação de leitura” e da mensagem de confirmação que você vê ao receber um e-mail.

Muitas pessoas ativam a opção global de solicitar confirmação de leitura para todas as mensagens e não refletem sobre o as consequências disso.

Como as pessoas encaram a confirmação de leitura

Certo gerente estava cogitando pedir confirmação em todas as comunicações que iria realizar, mas antes iniciou um debate num fórum. Os participantes da discussão foram unânimes em responder que os profissionais em geral consideram essa atitude como algo, no mínimo, rude.

Há ainda uma sensação de invasão de privacidade, ao visualizar uma mensagem e ser interrompido por uma caixa de diálogo perguntando se você quer confirmar o recebimento.

Outro problema é que pessoas ocupadas olham rapidamente novos e-mails e os marcam como “não lidos” para depois tomarem uma ação adequada. Elas não querem ter sua atenção desviada naquele momento, principalmente se há documentos anexos que demandariam a interrupção do fluxo de trabalho. Nesse caso, a mensagem de confirmação de leitura gera uma contradição, pois o conteúdo do e-mail não foi devidamente analisado e não há uma opção de enviar a confirmação posteriormente.

Por esses e outros motivos, várias pessoas simplesmente desativam por completo qualquer resposta de confirmação de leitura. Eu sou uma delas.

Razões erradas para usar a confirmação de leitura

Um dos motivos ocultos que estão por detrás do uso da confirmação de leitura é que o emissor do comunicado (gerente do projeto, administração, gestor, etc.) quer delegar à ferramenta a sua responsabilidade de garantir a eficiência da comunicação. Ele pensa que, se a leitura for confirmada, então já “passou a bola pra frente” e a responsabilidade não recai mais sobre ele. Agora, de mãos lavadas, caso a execução do projeto não ande de acordo com o plano, ele poderá orgulhosamente abrir sua caixa de e-mails e apontar para o culpado pelo atraso do projeto dizendo: “olha aqui a confirmação de que você recebeu o comunicado X no dia Y”. Isso é um tiro no pé. O recebimento e leitura de uma mensagem não podem ser confundidos com comunicação efetiva de forma alguma, muito menos se pensarmos em conseguir a colaboração e o compromisso dos envolvidos, que são coisas bem diferentes.

Outra possível razão para alguém desejar receber confirmações de leitura é a curiosidade de saber quem lê seus e-mails e quando. Não é preciso ir a fundo para dizer que é uma péssima ideia, pois basta saber que a maioria dos seus colegas irá se aborrecer, ignorar o pedido de confirmação e a curiosidade não será satisfeita no final.

Conclusões

A “confirmação de leitura” não garante a eficiência da comunicação. Para todos os efeitos, ela não é confiável para nenhum fim.

O uso de tal recurso pode causar mais problemas do que ajudar e deve ser restrito a determinadas situações, quando houver prévio acordo entre as partes, onde emissor e receptor concordem que será útil para um objetivo específico.

Usa notebook/laptop? Atenção com a saúde!

Há alguns dias minha esposa começou a reclamar de dores nos pulsos. Contextualizando, ela trabalhava comigo em desenvolvimento de software e está bem acostumada a usar computadores cotidianamente há anos. Refletindo sobre o que pode ter ocorrido, ela chegou à conclusão de que a única mudança significativa que ocorreu recentemente foi que, há aproximadamente dois meses, troquei o desktop da minha casa por um notebook.

Através de uma rápida pesquisa percebi o quanto fomos ignorantes nesse sentido. Há anos a tendinite e outros males têm sido associados ao uso excessivo de teclados e outros periféricos. Entretanto, a “nova geração” de usuários de dispositivos móveis, por alguma razão, parece ignorar os riscos à saúde que podem advir do uso cotidiano desses aparelhos.

Problemas comuns durante o uso de notebooks

Notebooks são portáteis, relativamente fáceis de carregar e usar em qualquer lugar: sofá, cama, banquinho. Justamente aí começam os riscos, pois alguns princípios básicos que aprendemos com o uso de computadores desktop parecem ter sido esquecidos quando os trocamos pelos seus primos móveis, tais como: colocar o monitor na altura da vista, manter uma postura ereta e apoiar confortavelmente os pulsos.

Usar o notebook no colo pode gerar desconforto devido ao aquecimento. De qualquer forma, evite usá-lo em qualquer superfície “fofa” para evitar superaquecimento.

Recomendações saudáveis para o uso de notebooks

Sempre que possível conecte monitor, teclado e mouse ao notebook. Não fique com preguiça.

Além disso, todas as recomendações de saúde para PCs desktop aplicam-se  também aos notebooks, tais como: evitar o uso prolongado, alongar-se e descansar a vista em intervalos regulares, manter uma distância de pelo menos 50 centímetros da tela e corrigir constantemente a postura.

Ergonomia para o uso de laptop

Curiosidades

Embora os computadores portáteis sejam comumente chamados de notebooks, principalmente aqui no Brasil, o termo laptop parece ser mais comum nos países de fala inglesa.

A palavra lap é traduzida pelo termo colo, então laptop é literalmente algo que fica em “cima do colo”. Essa é a forma que muitas pessoas usam esse aparelho, mas com certeza os fabricantes não estavam pensando na saúde dos usuários quando conceberam o produto.


Seguem algumas referências internacionais, pois ao que parece ninguém por aqui está muito preocupado com isso:

  1. http://www.core77.com/hack2work/2009/09/laptop_ergonomics_simple_steps.asp
  2. http://www.uclic.ucl.ac.uk/people/r.benedyk/laptops.pdf
  3. http://www.ergonomicrescue.com.au/laptop_ergonomics.htm

O que é um sistema legado?

Legacy-Software Se você é de TI, tenho certeza que já ouviu diversas vezes a expressão “sistema legado”. Porém, a não ser que você tenha realizado uma pesquisa por conta própria, duvido que alguém tenha se dado ao trabalho de lhe explicar o que isso significa. Como ocorre com diversos jargões, muitas pessoas os usam sem saber seu exato significado e quem ouve fica constrangido de dizer que não sabe exatamente o que aquilo significa. Assim surgem as lendas. Afinal, todos nascemos sabendo algo tão óbvio, não é mesmo?

Definindo um sistema legado

Mas o que é um sistema legado? Alguns dizem que é um sistema antigo, outros que é um sistema recebido de terceiros e há quem diga que é um sistema que não pode ser alterado. Na verdade, não existe uma definição única do que é um sistema legado, mas existe um conjunto de indicadores que devemos analisar. Vejamos alguns:

Tempo de Vida

Um sistema “velho”, desenvolvido há um tempo relativamente grande, não é necessariamente um legado. O tempo que um sistema tem pode ser um indicador inicial de alerta, mas não define um sistema como legado.

Utilidade

Um sistema velho que não é mais usado não é considerado um legado. Um bom indicador de um sistema legado é quando o mesmo ainda é essencial para o negócio, isto é, não se consegue abandoná-lo.

Tecnologias e Hardware Obsoletos

Um terceiro indicador de um sistema legado é a sua obsolescência. Alguns sistemas funcionam em hardware antigo, principalmente mainframes, cujos componentes são extremamente caros. Linguagem de programação, ferramentas de desenvolvimento, protocolos, bancos de dados e formatos de arquivos depreciados também são itens importantes.

Dificuldade de Manutenção

Um outro indicador é se os desenvolvedores originais do sistema já se aposentaram ou trocaram de emprego e é difícil encontrar mão-de-obra para manutenção. Na verdade, se “colocar a mão num vespeiro” é uma metáfora válida para mexer em um sistema, quase certamente você possui um legado em mãos.

Documentação

Alguns autores afirmam que uma característica de sistemas legados é a falta de documentação. Discordo completamente. Se fosse assim praticamente todos os sistemas modernos também seriam legados. 😉

Entretanto, se ninguém conhece as regras de negócio implementadas em um sistema e não é possível extraí-las da implementação de alguma forma, isso pode ser um indicador de um legado.

Criando um sistema legado

Além das características de um sistema, existem determinadas ações, ou a falta delas, que colaboram para ele tornar-se um legado.

Não projetar adequadamente

O principal ato produtor de sistemas legados ocorre logo em seu nascimento. Um sistema crítico do ponto de vista do negócio sem um projeto adequado inevitavelmente se tornará em um legado muito mais rapidamente, tão logo ele seja implantado e novas funcionalidades sejam difíceis de adicionar.

Não realização de melhorias

A complexidade de um sistema aumenta na medida em que ele é alterado para atender a novas necessidades do negócio. Código é acrescentado e modificado sem controle, tornando-se cada vez mais desorganizado e confuso. Sem refatoração e melhoria da qualidade interna, chega um momento em que é quase impossível alterar uma funcionalidade sem impactar em outra.

Como diz um colega: “esse sistema é igual cobertor curto, você cobre o pé e ele descobre a cabeça, cobre a cabeça e ele descobre o pé”. Já ouviu de casos onde, para cada bug corrigido, dois novos eram introduzidos? Eu já vi um caso onde decidiu-se não arrumar um sistema devido ao medo dele parar de funcionar, pois as consequências das alterações eram imprevisíveis.

Conclusões

Vimos diversos indicadores de sistemas legados, além de alguns itens sobre como nós, desenvolvedores, contribuímos para o surgimento deles.

Uma definição mais genérica e abrangente de “sistema legado”, que aprendi com meu orientar de monografia, é a seguinte: a partir de um momento do ciclo de vida do sistema, sua arquitetura torna-se tão complexa ao ponto do custo de manutenção ser maior do que o custo de desenvolver um novo sistema. Há várias questões nessa definição, nas quais não vou entrar em detalhes, mas a ideia geral é que, se o custo de acrescentar novas funcionalidades é um impeditivo para o negócio, temos um sistema legado.

Enfim, não há uma regra absoluta para definir o que é um legado, mas tais conhecimentos sobre esse tipo de sistema certamente ajudam em decisões gerenciais e também no desenvolvimento de novos sistemas, desde que tomemos ações contra a complexidade crescente do software que prolonguem sua vida útil.

Quer aperfeiçoar seu Inglês de verdade?

1294030956_153223871_1-Aulas-de-ingles-em-Dubai-JBR

Há algum tempo publiquei dicas sobre como comprar livros em Inglês por um preço bem razoável no The Book Depository e como estudar Inglês em casa de graça. Desde então vários colegas expressaram sua vontade e necessidade de se aperfeiçoarem nesse idioma.

Refleti bastante sobre o que poderia dizer a eles procurando entender o processo de minha próxima experiência. Não sou nenhum poliglota, mas desde que desisti do curso básico de Inglês numa escolinha de idiomas convencional, tenho estudado por conta própria até o nível onde leio com fluência, escrevo em fóruns, entendo palestras, vídeos e filmes e participo de conversas sem problemas.

Cheguei à conclusão que o período onde realmente ocorreu um salto em meu aprendizado foi quando comecei a ler. Livros não técnicos, com assuntos variados de seu interessante e escritos por bons autores. Esta é a melhor dica que posso dar para quem, como eu, não teve a oportunidade de passar um tempo num país de fala inglesa.

Estudo e entretenimento não combinam

Muitas pessoas recomendam (como eu já fiz) filmes sem legenda, músicas e outros tipos de entretenimento. Porém, em minha experiência, o progresso é relativamente bem menor, a não ser que se queira aprender expressões coloquiais e palavrões. O vocabulário da grande maioria dos filmes e músicas atuais são extremamente pobres. No caso das músicas, muitas vezes a poesia não tem sentido. Misturar estudo e entretenimento, em minha opinião, no mínimo não é eficiente. É possível aprender alguma coisa, mas é uma forma mais “preguiçosa”, pois a verdade é que ninguém pausa o filme para procurar uma palavra no dicionário.

Porque tanta gente faz curso e não aprende

Embora seja interessante ter um professor para questionar e treinar conversação, infelizmente muitas escolas não possuem professores capacitados para transmitir conhecimento. As lições padrão, principalmente para crianças e jovens, são infantis demais e sempre com os mesmos temas. Por outro lado, os alunos não estudam em casa e frequentemente fazem as lições apenas por fazer. Para eles, o importante é passar, como na escola regular.

Pessoalmente, eu não tenho interesse, nem recomendo, cursos convencionais de Inglês. São extremamente caros e o retorno é baixo.

Como ler e estudar

Baseado nas minhas reflexões, proponho a seguir um guia de estudo muito simples. São apenas direções e princípios gerais que possuem como requisito apenas um conhecimento básico da gramática inglesa, a qual se aprende no Ensino Fundamental ou Médio.

Compre um bom dicionário

Queime aquele dicionário de bolso que comprou para a escola. Invista num dicionário de verdade, um “tijolo”.  Eu tenho e recomendo o Longman.

Selecione um bom livro

Não escolha o que está na moda. Procure um autor conceituado (Lewis, Tolkien, …). Também não selecione livros técnicos, pois não se aprende um idioma com eles, mas uma linguagem técnica.

Entenda o contexto

Ajuda se você tiver familiaridade ou mesmo dominar o assunto do livro. Eu garanto que, com sua intuição, você será capaz até de prever o significado de diversas palavras se for capaz de acompanhar o raciocínio do autor.

Comece devagar

Não tenha pressa em ler. Dependendo do seu nível, talvez leve alguns dias para ler a primeira página. É assim mesmo, não desista!

Anote todas as palavras novas

Circule ou anote todas as palavras que você não conhece. Dependendo da velocidade de leitura, leia um parágrafo ou página por vez, então pare, consulte e anote o significado das palavras. Finalmente, leia novamente o trecho, repetindo o processo até compreender o conteúdo.

Não pule

Não leia por ler. Leia até entender o que está ali. Peça ajuda se necessário. Então leia novamente até fazer sentido.

Não pare por aí

Procure outras fontes relacionadas: opiniões sobre o livro na Amazon, críticas, artigos sobre o assunto. A partir do momento em que você vai dominando uma área específica de conhecimento em outro idioma, fica mais fácil expandir seu conhecimento sobre outros temas relacionados e, à partir daí, construir um ponte até outras áreas.

Seja persistente

Não desanime se o ritmo for devagar no começo. Esta é a questão! Nós temos dificuldades em aprender qualquer coisa justamente porque estamos sempre pulando a parte difícil.

Colha os resultados

Quando comecei a ler meu primeiro livro usando esses princípios, lia uma página por dia, no máximo. O uso do dicionário era intenso. Quando cheguei na metade já eram 3 a 5, pois já estava acostumado com o vocabulário e consultava menos o dicionário. Até o final já me sentia bem à vontade.

No final, comece tudo novamente

Ao terminar o livro, você terá absorvido muito do outro idioma. Entretanto, existem inúmeros outros assuntos e autores a explorar, cada um com seu vocabulário. Procure outro livro e comece a expandir seu conhecimento em uma área diferente.

Seguindo essas dicas simples, variando os temas de leitura, estou certo de que em um ou dois anos estará perfeitamente habituado com o Inglês em diferentes contextos. A partir daí, sim, faz sentido assistir filmes e ouvir músicas para treinar a audição, mas sempre com critérios de qualidade.

Finalmente, espero que minha experiência lhe ajude e encoraje.

Morte por Power Point!

EPSON scanner image

Calma… o título é apenas uma brincadeira. Mas que tem muita gente morrendo de sono por aí, isso sim é verdade!

Bem, é certo que existem muitas pessoas que odeiam PPTs. Algumas até fazem campanha contra eles. Não que apresentações de slides sejam ruins por natureza, mas a culpa recai sobre todos nós, usuários de softwares como o Power Point. Iludidos por pseudo-animações, efeitos de transição e sons (argh!), fomos de alguma forma convencidos de que tais recursos multimídia são um diferencial em nossas apresentações.

death-by-powerpoint

Quem já não tentou fazer caber aquele texto fantástico em um slide, diminuindo o tamanho da fonte? Só para depois dizer: “eu sei que não dá para ler aí do fundo, mas está escrito que…”. Mais interessantes ainda são as transições de texto letra a letra. O indivíduo que incluiu esta funcionalidade no softwares de apresentação é um “trolador” de alta categoria.

A verdade é que, em geral, a audiência se distrai com os efeitos especiais; por amor ou por ódio. Mas como evitar que isso aconteça?

Dicas para criar uma apresentação eficaz

Conteúdo
Prepare o conteúdo antecipadamente. Não comece criando slides a partir de um modelo e depois recheando a apresentação de conteúdo. Organize as ideias e tópicos antes de partir para a parte visual.

Visual
Vá direto ao assunto. Transmitir a mensagem de forma efetiva é o objetivo. Portanto imagens, animações e textos devem colaborar para isso, mas não significa que o design tem que ser simplista. Pergunte-se: isso é apenas um enfeite (distração) ou contribuirá para a apresentação?

Apresentação
Treine e obtenha feedback. Evite falar demais, não seja redundante e mantenha-se no tempo.

Enfim, não tenho a pretensão de ser exaustivo. São apenas alguns pontos gerais que considero importante. Diversas dicas específicas podem ser encontradas por toda a web.

Alternativa Interessante

Ser diferente às vezes é bom. Já pensou em usar uma alternativa ao Power Point?

Existem diversos sites que indicam essas alternativas, mas gostaria de apontar uma. Há alguns dias venho testando uma plataforma de apresentações num estilo bem diferente do sistema de slides comum. É o Prezi.

Basicamente, você tem um espaço onde colocar toda a informação da apresentação. Então, a “câmera” se movimento de um ponto a outro, aproximando-se ou afastando-se (zoom). Apresentações conceituais, onde os slides relacionam-se uns com os outros, podem se beneficiar grandemente deste tipo de visualização.

Para efeito de exemplo, criei uma versão do meu currículo utilizando um template. Para falar a verdade, foi uma sugestão da própria plataforma, então decidi arriscar. Confira o resultado:

Não conseguiu ver? Tente atualizar a página com F5 ou clique aqui.

O Prezi é gratuito e a edição da apresentação é feita online, mas na versão paga há um aplicativo desktop para quem precisa editar offline. De qualquer forma dá para fazer o download da apresentação caso você fique sem conexão à Internet.

Experiências de uma monografia

Cursar uma pós-graduação, aproveitar ao máximo todas as matérias, adquirir conhecimento em diversas áreas, fazer networking, amadurecer profissionalmente, etc. Tudo isso é muito bom, mas é preciso uma monografia para obter plenamente a formação almejada.

Enquanto estou na reta final do desenvolvimento de uma monografia sobre estimação de software para finalizar o curso de Especialização em Engenharia de Software, meu orientador sugeriu que eu escrevesse sobre esta experiência. Gostei muitíssimo da ideia e, nas próximas linhas, irei discorrer brevemente sobre o desafio de escrever um texto acadêmico que, espero, seja de um bom nível.

Tudo aqui foi baseado na minha própria experiência pessoal. Isso significa que não pretendo escrever um guia completo, mas talvez evitar que o leitor caia em certas armadilhas. Imagine isso como uma conversa entre dois colegas sobre o assunto, sendo que um já passou pela experiência.

Desenvolver uma monografia bem feita não é fácil. É necessário tempo, dedicação e persistência. Se você somente quer um diploma, pode parar de ler agora. Não perca tempo.

O que é uma monografia

A wikipédia dá uma definição bem clara: é um tipo de trabalho acadêmico escrito com base em pesquisa sobre um determinado ponto da ciência.

Geralmente uma monografia não inclui novas descobertas, dados inéditos ou reflexões elaboradas, mas é fundamental para a formação e amadurecimento do estudante, permitindo que este adquira profundos conhecimentos que, muitas vezes, vão além do escopo do texto.

Um Projeto

Minha primeira dica é: pense na monografia como um projeto. Ela não é somente um texto grande cheio de citações que você escreverá uma vez.

Analogamente ao software, você terá que desenvolvê-la iterativamente numa espécie de modelo evolucionário. Falei grego? Tradução: você terá de escrever, revisar, melhorar, reescrever, corrigir, reorganizar, revisar, incrementar, reescrever, reordenar até atingir um texto de bom nível.

A monografia deve ser bem estrutura e possuir sequência lógica de argumentos. Cada parágrafo deve convergir para a afirmação ou argumento central.

Não faça isso!

Não escolha qualquer tema

O tema é muito importante para você. Será necessário aprofundar-se nele. Provavelmente você investirá mais do seu tempo nisso do que em qualquer disciplina do curso. Pense muito bem de que área você gosta e cujo aperfeiçoamento pode trazer benefícios profissionais.

Um professor que tive dizia que devemos escolher um tema que já conhecemos, dentro da nossa “zona de conforto”. Discordo. Primeiro porque a maioria das vezes que pensamos conhecer um tema, na verdade o conhecimento consiste em experiências empíricas ou estudos superficiais. O tiro pode sair pela culatra quando você percebe que o iceberg é muito maior do que realmente se pode ver.

Não comece escrevendo

É uma tentação começar a escrever logo, tanto quanto codificar um sistema sem a devida análise. Se o leitor tem experiência em projetos, aproveite a metáfora e aplique seus conhecimentos de engenharia.

Antes de produzir algo, é necessário ter certo grau de profundidade no assunto. Discuta com seu orientador os conceitos envolvidos e procure nivelar o entendimento sobre os assuntos que você deseja incluir.

Leia o máximo que você puder em potenciais bibliografias e faça muitas anotações. Posteriormente, quando a estrutura do trabalho já estiver delineada, será possível distribuir as referências nos devidos tópicos e evitar a necessidade de ler todo o material novamente.

É muito ruim você chegar num estágio avançado, com prazo curto, e descobrir que um capítulo inteiro não faz sentido e jogá-lo fora. Ou ainda perceber que é necessário acrescentar um novo capítulo com noções teóricas sobre uma área que você nem cogitava, o que significa voltar ao estágio de pesquisa, incluir novas bibliografias, e assim por diante.

Não saia de casa sem…

Um ótimo orientador

Tive dificuldades em conseguir um orientador. Os professores com que tinha alguma afinidade ou decidiram não orientar nenhum trabalho ou não respondiam e-mails. É um problema que vários alunos do curso enfrentaram, acabando por ficar com qualquer orientador que aceitasse o trabalho. Infelizmente, isso não se resume à instituição em que estou matriculado.

Devido a essa dificuldade, resolvi escrever a monografia por conta própria e esperava que assim algum professor se interessasse. Lembre-se: não faça isso!

As disciplinas regulares haviam terminado e eu não tinha mais contato direto com os professores. Como ainda não tive retorno de e-mails, decidi concluir a monografia por conta e simplesmente pedir a aprovação para qualquer professor.

Entenda que eu estou acostumado a estudar por conta própria, aprender sozinho. Não espero muito de professores, até porque boa parte não sabe muito além do conteúdo da disciplina. Minha expectativa se resumia a aprender somente com a pesquisa.

Porém, minha obstinação em não fazer as coisas mal feitas não me deixou em paz. Falei com o coordenador do curso e ele me sugeriu contatar outros docentes da faculdade que não foram meus professores. Essa foi a solução. Finalmente encontrei um orientador de verdade. Então percebi como isso faz toda a diferença.

Com poucas horas de conversa, ele já abriu a minha visão para conceitos que talvez eu demorasse alguns anos para captar e que, segundo ele, muitos autores também não conseguem perceber. Praticamente reestruturei e reescrevi toda a monografia, mas não porque isso foi exigido, é algo natural.

A coisa tem funcionado mais ou menos assim: primeiro ele examina um ponto do meu trabalho. Se não está bom, ele não diz algo como “isto está errado, escreva dessa outra forma”. Ele faz uma pergunta, que muitas vezes é mais que suficiente para que eu enxergue minha ignorância e acabe com um facepalm. Depois ele explica de forma bem detalhada o conceito. Pronto! Após analisar alguns pontos dessa forma minha mente já está novamente carregada de ideias e preparada para mais uma rodada de revisões. Não é preciso riscar todo o trabalho de vermelho.

Enfim, se você quer mais que ler e juntar material sobre um assunto (o que para mim não justifica um curso), desbravar novos horizontes e agregar novas visões e abordagens sobre o tema, amadurecer realmente, seja um bom discípulo e procure um bom mestre.

Boas fontes bibliográficas

Alguns autores, ou grupo de autores, podem ter uma visão um tanto tendenciosa sobre um tema.

Vou tomar os processos ágeis e “tradicionais” como exemplo. Dependendo do material que você tiver disponível, terá a impressão de que um determinado processo ágil é a sétima maravilha do mundo e que ele resolve todos os problemas em projetos de software. Por outro lado, ao ler um livro de CMMI ou RUP você acabará com a ideia de que a empresa que adota esses processos terá sucesso garantido em todos os projetos.

Há alguns meses eu diria que seria possível, depois de pesquisa suficiente, determinar qual modelo, processo, técnica ou método de estimação é o melhor. Depois percebi que não é possível fazer tal afirmação de forma objetiva e científica. Mais recentemente, após algumas conversas com meu orientador, percebi que a questão em si não é apenas estimar. A estimação contribui para algo maior, que é o entendimento do ambiente do projeto e a variáveis que o influenciam. Enfim, a questão não é o método em si, mas determinar a essência do problema, o que estamos tentando resolver. A partir disso, seleciona-se uma abordagem adequada, entendendo seus princípios e como ela contribui para a solução.

Enfim, não estou afirmando que você deva evitar livros que adotam certo ponto de vista. Apenas garanta que estão incluídos pontos de vista conflitantes e que você entendeu qual é a questão realmente em jogo para tentar conciliar essas visões.

Ler muito

Sem leitura, seu texto será resumido a conhecimento empírico. Nivele seus conceitos e terminologias com o dos autores para diminuir o retrabalho futuro.

Anotar tudo o que achar interessante

Não adianta escrever um texto academicamente maravilhoso sem citar as fontes. Aquela afirmação genial que você não se lembra de onde tirou não terá peso acadêmico sem o respaldo do autor original.

Além disso, imagine-se tendo que parar de escrever e perder um tempo precioso para folhear todo um livro a procura de um trecho interessante.

Discutir as ideias com seu orientador

Antes de colocar as ideias principais no “papel”, verifique se você não está equivocado.

Ler ainda mais

Já enfatizei a importância de ler e de selecionar boas fontes bibliográficas. Entretanto, na medida em que você amadurece no entendimento do tema, revisões ajudarão a manter o foco e novas leituras preencherão as lacunas.

Abordagens para uma monografia

Seja egoísta, no bom sentido

Pense no que você quer ou precisa aprender. Não espere salvar o mundo ou revolucionar o mercado através do trabalho, pois ainda que ele seja muito interessante e referenciado, o principal beneficiário do conteúdo acaba sendo o próprio autor, o qual leva consigo todo o conhecimento incluído ali.

Também não procure agradar seu professor simplesmente concordando com tudo o que ele propor. Tenha forte consideração pelos conselhos dele, mas lembre-se que no seu dia-a-dia como profissional ele provavelmente não estará lá para lhe dar as respostas.

Iterativa e Incremental

Estruture o esqueleto do trabalho, ou seja, defina os capítulos e os principais tópicos. Verifique se isso faz sentido como um raciocínio contínuo. Então comece a preencher os “espaços” com conteúdo de forma que cada citação ou ideia que você teve irá para seu provável destino final. Ao terminar você provavelmente terá ideias de tópicos que faltaram. Tome nota de tudo, tire dúvidas com o orientador, leia mais e então revise cada item desde o começo, do começo ao fim.

Dessa forma, você itera sobre todo o texto várias vezes e incrementa o conteúdo dos tópicos a cada revisão. Como em qualquer projeto, faça isso até que o conteúdo esteja suficientemente bom segundo seus critérios e do orientador.

Conclusão

Uma monografia pode ser encarada como um “trabalhinho” de final de curso ou como uma poderosa ferramenta de aprendizado através de pesquisa e orientação.

Meu conselho é: use-a como um trampolim para crescimento profissional e também pessoal. Encare-a como um projeto a ser desenvolvido, não fique satisfeito em ajuntar um punhado de teoria, lute até extrair algo que faça sentido no mundo real, no seu dia-a-dia, de forma que você não saia o mesmo desse processo.

Aprenda Inglês de Graça

Aprender outro idioma é fundamental. Ponto. Inglês é essencial para a área de TI. Ponto.

Estudar numa escola ou com um professor particular pode ser muito bom, embora seja necessário conciliar horários, se locomover até o local, correr o risco de não ter um professor qualificado ou imprevistos pessoais que não permitam o aproveitamento das aulas. Ou você simplesmente gosta de correr atrás do conhecimento por conta.

Buscar material na internet ou através de livros é uma forma de aprender ou aperfeiçoar o outro idioma. Existe bastante conteúdo online para autoaprendizagem, inclusive gratuito. É possível estudar e aprender de graça!

Por um lado, quem busca um curso online com tutores e certificados pode acessar o www.englishtown.com, que conta com alunos de todo o mundo, professores nativos e cujo certificado tem equivalência a exames reconhecidos como IELTS e TOEFL.  Mas tudo isso tem um preço, partindo de R$ 119,00 mensais. Entretanto, este site também disponibiliza gratuitamente e-mails diários com lições de Inglês. Conclusão: só vale a pena se houver tempo, interesse e dedicação.

Por outro lado, há opções gratuitas para se aperfeiçoar o Inglês sem compromisso. Vejamos duas delas que eu pessoalmente recomendo:

British Concil – Learning English

Site: http://learnenglish.britishcouncil.org/en/

Possui uma variedade interessante de conteúdo: gramática, vocabulário, vídeos, áudios, atividades, jogos e até piadas. Uma categoria interessante é Business & Work, com vários assuntos e atividades relacionadas a empresas e ao mercado de trabalho. Outra seção importante é a que ajuda na preparação para o exame IELTS.

Além do Learning English, o British Concil disponibiliza outros três subsites:

  1. Learning English Teens: conteúdo para adolescentes
  2. Teaching English: conteúdo para professores de Inglês
  3. Learning English Kids: conteúdo para crianças

English as a Second Language Podcast (ESLPOD)

Site: http://www.eslpod.com

Disponibiliza conteúdo em áudio (aproximadamente 3 vezes na semana) para treino de vocabulário e entendimento do inglês falado.

Cada lição começa geralmente com um diálogo de fácil entendimento, em velocidade reduzida e num contexto específico. Então, o professor revisa toda a conversa, analisando o significado de expressões e chamando a atenção para gramática, etc. Ao final, o mesmo diálogo é repetido, mas desta vez de forma natural, como um norte-americano falaria no dia-a-dia.

Opcionalmente pode-se adquirir o guia de estudo para cada podcast por US$ 10,00 mensais.

Agora é com você. Dedique-se e aprenda Inglês de graça.

Oracle Certified Master, Java EE 5 Enterprise Architect (310-052)

A certificação de arquiteto é o último nível a ser alcançado dentro todas as certificações Java.

Um arquiteto Java EE seria capaz de definir a base tecnológica de um sistema em Java atendendo os requisitos não funcionais (segurança, escalabilidade, desempenho, disponibilidade, etc.) dentro das restrições do projeto.

Os requisitos são:

  • Ter certificação inicial como Programador Java
  • Ter pelo menos uma das certificações intermediárias, tais como: Componentes Web (JSP e Servlets), Enterprise Java Beans (EJBs), Desenvolvedor Java e outros.

Entretanto, o processo para concluir essa certificação não é tão simples como as demais.

Se você tem pretensão de atingir este nível, arranje tempo e prepare o bolso.

Em primeiro lugar, são três fases: uma prova, um projeto e um questionário sobre o projeto. Todos em Inglês. Cada um deve ser pago separadamente (uns 300 e poucos reais).

Além disso, dependendo do seu nível de experiência com Java, você terá que estudar diversos materiais.  Entre as bibliografias que eu recomendaria estão:

  • Design Patterns do GoF
  • Core JEE PAtterns (2ª ed.)
  • SCEA for Java Study Guide (2ª ed.)

Porém, a lista contempla apenas a primeira fase, ou seja, a prova. Esta contém 64 questões e deve-se obter pelo menos 60% de aproveitamento. Em geral as questão contém um cenário específico e você deve identificar a melhor solução para o dado cenário.

Em nenhuma das fases é necessário conhecer as APIs em detalhes, como decorar tags, métodos e itens do Deployment Descriptor, mas deve-se ter conhecimento abrangente das APIs e suas respectivas capacidades, aplicabilidades, vantagens e desvantagens. As principais APIs são: JSP, Servlet, JSF, EJB 3.0, JPA, JMS, JAX-WS (é bom saber o básico sobre JAXB, JAXR e StAX), JAAS, SAAJ e JMX. Então já se prepare para estudar ainda outros materiais diferentes.

A segunda fase consiste em propor uma arquitetura para um sistema fictício atendendo os requisitos não funcionais propostos. A modelagem pode ser feita usando UML e sua correta utilização conta na nota. Para quem possui relativa experiência com UML e passou a fase anterior, este passo deve ser mais fácil, pois são requeridos apenas quatro diagramas (classes, componentes, deployment e sequência ou colaboração).

Na terceira e última fase você responde a um questionário com 8 questões abertas sobre a segunda fase, de forma a provar que foi você quem fez a arquitetura e verificar se suas decisões de projeto foram tomadas conscientemente (por exemplo, a API X foi usada para atender o requisito de desempenho ainda que sacrificando a manutenibilidade). Esta fase é a mais fácil, desde que você tenha realmente feito o projeto e consiga se expressar em Inglês.

Enfim, é um longo caminho (principalmente na primeira fase), correspondendo tanto monetariamente quanto em dificuldade à quase 3 certificações distintas.

Para saber mais, veja a página oficial.


Update:

Desde o ano passado, a Oracle definiu que seria obrigatório realizar um curso, dentre alguns reconhecidos por ela, além de passar nas 3 fases da certificação de arquiteto. Isso não me casou tanta surpresa, já que as demais certificações dessa empresa dependem de cursos.

Porém, todavia, entretanto, contudo… não considero justo obrigar profissionais que usam uma determinada tecnologia, software ou ferramenta diariamente, enfim, conhecem todos os detalhes, a pagar pelo curso para obter um certificado, o qual obteriam sem nenhum problema apenas estudando por conta, como é o meu caso.

Sei que estou advogando em causa própria, mas fica aqui o meu singelo protesto.

Página 5 de 6

Creative Commons O blog State of the Art de Luiz Ricardo é licenciado sob uma Licença Creative Commons. Copie, compartihe e modifique, apenas cite a fonte.