Postagens

Integração Contínua?

Integração contínua uma prática essencial na engenharia de software atual, e sem ela, não teríamos como garantir qualidade diante da complexidade dos modelos atuais. Quando falamos de integração contínua, temos que entender que essa prática tem como fundamento o modelo de equipe de desenvolvimento software onde os desenvolvedores fazem "updates" diários em suas estações de trabalho logo ao iniciarem suas atividades, e gerentes de projetos e líderes técnicos, verificarem os logs dos builds do dia anterior. Caso se demore para fazer "updates" ou ninguêm se importe com builds quebrados, integração contínua não faz se faz presente em sua melhor característica: "Capturar rapidamente bugs e também corrigí-los rapidamente". Temos que entender também, que a partir do uso desse modelo de desenvolvimento ágil com updates diários, surgiu a necessidade de ferramentas de automatização desses builds. Assim surgiram os servidores de integração contínua. Exemplos como Apa...

Um 2009 cheio de colheitas

Aos amigos e colegas. Final de ano... Época aonde as esperanças se renovam... Época aonde refletimos sobre o ano que passou e tentamos influenciar nosso futuro. Durante 2008, muitos investimentos, de tempo, de esforço, de dedicação. Plantamos sementes de realização, de amor, de felicidade, de esperança... Algumas frutificaram durante 2008. Temos que continuar a cuidar de nossa plantação, para que em 2009, possamos colher muitos frutos.... Um final de ano cheio de paz, harmonia e amor entre todos seus familiares, e um ano novo repleto de colheitas. São os votos do Fábio Dippold.

Reuso de Software

Reutilização. No contexto de desenvolvimento de software, esta é a palavra-chave para aumento de produtividade, qualidade e redução de custos. Quanto menos linhas de código são reescritas – fato que geralmente acontece por falta de planejamento e organização de conhecimento –, mais software novo pode ser criado. O aumento de qualidade se dá com a utilização deste código já bem documentado e testado. O ponto chave do sucesso dessas organizações é que elas possuem a coragem que falta em outras, para “perder” parte do seu staff, momentaneamente, "pensando e fazendo, exclusivamente" reuso de software e depois, se deleitar dos benefícios obtidos pela decisão corajosa. O reuso de software é o uso de software existente para o desenvolvimento de novo software. No reuso de software duas decisões estão envolvidas. A primeira é se devemos, ou não, adquirir software para reusar. Sistemas operacionais devem ser comprados, bibliotecas de códigos devem ser desenvolvidas, ou compradas, arqu...

Comunicação eficiente

A maioria dos projetos é uma salada de personagens e interesses. Alguns apóiam o projeto, outros o rejeitam. Alguns entendem que a metodologia pode trazer produtividade e controle, enquanto outros a consideram burocracia desnecessária. Há ainda aqueles que terão vários benefícios com o produto do projeto, e outros que serão afetados negativamente. Neste contexto, a comunicação é um fator essencial para obter melhores resultados e prosseguir com o projeto sem maiores tropeços. O Gerente de Projeto deve ter objetividade em sua comunicação. O fato é que nem sempre a informação que ele precisa chegará de forma direta e clara. Para isto, sugiro o seguinte: 1) Faça perguntas difíceis. É muito confortável fazer uma reunião na qual não há questionamentos… mas também totalmente inútil. O bom Gerente de Projeto sabe fazer as perguntas difíceis, que realmente trazem à tona a situação das atividades, expõem riscos e tiram a equipe da zona de conforto. A sensação falsa de controle é um dos maio...

Commited to open source

Uma frase muito comum no mundo dos negócios entre os grandes “players” do mercado de software (IBM, Oracle, Sun e outros) em relação do software livre é: “commited to open source”. Em outras palavras, as empresas desenvolvedoras estão aderindo ao modelo “open source” com uma presença cada vez mais relevante, para oferecer mais opções, flexibilidade e um baixo custo para computação para seus usuários finais. O Gartner prevê que “até 2012, 80% de todos os softwares comerciais irão incluir elementos tecnológicos de software aberto. Muitos dispositivos de software aberto são maduros e estáveis, permitindo redução nos custos e retorno do investimento.” Para desenvolver essa oferta junto a seus produtos, é necessário um significativo investimento em desenvolvimento, testes, otimizações e suporte a a essas tecnologias “open source” escolhidas como por exemplo: JBoss, Apache, Eclipse e outros.

Um vídeo que todos deveriam ver...

Pessoal, vi esse vídeo no blog de meu amigo Vicente e achei importante vocês que me visitam também o vejam. Obrigado Vicente. T+

Design Patterns

Na curta, porém rapidamente evolutiva história das ciências da computação e da engenharia de software, variaram muito as técnicas, métodos, processos, meios e recursos utilizados. Os projetos fracassavam com freqüência porque os desenvolvedores não conseguiam comunicar um ao outro bons projetos de software, arquiteturas e práticas de programação. Não faz muitos anos, estruturas de dados, fluxogramas e técnicas modulares de programação dominavam o cenário. Então, o paradigma de orientação a objetos iniciou sua trajetória. No contexto do desenvolvimento de software orientado a objetos, os padrões de projeto (…) tornaram-se um dos tópicos mais “quentes” na área de engenharia de software nos últimos anos. O simples uso da OO não garante que obtenhamos sistemas confiáveis, robustos, extensíveis e reutilizáveis. O foco das metodologias de desenvolvimento está na solução em si (o que e como) e não em suas justificativas (porque). “Um Pattern descreve um problema que se repete várias vezes em ...