Entregando no prazo com matriz de dependência

Você tem aquele backlog imenso. O P.O. já fez a priorização. Mas na verdade, ele priorizou apenas as features. Quando você olha o kanban mais de perto, percebe que há trocentas stories a serem feitas dentro de cada feature. E aí? Qual você começa primeiro? É sobre isso que vamos falar hoje. Leia mais

Blockchain: entendendo o hype

Blockchain é uma tecnologia que surgiu em 2008, e desde então, vem conquistando os holofotes. Com certeza você, que busca conhecimento sobre inovação, já ouviu falar de comércios utilizando a tecnologia blockchain em transações bancárias. O uso mais famoso é de blockchain aplicada ao Bitcoin, por exemplo. Dá para perceber que este assunto está no hype!

A ideia que surgiu com Satoshi Nakamoto retrata o propósito de trazer uma inovação disruptiva aos modelos de transações financeiras, como os quais acontecem hoje. O grande ponto é, que mesmo após 10 anos, toda a tecnologia blockchain ainda traz grandes discussões e repercussões no nosso dia a dia. Afinal, como funciona essa tecnologia? Podemos confiar nessa transação? Toda a operação envolvida na blockchain é segura? E aí, você entende desse assunto?

O conceito de Blockchain

Este conceito veio com o propósito de ser uma solução inovadora aos atuais modelos de transações financeiras, que exclusivamente, as transações online dependem de instituições financeiras que garantem o pagamento eletrônico. Toda essa intermediação causa custos de transações, e pelas transações serem reversíveis, aumenta o risco de fraude. A tecnologia blockchain vem para mudar esse sistema, trazendo uma revolução para esses modelos que são usados.

Para entender mais sobre isso, vamos imaginar uma rede de blocos que estão ligados por um hash (impressão digital – a unidade de medida do poder de processamento da rede) numa lista encadeada. Esta lista é similar ao trilho de um trem. Assim, cria-se um sistema formado por uma “cadeia de blocos”, sendo que as transações são colocadas dentro de cada um desses blocos, os quais são trancados por camadas criptográficas.

Segue um exemplo de como funciona uma rede de blockchain, onde os conteúdos são transmitidos de blocos para blocos:

Exemplo de rede em blockchain

O ponto principal é a ideia de descentralização: cada pessoa que faz parte dessa rede (participando ou minerando) tem uma cópia total desses dados, ou seja, a cadeia é perpetuada. Isso faz com que a blockchain tenha um protocolo de confiança, onde todos da rede podem validar.

Criptografia e Merkle Tree

Até aqui, vimos uma breve introdução do processo da blockchain. Mas agora pense, se a cadeia pode ser perpetuada, quando eu passo um dado para a rede blockchain, como vou saber que esse dado não foi alterado? É aí que entra o conceito de Merkle Tree, que funciona como uma “árvore de informações”, a qual é o ponto chave da segurança da criptografia da blockchain.

Para vocês entenderem mais a fundo como funciona essa tecnologia, no Lightning Talk abaixo, Pedro Mázala explica o hype sobre blockchain e os seguintes conceitos:

  • Rede de blocos ligados por um hash
  • Hash: função de derivar (impressão digital)
  • Descentralização (cópia dos dados)
  • Security de um hash
  • Protocolo de confiança
  • Lista encadeada (onde surgiu o primeiro bloco?)

E aí, esse Lightning Talk te ajudou? Se você aprendeu algo novo, então não deixe de compartilhar.

Até a próxima!

Dicas para aprimorar o Code Review

O Code Review (revisão do código) é um item importantíssimo da engenharia de software, mas pode ser muito negligenciado pelas equipes. A armadilha é enxergar a revisão apenas como uma forma de evitar erros antes da integração para a base do código, desconsiderando seu valor como descentralizador de conhecimento.

“Você aprende muito olhando o código de outros. Você pode ensinar alguém através do Code Review, e também pode aprender coisas legais “. Assim é iniciado o Lightning Talk “Tips to improve your  Code Review” (Dicas para aprimorar a revisão de código), ministrado por Wagner Voltz. Dessa forma, é necessário reservar tempo para o Code Review. Uma revisão “corrida” pode colocar a qualidade e o aprendizado a perder.

Então, para você que valoriza sua revisão de código e deseja aperfeiçoá-lo ao máximo, este Lightning Talk com menos de 12 minutos lista de práticas de forma simples e direta.

Tópicos do Lightning Talk sobre Code Review:

  • Code Review
  • Object Clisthenics
  • DoD – Definition of Done
  • Small commits

Leia mais

Como integrar Git e Delphi em passos simples

Quando há uma equipe com vários desenvolvedores atuando em um mesmo projeto, podem ocorrer conflitos de alterações. Também existe a necessidade de versionamento das alterações a fim de manter um histórico de todas as alterações realizadas para um melhor gerenciamento do código-fonte. O Git atua nesses dois pontos: no armazenamento do histórico (ou seja, controle de versão) e também na identificação/auxílio para resolução dos eventuais conflitos que podem ocorrer durante a evolução de um sistema por mais de um desenvolvedor simultaneamente.

Se não utilizamos a integração do Delphi com o Git, é necessário fazer o gerenciamento por outra ferramenta podendo ser pelo Git bash (linha de comando) ou então por uma ferramenta externa como por exemplo o SmartGit ou o GitKraken. Logo, uma das vantagens de usar o Delphi integrado com o Git é que você pode eliminar o uso de uma dessas duas ferramentas.

Porém, um fato é que a maior dificuldade é a de encontrar auxílio em português, pois a maioria dos tutorias para configurar a integração estão em inglês. No projeto em que eu atuo foi realizada a migração do TFS (Team Foundation Server) para o GitLab, gerando a necessidade de conhecer as ferramentas para utilizar a nova maneira de controlar as versões/alterações do sistema. Por isso, resolvi listar passos simples para que mais pessoas consigam fazer essa integração!

Além disso, explico também sobre Controle de Versão e como configurar ferramentas externas. Vamos lá? Leia mais

O dia a dia de um desenvolvedor com deficiência visual

O desenvolvimento de software já é difícil por si só. Para um desenvolvedor com deficiência visual, os desafios são ainda maiores. Alexandre Santos Costa, apaixonado por tecnologia desde a infância, enfrentou todos os obstáculos da deficiência para seguir seu sonho.

Com um bom humor fantástico, Alexandre conta sua história completa: desde a infância, com sua alfabetização e o momento em que se interessou pela tecnologia, até sua carreira como desenvolvedor e evangelista da acessibilidade e inclusão. Além disso, deixa sua expectativa para o futuro.

Ele desmistifica a ideia de “herói”: sua rotina é comum e qualquer pessoa pode se identificar. O que definiu a pessoa que se tornou hoje, segundo o próprio, foram cinco momentos de sua vida. Leia mais

Como se tornar relevante na área de tecnologia sem perder a humildade ou ser um rockstar

Se sobressair na área de tecnologia não é a tarefa mais simples. Para piorar, é comum ver empresas anunciando vagas com títulos audaciosos, como “Procura-se desenvolvedor rockstar”. Mas o que significa ser um “rockstar” na área de tecnologia? Será que isso é mesmo positivo?

Tirinha desenvolvedor rockstar

O ego é perigoso. Se espelhar em grandes nomes, como Steve Jobs e Linus Torvalds, é uma faca de dois gumes: você pode evoluir o talento que já tem, ou se tornar arrogante na área de tecnologia. É o que explica Gabriel Ferreira, desenvolvedor, instrutor e criador de conteúdo na Alura e grupo Caelum.

Para Gabriel, existem formas mais efetivas de se tornar relevante na área de tecnologia. E o melhor: sem abrir mão da empatia e da humildade!

Esses métodos foram explicados em forma de Lightning Talk, uma palestra rápida, durante a Semana do Programador na DB1. Aqui, disponibilizamos o vídeo completo para você.

Confira o melhor caminho para se destacar na área de TI:

Este Lightning Talk fez parte da nossa Semana do Programador! A última apresentação será postada no blog na próxima terça:

  • O dia a dia de um desenvolvedor com deficiência visual- Alexandre Costa (20/nov)

Veja também o Lightning Talk da semana anterior, sobre Segurança, Tecnologia e Inovação.

Acompanhe o blog para não perder os conteúdos. E se você quer receber mais informações sobre desenvolvimento de software, assine a newsletter da DB1 IT Services.

Lightning Talk – Um bate-papo sobre segurança, tecnologia e inovação

Para falar de Bitcoin e Blockchain, antes precisamos entender a evolução dos meios de pagamento. A necessidade de segurança é algo que a tecnologia vem tentando solucionar com suas inovações. Mas como isso funciona, na prática? Você sabe o potencial da Blockchain e o motivo para Bitcoin ser uma coisa tão revolucionária?

O Lightning Talk ministrado por Amanda Lima é assim: um bate-papo para que todas essas questões sejam respondidas. Mais do que isso, a intenção de abrir esse diálogo é enxergarmos para onde estamos indo, e como e tecnologia pode preencher outros gaps da sociedade.

Assista o Lightning Talk para entender:

  • A evolução dos meios de pagamento
  • Por quê o Bitcoin é revolucionário?
  • O potencial de tokenização em blockchain
  • A Disrupção do setor de serviços
  • Blockchain e a Lei Geral de Proteção de Dados (LGPD)
  • A função da inovação para a sociedade

Leia mais

É possível estimar desenvolvimento de software em Pontos de Função?

Quando pensamos em produtividade, a grosso modo significa a relação entre a quantidade produzida de algum “item” ou serviço dividida pelos insumos ou recursos necessários para sua produção. Ou seja, o conceito produtividade pode ser aplicado em qualquer tipo de trabalho e/ou serviço quando tratamos do meio empresarial. O maior desafio da maioria das empresas é ter uma alta produtividade, com produtos/serviços de qualidade e baixo custo de execução.

Os Pontos de Função no contexto de desenvolvimento de software

Pontos de função em desenvolvimento de software

Em uma fábrica de produtos como pneus, parafusos, portas, etc. definir as variáveis que serão utilizadas para o cálculo de produtividade é relativamente simples quando comparamos com fábricas de serviço, ou sendo mais específico, uma fábrica de software. Isso pois um sistema não depende de uma máquina programada para executar o serviço, depende exclusivamente de desenvolvedores de software, que são pessoas capacitadas para tal atividade, e como todos sabemos, pessoas nunca são iguais. Leia mais

Lightning Talk – A viewpoint about DevOps

Como definir o que é DevOps? Essa tarefa é muito difícil. É por isso que o Lightning Talk de hoje é intitulado “A viewpoint about DevOps” (Um ponto de vista sobre DevOps). Tiago Bono apresenta seu ponto sobre os seguintes tópicos:

  • O que é DevOps?
  • Por que e como usar DevOps?
  • O que DevOps NÃO é?
  • Princípios de DevOps
  • Como pensar DevOps para cada tipo de equipe e necessidade

Além disso, Bono encerra com um outro conceito: Teoria das Constraints.

Entenda DevOps em 15 minutos:

Este Lightning Talk fez parte da nossa Semana do Programador! Outras 4 apresentações serão postadas no blog nas próximas terças:

  • Um bate-papo sobre segurança, tecnologia e inovação – Amanda Lima (6/nov)
  • Como se tornar relevante na área de tecnologia sem perder a humildade ou ser um rockstar – Gabriel Ferreira (13/nov)
  • O dia a dia de um desenvolvedor com deficiência visual- Alexandre Costa (20/nov)

Veja também o Lightning Talk da semana anterior, sobre Progressive Web Apps.

Acompanhe o blog para não perder os conteúdos. E se você quer receber mais informações sobre desenvolvimento de sistema, assine a newsletter da DB1 IT Services.

Até a próxima!

Lightning Talk – Progressive Web Apps, será essa a nova tendência!?

Você já ouviu falar de Progressive Web Apps (PWA)? Talvez não conheça pelo nome, mas certamente essa metodologia já te salvou como usuário.

Isso mesmo, como usuário! É simples: se alguma vez você conseguiu acessar uma página web em seu celular sem conexão, isso só foi possível pela PWA.  É ela que te livra do “jogo do dinossaurinho” e permite acesso a determinados sites mesmo em modo avião. Vamos entender mais sobre Progressive Web Apps? Leia mais