Principais comandos de Docker: Usando containers no desenvolvimento de software

Ao desenvolver uma aplicação, torná-la acessível para colegas de equipe e para o cliente pode se tornar um desafio. Afinal, na sua máquina funciona, mas e no Sistema Operacional de quem precisa testar? Pois é, para resolver comportamentos inesperados que geram gargalos no projeto, surgiu o conceito de Container e o Docker.

O que são Containers?

Containers compartilham de um mesmo Sistema Operacional, diferente das tradicionais VM’s (Virtual Machines, ou Máquinas Virtuais) que necessitam de enormes capacidades de disco e memória para rodar diversos SO’s. Um container isola recursos e permite uma comunicação mais fácil entre diferentes containers. Assim, basta que o outro usuário tenha o Docker instalado para acessar sua aplicação em seu container.

Saiba mais sobre o surgimento do conceito de Container, além de DockerFile e Docker Compose nesse artigo de Larissa Roder.

Principais comandos de Docker: Ciclo de Capacitação gratuito!

Quer entender mais sobre o Docker e aprender a começar?  O desenvolvedor Pedro Mázala apresentou um Ciclo de Capacitação em formato de vídeos para explicar:

  • Os problemas enfrentados sem utilizar containers
  • O diferenciar de criar aplicações containerizadas
  • As desvantagens de Virtual Machines
  • Como funcionam Containers na prática
  • O uso de imagens
  • Como personalizar sua imagem
  • Como aplicar Docker em produção
  • Os principais comandos de Docker

Leia mais

Lightning Talk – A minha experiência com a Alexa

Você conhece a Alexa? A assistente virtual da Amazon.com é uma das tecnologias que chamam mais atenção hoje, por possuir inteligência cognitiva para atender comandos de voz. No caso dessa assistente, em especial, temos algumas polêmicas como o fato da assistente rir repentinamente para os usuários. Isso desperta muita curiosidade sobre como é, de fato, utilizar a Alexa no cotidiano.

Alexa, assistente de voz com inteligência cognitiva da Amazon.com

Como um usuário americano de 72 anos interage com a assistente virtual Alexa?

Para entendermos melhor como a assistente de voz funciona, convidamos o usuário Bill Whitake para contar sua experiência. Bill é um aposentado americano de 72 anos, ex-integrante da Marinha dos EUA e reside no Brasil há 2 anos. Já participou de vídeos com o Tinbot e é primo do ator George Clooney!

Usuário idoso interagindo com assistentes virtuais

Bill Whitake e Tinbot

E falando em Tinbot, temos nesse Lightning Talk a participação de Marco Diniz, desenvolvedor do robô assistente, interativo e programável. Marco trará a explicação técnica sobre a Alexa, esclarecendo tudo o que a assistente de voz é capaz de fazer com sua inteligência cognitiva.

Assista ao Lightning Talk para conferir esse bate-papo!

Confira a experiência do usuário com a assistente de voz da Amazon.com, e veja como a tecnologia influencia o comportamento de um idoso.

A conversa com Bill foi realizada em inglês, mas não se preocupe! A conversa foi mediada para que todos possam entender.

Assista abaixo:

E aí, você gostaria de interagir com um assistente virtual como a Alexa? Deixe nos comentários o que achou dessa conversa!

 

O papel de UX (User Experience) em projetos de software

Quando o termo User Experience (em português, Experiência do Usuário) foi cunhado por Don Norman, no início dos anos 90, podíamos contar nos dedos as empresas que realmente pensavam em entregar produtos alinhados às expectativas dos usuários. Por muitos e muitos anos, o que era levado em conta na hora de entregar um produto era simplesmente a capacidade de algo funcionar e ponto final. Não havia muito tempo (ou recurso) disponível para tentar entender quais eram os problemas reais dos usuários e o que eles realmente queriam. Se considerarmos que a maioria dos softwares produzidos na época eram voltados às empresas, fica ainda mais fácil de entender porque o usuário era jogado pra escanteio: o produto tinha que se adequar ao que o cliente quer, afinal, é era ele quem estava pagando. 

Entretanto, no “mundo dos usuários”, a tecnologia era vista como vilã e a “arte” de entendê-la era restrita a poucos. Isso foi, um grande problema para os usuários, que se sentiam intimidados por esse novo cenário. Isso demandava um alto tempo de treinamento e utilização do produto, o que era custoso demais para todos os envolvidos no processo: os desenvolvedores.  Leia mais

O que são Requisitos Não Funcionais

A engenharia de requisitos define os requisitos não funcionais, ou requisitos de qualidade, como sendo os requisitos que especificam critérios que podem ser usados para descrever o funcionamento de um sistema, e não os comportamentos específicos, pois para isso é utilizado os requisitos funcionais. Os não funcionais estão ligados ao limite de uso e as propriedades da aplicação e são muito importantes no projeto de desenvolvimento de um software, pois caso sejam negligenciados, podem trazer prejuízo para o seu projeto.

O usuário não sabe o que é, por isso é difícil elicitá-lo

Nossos Usuários costumam pensar apenas nas funcionalidades que o sistema deverá ter e como deverá ajudar em seu negócio, esquecendo de pensar sobre questões como a quantidade de dados que o sistema deverá trafegar, qual a quantidade de acessos simultâneos e até menos em quais sistemas operacionais o sistema deverá funcionar. E muitas vezes o usuário realmente não sabe como levantar essas informações ou que essas informações são vitais para o projeto. E uma das tarefas dos analistas é ajudar os clientes a levantar esses dados ao iniciar um projeto.

Leia mais

O que projetos de desenvolvimento de software e cervejas artesanais tem em comum?

Você pode achar que a comparação é absurda, mas sim, a produção de uma cerveja artesanal pode ser comparada a projetos de software desde a primeira etapa. E é nesse primeiro momento da contratação de uma fábrica de software que vamos focar aqui: a análise de requisitos é indispensável tanto para o software que você pretende utilizar, quanto para a cerveja que deseja degustar. Mas fique tranquilo: desenvolvedores não trabalham alcoolizados.

Vamos então criar um paralelo entre duas situações: de um lado, a necessidade de um software para uma farmácia. De outro, o desejo de uma cerveja exclusiva para uma festa de fim de ano.

Imagine então que essas são as únicas informações passadas, tanto para a fábrica de software, quanto para a cervejaria. Um tanto amplo, não? Afinal, qual o tipo de software e com quais funções? E a cerveja, qual será a família, a cor, o teor alcóolico? Servirá quantas pessoas? Esse procedimento de especificar o que precisa é a Análise de Requisitos, indispensável para uma estimativa de prazos, preços e o alcance de resultados assertivos.

Cada software e cada cerveja tem seus objetivos

Dentro dessa análise, o primeiro passo seria a definição do objetivo principal e secundário.

Por exemplo:

  • Objetivo principal: Um software para farmácia.
  • Objetivo secundário: Que tenha fluxo de caixa.

E pensando na cerveja artesanal, seriam estes:

  • Objetivo principal: Uma cerveja artesanal especialmente para uma festa.
  • Objetivo secundário: Deve ser frutada.

Você deve concordar que ainda são informações amplas, que precisam de mais detalhes para que não existam frustrações e retrabalho. Vejamos então a segunda etapa da documentação. Leia mais

Desenvolvimento com fábrica de software vai além do menor preço

No desenvolvimento com fábrica de software, será que contratar quem oferece o menor preço é a melhor saída? Pode ser que sim, se você não valorizar a qualidade. Mesmo que você considere que seu projeto é algo simples (que não pode ser sinônimo de mal feito), deixar de lado a experiência de qualidade significa tempo, dinheiro e trabalho perdidos.

Por isso, olhe os diferenciais! Você pode avaliar se a fábrica de software oferece valor agregado mesmo antes de fechar negócio. Veja abaixo o que esperar de uma fábrica e como você pode contribuir para que o projeto seja um sucesso!

Aderência ao negócio

Se a fábrica de software não sabe o que o cliente espera do produto, o resultado tende a ser catastrófico.

Veja se a fábrica propõe visitas e se disponibiliza a fazer as reuniões necessárias para entender sua empresa, suas necessidades e a finalidade do software.

Entender a expectativa e mostrar a realidade

O que é possível e o que não é possível? Qualidade não é discutível em nenhuma hipótese, uma fábrica profissional não aceita práticas duvidosas que comprometam a entrega e a verdadeira solução do problema.

O desenvolvimento com fábrica de software precisa ser transparente e pontuar situações de risco.  Você gostaria de ser avisado antes de algo dar errado, não é? Então procure sempre uma fábrica que exponha todos os cenários e saiba medir riscos com antecedência. Isso é questão de confiança, credibilidade e segurança!

Exemplos de risco: volumetria e escalabilidade

A volumetria se refere ao número de informações dentro do sistema, e a escalabilidade mostra o quanto esse software pode crescer.

Imagine um prédio de 5 andares. A volumetria seria a avaliação de quantas pessoas esse prédio comporta. A escalabilidade observaria se a arquitetura aguenta crescer mais 5 andares. Ambas as informações impedem que medidas imprudentes sejam tomadas, prevenindo riscos. Leia mais

Omni Soluções Financeiras e a desburocratização por meio da plataforma mobile

O processo para concessão de crédito de veículos costuma ser bastante trabalhoso. Com a esperada recuperação na venda de veículos que vem sendo registrada nos últimos meses, a ANEF (Associação Nacional das Empresas Financeiras das Montadoras) estima que deverão ser liberados R$ 90,6 bilhões para o financiamento de veículos.

Facilitando o progresso

Com o segmento em ebulição, a Omni Soluções Financeiras revolucionou todo o processo de análise de crédito e anuncia a plataforma mobile e desktop Omni+, desenvolvida pela DB1 Global Software, que deverá beneficiar mais de 222 mil pessoas na cadeia, entre lojistas, agentes de crédito e consumidores. A mudança foi impulsionada pelo desejo de colocar o benefício aos clientes no centro do processo.

Como o Omni+ funciona

O APP Omni+ realiza a análise do crédito e simula as condições de financiamento de um veículo em poucos minutos, a partir do preenchimento de uma ficha de dados na tela de um smartphone, tablet ou computador. Também é possível ajustar as condições da compra às possibilidades do cliente em tempo real, com simples toques na tela.

O Omni +, primeira plataforma mobile e desktop da Omni Soluções Financeiras, proporciona os seguintes benefícios: Leia mais

Quanto vai custar e quando vai ficar pronto meu sistema?

Atualmente trabalho como Gerente de Projetos aqui na DB1 Global Software e gostaria de falar um pouco sobre uma situação que ocorre no meu dia a dia, pois penso que pode ajudar muitas pessoas. A situação é a seguinte:

A dificuldade do cliente em detalhar o que precisa

Quando um cliente necessita de uma solução sistêmica para resolver um determinado problema, um dos pontos que ele pensa é: “Quem vai me ajudar no desenvolvimento dessa solução? ”. Se ele possui uma equipe de TI interna e disponível, naturalmente repassará tal demanda para esse time. Caso contrário, ele vai ao mercado para contratar uma empresa de software para ajudá-lo e aí que mora o grande problema. Muitas vezes, o cliente não sabe como pedir/solicitar essa contratação e no geral, o instinto é enviar um documento “pobre/macro” a várias fábricas, pedir um orçamento de custo e prazo, e fazer uma comparação simplista para eleger qual empresa irá executar a demanda.

O que a fábrica deve fazer

Baseado nessa situação cotidiana, qual deve ser a postura de uma fábrica de software responsável? Ler o documento, fazer uma reunião de 10 minutos com o cliente e estimar por ordem de grandeza e enviar ao cliente? Sinceramente, não vejo que seja o melhor caminho. Pode até funcionar para sistemas pequenos, mas ainda assim não acho uma boa ideia. E por quê? Leia mais

Certificação, por que não?

Neste artigo, vamos abordar quais as principais vantagens e também as motivações que levam um profissional a buscar e se certificar, além de explanar sobre algumas certificações específicas para a área de análise de negócios.

Motivos para se certificar

Quais as vantagens, ou que deve te motivar a se certificar?

As certificações são criadas e emitidas por entidades especializadas em um determinado assunto ou tecnologia. Por exemplo, a Oracle é responsável pelas certificações em Java, a Microsoft pelas certificações em C#.Net, e o IIBA pelas certificações em Análise de Negócio. Estes institutos, em sua grande maioria, são detentores ou parceiros das tecnologias abordadas, no caso do Java e C#, ou são referências e geradores de padrões ou tendências de mercado em alguma determinada área, como o IIBA gera o BABOK. A seguir serão explanados alguns pontos referentes aos motivos e vantagens em obter uma certificação. Leia mais

Dicas para uma boa Análise de Requisitos

Uma boa Análise de Requisitos pode fazer toda a diferença em um projeto de
software, e por ser um documento muito específico que demanda conhecimento tanto
técnico quanto de negócio, precisa ser muito bem desenhado. Esse é um ponto crucial
para que no final do processo o software seja rápido, eficiente e apresente uma alta
performance. Temos também um artigo focado na importância e diferencial da Análise de requisitos, veja aqui.

Se a empresa contratante do serviço de desenvolvimento de software possuir um
analista especializado, um desenvolvedor ou um profissional técnico que possa se
envolver no projeto, ele pode construir o documento. Porém, se esse não for o caso, o
melhor a fazer é também contratar esse serviço de maneira terceirizada.

Os 3 pontos-chaves  para uma boa Análise de Requisitos

  1.  Entender a importância do documento e construí-lo com a maior quantidade de informações possível;
  2.  Promover o trabalho em conjunto com a empresa desenvolvedora (que pode analisar e re-analisar até obter um produto final completo);
  3.  Saber que o levantamento de informações e a escrita da análise levam em média oito horas de trabalho, podendo chegar a quatrocentas, esse é um dado baseado em históricos de análises desenvolvidas pela DB1.

Leia mais