Proposta de indicadores para análise de negócios e análise de requisitos

No “The Developers Conference” em São Paulo, este ano, eu palestrei sobre uma proposta de indicadores para análise de negócios / requisitos. Indicadores para nortear a análise, ter feedback sobre o processo e agregar mais valor para o trabalho dos analistas. 

Vinicius Carvalho palestrando no TDC

Neste artigo apresento esta proposta e os pontos positivos e as oportunidades de melhoria que obtive junto com a equipe de analistas durante na implantação desses indicadores. 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

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