Logo Tech Writers

Tech writers

Esse é o nosso blog para apaixonados por tecnologia! Aqui, softplayers e outros especialistas compartilham conhecimentos fundamentais para o desenvolvimento dessa comunidade.

SEJA UM TECH WRITER
Negócios inovadores e de impacto
Tech Writers Janeiro 07, 2022

Negócios inovadores e de impacto

https://open.spotify.com/episode/3uN1SCpdezUS0YFCpDLjY2?go=1&sp_cid=65617f9945b6dafa4bd6df3d4f755a20&utm_source=embed_player_p&utm_medium=desktop No nosso segundo episódio da Together in Tech, debatemos sobre a história do desenvolvimento da tecnologia e seus impactos. Hoje, no terceiro bate-papo, nós mostramos a concretização de como se deu esse avanço da tecnologia. Por isso, convidamos a Gerente de Operações da Construíde, Flávia Figliolino, para contar sobre oportunidades de negócios inovadores que geram verdadeiro impacto positivo na sociedade, como é o caso da Construíde. O que é a Construíde? A Construíde é uma organização não governamental (ONG) que tem como propósito impactar vidas através da construção de moradias dignas e com segurança. Esse projeto social foi consolidado há quase 5 anos e auxilia diversas famílias em vulnerabilidade, classificadas na classe D e E da sociedade (renda total de 0-2000 reais por mês).  Inovação dentro do cenário brasileiro Durante a conversa, Flávia expôs sua visão relacionada à inovação da Construíde e a importância de existir soluções revolucionárias para a sociedade atualmente. Como essa é uma organização sem fins lucrativos, o que é executado não gera um retorno financeiro. Por isso, o maior desafio que a empresa enfrenta hoje em dia tem ligação com a captação de recursos.  ”Quando a gente se depara em um cenário de atuação especificamente para esse público que nós atingimos, que é a classe D e E do Brasil, o que mais dificulta é a questão dos recursos, porque a inovação demora mais tempo para chegar pela falta de recursos e pela questão cultural/social.” aponta Flávia. A Construíde tem o objetivo de descobrir alternativas para viabilizar a inovação para lugares onde há pouca infraestrutura. Ou seja, encontrar um caminho que possa ser mais simples levar moradias dignas para famílias desamparadas para quebrar as barreiras culturais e sociais.  O papel da tecnologia na Construíde Hoje em dia, o avanço da tecnologia, junto da sua aplicação, tem sido um grande facilitador na vida das pessoas. No bate-papo, Flávia conta que seu foco maior como Gerente de Operações da Construíde é ajudar as famílias necessitadas. Só que, além disso, é preciso fazer o contato com agentes que possam viabilizar a construção de moradias. Ou seja, são duas pontas que precisam ter uma ligação para poderem ser possibilitadas. Nessa situação, quem faz o papel da tecnologia é quem está preocupado em achar soluções para levar inovações para a comunidade.  É muito comum o fato das comunidades não terem nenhum tipo de inovação. Há certas conjunturas em que famílias não possuem acesso à internet, por exemplo. A tecnologia tem a capacidade de compartilhar diversos tipos de conhecimento e informação, mas infelizmente muitas pessoas são privadas disso. No contexto da pandemia do COVID-19 isso dificultou bastante o aprendizado, pois as aulas estavam sendo feitas através do modo online.  ”Cada vez mais a gente está caminhando como sociedade, como humanidade, para entender que cada um precisa do outro. Ninguém construiu nada sozinho até hoje. As pessoas que se enxergam fazendo algo sozinhas, eu acredito que elas têm um prazo de validade menor. Cada vez mais estamos vendo o mundo precisando se reconectar” Flávia manifesta sua opinião a respeito da parceria de diferentes áreas de trabalho. Visões de mundo diferentes que se complementam A Gerente de Operações da Construíde acredita que a sociedade ainda está muito distante de se unir em diferentes áreas para se ajudar. Infelizmente, há diversas pessoas que pensam somente no próprio lucro do que realmente gerar algum impacto positivo para o coletivo. Além disso, o cenário das ONGs no Brasil também é algo delicado e que precisa de mais atenção por parte da população. Flávia expôs que ainda existem diversos empecilhos que dificultam que essa inovação chegue para todos.  Mas, a sociedade está no caminho certo, basta rever algumas questões para que tudo fique mais viável e acessível para todos. Precisamos usar a tecnologia e aprimorá-la cada vez mais para que possamos unir áreas distintas de trabalho e gerar inovações.  Gostou dessas reflexões? Ouça o bate-papo completo. Nele falamos de outras questões relacionadas com esse projeto social ligado a tecnologia. 

Como configurar Git no Windows e manter o projeto atualizado?
Tech Writers Janeiro 03, 2022

Como configurar Git no Windows e manter o projeto atualizado?

Quer aprender como configurar o Git no Windows e saber também como fazer para manter o projeto atualizado? Preparamos esse conteúdo para te ajudar!  Esse guia tem por objetivo facilitar o configurar o Git no Windows para quem não possui experiência alguma com o sistema. Ele também explica como realizar operações básicas, como configurar o client Git na máquina, clonar um projeto, adicionar, remover e editar arquivos.  Com o intuito de facilitar nossa explicação, dividimos o artigo em duas partes para te ensinar a configurar Git no Windows.  Alguns conceitos básicos, como, o que é um clone, pull ou push, não serão abordados aqui. Isso porque são conceitos mais teóricos sobre Git e o objetivo desse texto é explicar a parte prática. Para compreender esses conceitos, recomendamos a leitura deste artigo da Lumis.  É válido lembrar que o artigo indicado foi feito utilizando um servidor Gitlab. Logo, caso você queira trabalhar com GitHub, ou GitServer, seria necessário apenas adequar a navegação na hora de encontrar os comandos de clone para o seu repositório remoto. Como configurar Git no Windows e instalá-lo? Como ferramenta de interface gráfica Windows para o Git, utilizaremos o Tortoise Git. Essa ferramenta se integra ao Explorer do seu sistema, permitindo o uso do Git diretamente nas pastas de projeto. Para instalar, siga os seguintes passos: Baixe e instale o Git para Windows por meio desse projeto Git Hub ou desse link direto; Para instalar, basta dar “Next” continuamente até a finalização da instalação deste primeiro programa; Em seguida, faça aqui o Download do Tortoise (cliente Git para Windows); Inicie a instalação prosseguindo com todas as opções default definidas pelo programa; Na hora que for solicitado usuário e e-mail, informe nos campos os dados de usuário do seu servidor Git; Crie uma pasta centralizadora de seus projetos. Sugerimos que você crie na pasta raiz de seu usuário a pasta “git”. Após seguir esse passo-a-passo, o client para Git já está instalado em sua máquina e pronto para uso. Como configurar um projeto no Git para Windows? Após a conclusão da etapa anterior, é hora de configurar um projeto Git para Windows. Faça da seguinte maneira: Dentro da pasta Git que você criou (ex.: C:\Users\Seu_usuario\git), crie a pasta que guardará os dados do seu projeto (ex.: meu-projeto); Uma vez criada a pasta, clique com o botão direito em cima dela e no menu “Git Clone…”; Depois disso, vá no seu Git web, entre no projeto que deseja clonar, e clique no botão “Clone”, copiado o link do HTTPS; Cole na URL; Marque as opções Recursive e Branch, informando na branch “master” (caso você deseje trabalhar com a branch master); Aperte “OK”; aperte “Close”; Com isso, você terá o projeto configurado em seu ambiente local. Pegando a última versão: como atualizar o projeto Git?  É sempre interessante atualizar seu projeto. Isso evita conflitos com as alterações realizadas pelos demais colegas. Por isso, sempre inicie atualizando seu projeto, e, antes de mandar qualquer coisa para o servidor, atualize novamente. Isso tornará a sua vida muito mais fácil.  Para atualizar o projeto é muito simples: Vá até a pasta do seu projeto onde aparece o ícone verde; Clique com o botão direito, e no menu “TortoiseGit”, clique no botão “Pull”;  Clique em “OK”;  Caso queira ver as diferenças que vieram nessa atualização, clique no botão “Pulled Diff”; Caso não, basta clicar no botão “Close”. Este artigo continua na parte 2, onde vamos ensinar  a realizar operações sobre os arquivos no seu repositório Git. Fique atento à nossa página para não perder nenhum conteúdo! Gostou de aprender um pouquinho mais sobre como configurar Git no Windows?  Confira mais conteúdos como esse em nosso Blog!

Decorator: Saiba quando usar este padrão de projeto e veja um exemplo prático 
Tech Writers Dezembro 20, 2021

Decorator: Saiba quando usar este padrão de projeto e veja um exemplo prático 

O Decorator é um dos design patterns mais populares e úteis na programação orientada a objetos e é uma alternativa flexível e poderosa às subclasses tradicionais. Porém, sua implementação é relativamente semelhante ao Composite, o que pode gerar algumas dúvidas. Hoje, vamos descomplicar a aplicabilidade e conceito do padrão de projeto Decorator, abordado pela GoF (Gang of Four) em seu livro “Padrões de Projeto”. Continue lendo e descubra o que é o Decorator, quando usar e veja um exemplo prático! Qual é a definição do padrão de projeto Decorator? O Decorator é um padrão de projeto estrutural que permite adicionar comportamentos a um objeto dinamicamente, sem precisar alterar o código original do objeto. Ou seja, ele permite que você adicione ou remova comportamentos a um objeto de forma flexível e modular, sem a necessidade de alterar sua estrutura interna ou criar subclasses para cada combinação possível de comportamentos. O Decorator, também chamado de “Wrapper”, é o quinto padrão de projeto estrutural listado pela GoF. Sua intenção é relativamente simples de se entender, uma vez que ela apenas busca acrescentar alguma funcionalidade dentro de classes. Conforme descrito pelos autores: “Sua intenção é, dinamicamente, agregar responsabilidades adicionais a um objeto. Os Decorators fornecem uma alternativa flexível ao uso de subclasses para extensão de funcionalidades”. Aqui na Tech Writers também temos um artigo abordando outro padrão de projeto, o Strategy, que você pode conferir também. Diagrama oficial do livro “Padrões de Projetos: Soluções Reutilizáveis de Software Orientados a Objetos” Quando usar o Decorator? O padrão de projeto Decorator pode ser útil quando você precisa adicionar funcionalidades extras a um objeto sem alterar sua estrutura original, servindo de alternativa às subclasses tradicionais. Ele também é útil quando se tem várias opções de personalização ou combinação de funcionalidades e você quer evitar a criação de subclasses excessivas.Ou seja, ele é recomendado sempre que você precisar adicionar responsabilidades a um objeto de maneira flexível e dinâmica. Exemplo prático do uso do padrão Decorator Para entender melhor o conceito, vamos analisar um exemplo prático da implementação do padrão Decorator. Vejamos o seguinte cenário: Em uma determinada lanchonete, cada um dos lanches disponíveis no cardápio possui diferentes versões: normal, gourmet e vegano. Trazendo para o mundo do desenvolvimento, de qual forma poderíamos reaproveitar o máximo de métodos/atributos em comum entre cada um dos lanches (objetos)? Aqui, podemos aplicar o Decorator, onde o lanche gourmet e vegano são “variantes” de um lanche comum. Segue exemplo abaixo, utilizando um X-Salada e um Cachorro-quente como opções de cardápio: Podemos começar com uma declaração simples do que poderia ser o lanche. Para simplificar o Decorator, vamos apenas alterar o preço entre gourmet, vegano e comum. Assim, vamos ficar apenas com o método getValor(). Aqui, temos a implementação dos nossos lanches “comuns”. Estes objetos também são chamados de “componentes concretos”, dentro deste padrão de projeto. Cada um dos componentes concretos possui seus próprios atributos e métodos. Para simplificar, vamos focar apenas no valor dos lanches. Então, a primeira implementação do nosso Decorator aparece. Neste primeiro momento, ele serve apenas como uma classe intermediária para os decoradores concretos, que virão a seguir. Em alguns cenários, inclusive no nosso, a criação deste método é opcional, uma vez que ele apenas define a forma de instanciação dos decoradores filhos. Ainda assim, neste exemplo nós seguiremos a estrutura proposta pela GoF. Uma das principais desvantagens desta classe intermediária é o aumento de complexidade no código. Em um cenário mais real, esta classe poderia possuir alguns métodos e obrigar a sua implementação para as classes filhas. No nosso caso, estamos apenas delegando a implementação de getValor(), que vem da interface Lanche. Como decoradores concretos, conforme nosso exemplo, teríamos os seguintes: Como podemos observar, os Decorators, especificamente no nosso caso, possuem apenas uma modificação de incremento de valor. Este “comportamento extra” trazido aos lanches, servirá como modelo para decorar componentes concretos, como por exemplo o XSalada ou o CachorroQuente. Quando um LancheGourmet for instanciado com um XSalada como parâmetro portanto, um valor de “9,95” será acrescentado ao valor original do x-salada, e quando um LancheVegano for instanciado com um CachorroQuente como parâmetro portanto, um valor de “7,5” será acrescentado ao valor original do cachorro-quente. Obviamente, o incremento de valor é apenas um exemplo. Utilizando deste conceito, qualquer adição de funcionalidade ou alteração de comportamento poderia ser aplicado nos lanches. O importante é compreender o objetivo: ao invés de criarmos as classes CachorroQuente, CachorroQuenteVegano, CachorroQuenteGourmet, XSalada, XSaladaVegano, XSaladaGourmet etc., basta decorarmos os componentes concretos (XSalada e CachorroQuente) com nossos decoradores concretos. E você, já conhecia este design pattern? Ainda tem alguma dúvida sobre o Padrão Decorator? Deixe um comentário e confira outros conteúdos Tech Writers!

Produtos Tech: confira os principais insights da Trilha Product do Proud Tech 2021!
Tech Writers Dezembro 13, 2021

Produtos Tech: confira os principais insights da Trilha Product do Proud Tech 2021!

Com o intuito de desenvolver o conhecimento e a comunicação entre as empresas e pessoas da área de tecnologia, o Proud Tech é um evento online que já teve duas edições. Aqui, vamos resumir as apresentações sobre a trilha Produto Tech em 2021, que contou com a presença dos seguintes palestrantes: Misael Soares; Fabrício Massula. Se você não pôde comparecer ao evento e quer saber um pouco mais sobre ele, quais seus objetivos e de cada trilha, acesse o nosso conteúdo completo agora mesmo! Produtos Tech: B2C a B2B  Produtos tecnológicos podem ser aplicados em diferentes tipos de negócio. Os chamados produtos tech foram o tema da palestra de nosso parceiro Misael Neto, que falou sobre a transformação digital e seus impactos no comércio B2C e B2B. Misael destacou a existência de três características fundamentais dos negócios entre empresas. Esses pilares são muito importantes para o crescimento do seu negócio. Confira a seguir quais são eles:   1. Longos ciclos de venda Negócios B2B possuem prazos de contrato de médio e longo prazo. Por isso, é comum que as empresas façam pesquisas de mercado mais intensas. Dessa forma é possível fugir de fornecedores desqualificados. Fornecedores ruins podem atrapalhar o negócio durante muito tempo ou gerar prejuízo como uma quebra de contrato, por exemplo. É isso que faz a decisão de compra ser mais complexa. Dado ao grande número de fatores que devem ser levados em consideração, os esforços são holísticos. Não adianta só o setor de vendas fazer follow up. O marketing precisa ajudar com estratégias de captação e o atendimento precisa se destacar como diferencial competitivo. Além disso, Misael destaca que, na negociação B2B, as vendas mais recentes podem ofuscar as mais antigas. O comercial e o atendimento podem depositar muito esforço na captação e não prestarem a devida atenção aos processos de retenção e felicidade do cliente, o que pode gerar prejuízos. A dica de ouro da palestra foi não usar um atendimento padronizado e pouco pessoal. É preciso focar em criar estratégias comerciais e interpessoais alinhadas ao cliente e suas necessidades. O que o palestrante indica é que o vendedor tenha um contato direto com a pessoa que vai realizar a compra. Dessa forma, a troca entre empresas se torna mais personificada.  Os compradores não são usuários diretos Nunca se esqueça que o comprador não é usuário final. A aquisição costuma ser feita por setores que estão distantes da operação (como compras ou até a gerência), algo que merece sua reflexão. No caso das compras B2B relacionadas com tecnologia, o comprador está buscando melhorar o retorno sobre investimento (ROI), e o usuário busca uma excelente usabilidade da plataforma. A estratégia para se ter êxito nesse caso é oferecer produtos que sanem as dores administrativas (custo-benefício e retorno sobre o investimento) sem deixar de lado a usabilidade, fator indispensável para o sucesso do produto junto aos usuários finais. Por fim, Misael complementa que, nesse tipo de negociação, a empresa vendedora terá que lidar com uma rede complexa de influenciadores para a tomada de decisão. A organização tende a ser muito voltada a vendas Ao longo da palestra, outro fator de destaque foi pontuado por Misael: a necessidade de construir um setor de vendas de qualidade, moderno e que acompanha as tendências e discussões do mercado consumidor. Isso não é mais um fator de concorrência, mas uma expectativa dos clientes, que desejam contar com atendimento de qualidade, capaz de sanar suas dúvidas, e que esteja de prontidão para auxiliá-los nos desafios de implementação. Gestão de produtos tech em negócios de plataforma Ao falar sobre gestão de produtos tech, Misael Soares inicia a conversa conceituando o que é plataforma de gestão de trabalho.  Na sua visão, ela corresponde a um ambiente digital integrado que permite atuação holística dos setores da empresa e simplifica a troca de informações estratégicas. O palestrante apresenta duas principais subdivisões: Técnicas – Dev to Dev É um local que reúne diversos componentes, serviços comuns e ferramentas para desenvolvedores atuarem nas suas empresas. Geralmente, é um hub de soluções cross, que poderão ser utilizados de diversas formas, em diferentes momentos do desenvolvimento de um software. Alguns exemplos desse caso são: Azure; Google Cloud; AWS; Twillo; Stripe. Intermediação — Fornecedores para consumidores Para Misael, esse é o principal tipo de plataforma para empresas techs. Elas são separadas em diversas subcategorias. Confira abaixo as três principais: Conteúdo Para quem trabalha produzindo conteúdos, essas plataformas de intermediação disponibilizam ferramentas de criação, nas quais as pessoas podem criar materiais em diversos formatos. Market Place Para as empresas que estão fornecendo produtos, esse tipo de plataforma gera visibilidade, permite comparações com concorrência, oferece tecnologia, e ainda possibilita o reconhecimento no mercado. Para os consumidores, a ferramenta facilita a comparação de preços e confere transparência para a compra. É algo orientado para o usuário ter benefícios na negociação, como, por exemplo, comparar diversas ofertas. Extensão de produto Tem como objetivo aumentar o valor entregue aos consumidores. Ou seja, o time de desenvolvedores cria plataformas integradas ao produto e o cliente recebe uma experiência otimizada daquilo que está consumindo. Como uma iniciativa product centric mudou a vida do Fabrício Massula Outro ponto alto do evento foi a participação do Fabrício Massula. O empresário nos apresentou um case de sucesso a respeito da implementação do product centric no seu negócio, e quais foram os benefícios que isso gerou para sua empresa. Fabrício é o fundador da empresa Lett, que foi comprada pela Neogrid por R$38,5 milhões. No entanto, ele deixa claro que nem tudo foram flores nesse caminho. Massula e sua equipe passaram a analisar toda a experiência de compra de mercadorias do dia a dia, como leite, chocolate, entre outros itens.   Após verificarem alguns sites que disponibilizam a venda desse tipo de produto, eles observaram que muitas plataformas possuem informações equivocadas, fato que pode afetar significativamente o processo de vendas.  Foi então que desenvolveram um software para facilitar a gestão de produtos desses e-commerces. Para isso, utilizaram o ensinamento e a ajuda de empresas que já estavam no topo. E foi em um curso realizado com o Silicon Valley Product Group que Fabrício e sua equipe passaram a ter vários insights de como trabalhar sua nova plataforma. Tanto esse case apresentado por Fabrício, quanto as palestras realizadas por Misael, tornam clara a importância da tecnologia para o dia a dia dos negócios.  Isso demonstra a relevância de eventos como o Proud Tech para a vida dos empreendedores que necessitam de plataformas digitais e para profissionais que querem se atualizar e explorar novas soluções. Os espaços para a propagação do conhecimento e promoção do diálogo sobre produtos tech e outras questões ligadas à tecnologia são essenciais para o crescimento dos negócios. Se você quer conferir um pouco mais sobre o evento, quais os seus objetivos e as temáticas de cada trilha, acesse nosso site agora mesmo e fique por dentro para descobrir o que vai acontecer na próxima edição!

Arquitetura de software e estrutura organizacional: confira os principais insights do Proud Tech 2021!
Tech Writers Dezembro 08, 2021

Arquitetura de software e estrutura organizacional: confira os principais insights do Proud Tech 2021!

O Proud Tech é um evento online para profissionais de tecnologia que teve sua 2ª edição no dia 11 de novembro de 2021. Um dos temas mais importantes abordados no dia foi a arquitetura de software, um assunto voltado para quem deseja obter mais conhecimento e bons insights sobre a área tecnológica.  Reunindo especialistas de peso e vasta experiência como Rodrigo Branas, Elemar Junior e Klaus Wuestefeld, o evento deixou saudade, mas volta com tudo em 2022! Então, se você não conseguiu participar, não se preocupe!  Neste artigo vamos te mostrar tudo o que rolou e os principais temas abordados na plenária e que vão dar um up em sua carreira na área tech. Relação entre arquitetura de software e estrutura organizacional Na plenária sobre arquitetura de software e estrutura organizacional, Elemar Junior, CEO da EximiaCo e Chief Software Architect da PagueVeloz, comandou a palestra e, claro, foi um sucesso!  Na ocasião, foi explicado o conceito e a relação entre esses dois temas de maneira brilhante:  O que é arquitetura de software? É a forma como os sistemas operacionais e linguagens de programação funcionam. Por meio dela, é possível saber qual o tipo de software ou aplicativo será construído ali.   Nesse sentido, toda empresa que gera soluções precisa implementar a arquitetura de softwares nas atividades e orientar os membros da equipe como devem fazê-lo.   Dentro do tema, ele ainda citou a Lei de Conway que conceitua o seguinte: “Toda empresa que projeta um sistema, ela acaba produzindo uma cópia da estrutura de comunicação da organização.”  De uma maneira simples, isso significa que cada time precisa pensar nas fases do processo de construção de um software, dentro da estrutura organizacional: Apresentação Aplicação Domínio  Infraestrutura Posteriormente, as etapas que citamos anteriormente significam as equipes de uma empresa. Elas precisam se comunicar para testar os sistemas criados, corrigir erros e avançar para a etapa final.   Clean Architecture Na palestra sobre Clean Architecture, Rodrigo Branas deu um show de conhecimento. Ele, que é Arquiteto de Software e dono de uma empresa que desenvolve soluções para a área de educação, trouxe insights poderosos sobre o tema ao público. O conceito de clean architecture ou arquitetura limpa, criado por Robert Cecil Martin, trata-se de organizar os códigos de um software de maneira simples. Nesse sentido, a finalidade é deixá-lo facilmente ajustável caso seja necessário.  Ainda de acordo com Martin, a arquitetura limpa possui um tema principal que é: “O objetivo da arquitetura de software é minimizar os recursos humanos necessários para construir e manter um determinado sistema.” Portanto, é importante usar a arquitetura limpa em todos os processos de desenvolvimento de um software ou programação em uma empresa. Assim, será fácil desenvolver e ampliar as soluções de produtos criados por empresas de tecnologia.  LGPD Na plenária com Odair Biasi, Coordenador Jurídico na Softplan, ele explanou a importância do LGPD e os principais conceitos que podem ser aplicados nas empresas.  Conceito de LGPD de acordo com a Lei nº 13.709 / 2018: a Lei Geral de Proteção de Dados Pessoais foi criada para proteger os direitos de liberdade, controle e transparência sobre as suas informações.    Portanto, todos os dados jurídicos e pessoais tratados no Brasil ou no Exterior, precisam estar em conformidade com a Lei LGPD. Portanto, em uma empresa de tecnologia é muito importante que a equipe utilize essa lei quando for lidar com as informações dos clientes e da própria organização. Live Coding: Prevalence with TDD in Clojure Klaus Wuestefeld, CEO da Percival, comandou a plenária com uma palestra sobre Prevalence with TDD in Clojure. O conceito de TDD está respaldado sob três leis: Não é possível escrever um código de produção sem antes pensar em testá-lo; Não se pode estabelecer muitas falhas para um mesmo código, pois pode gerar erros de compilação; Assim como o excesso de testes, criar apenas um teste para o código do programa não é ideal.   Por que Clojure? Porque é a linguagem oficial de programação geral, sendo facilmente reproduzida em Java (JVM). Assim, fica mais fácil automatizar projetos a partir de Clojure / JAVA. Usar esse sistema otimiza o tempo e os recursos da empresa, já que os profissionais saberão o que e como fazer uma nova programação.   Já o Test Driven Development (TDD) são esses testes dentro do tema arquitetura de software que mencionamos agora. Eles servem para os desenvolvedores encontrarem erros em qualquer etapa dos testes e corrigi-los rapidamente.  Conclusão A Proud Tech nasceu da necessidade de promover a integração e comunicação entre as equipes. Essa é uma das formas de compartilhar conhecimento e se conectar com outros profissionais, gerando um bom networking.   Além de absorver o conhecimento dos especialistas que se apresentaram na plenária, entendemos que o mundo está em constante evolução e podemos otimizar o nosso trabalho.  Se aprofundar no que é essencial é importante, mas é sempre possível se atualizar sobre o mercado tech, gerando valor e upgrade na carreira.  

Introdução aos conceitos de Experiência do Usuário (UX) e seus processos
Tech Writers Dezembro 06, 2021

Introdução aos conceitos de Experiência do Usuário (UX) e seus processos

Neste artigo, mostraremos como a experiência do usuário (UX) está presente em diversos momentos do nosso cotidiano, além disso, vamos: Apresentar seus conceitos básicos;  Ressaltar sua importância e relevância dentro de projetos atuando como direcionador estratégico;  Explicar, brevemente, os processos e atividades relacionados à área.  Observe as situações a seguir: Desespero ao perder o horário pelo despertador não ter tocado; Desconforto por complicações da maquininha ao pagar com cartão; Estresse em longas filas de farmácias ou supermercados; Aborrecimento por não conseguir utilizar o aplicativo do banco e ainda ter a inconveniência de precisar ir até lá para resolver seu problema. Alguma delas já aconteceu com você? Muitas vezes achamos que isso é má sorte, mas será que é mesmo? O que pode ter acontecido: Você perdeu o horário porque desligou o alarme na noite anterior, por ter sido feriado, e o sistema não te perguntou por quanto tempo gostaria de ter deixado desligado; O cobrador estava utilizando uma maquina nova e não conseguiu passar o cartão, pois não sabia mexer nela e as informações estavam muito confusas; As filas estavam gigantes porque “o sistema travou”, como sempre ouvimos dos atendentes; Você precisou ir até o banco, pois o aplicativo não previa ações que você precisaria realizar. Então, a resposta é: não é má sorte! Tudo isso está diretamente relacionado com UX, a experiência do usuário. O que é UX – Experiência do Usuário? Você percebeu que os sentimentos das situações foram destacados? Desespero, desconforto, estresse e aborrecimento.  Quando estes cenários acontecem e sentimentos negativos são despertados, dizemos que a experiência que a pessoa, o usuário, teve com o produto ou serviço foi ruim.   Tudo poderia ser diferente se houvesse uma maior preocupação em ter clareza do problema a ser resolvido: buscar entender como cada decisão de projeto está afetando ou poderá afetar os objetivos e necessidades dos usuários A falta de conhecimento sobre estes pontos faz total diferença entre o sucesso ou fracasso de um produto/serviço e sobre a satisfação ou insatisfação dos usuários com ele.  Mas como garantir a satisfação dos usuários? Em todas as áreas da Softplan temos um centro de competências especializado em experiência do usuário. Na área responsável pelas soluções de Justiça esse centro é  o CCUX (Centro de Competências em User eXperience), o qual conta com uma equipe de designers atuantes em cada vertical do SAJ (Ministérios Públicos, Defensorias, Procuradorias e Tribunais de justiça). É difícil ter certeza se vamos conseguir alcançar a satisfação dos usuários e o sucesso do produto. Afinal, não existe mágica, bala de prata ou remédio milagroso.  No entanto, nossa equipe dedica-se a aumentar as chances disso acontecer, até mesmo antes de ser escrita qualquer linha de código. Para isso, os designers utilizam uma série de conceitos, técnicas e processos que os guiam para proporcionar boas experiências aos usuários e, assim, minimizar chances de falhas dos projetos.Embora eles sejam conhecidos como os profissionais que trabalham diretamente com Experiência do Usuário, é de extrema importância que todos os envolvidos no projeto também tenham uma base de conhecimento sobre os métodos que aplicamos. Isso nos possibilita criar estratégias dentro de equipes multidisciplinares, ou seja, envolvendo outras áreas de atuação e agregando conhecimentos diversos ao projeto, possibilitando assim soluções ainda mais assertivas.  O famoso processo de UX Podemos resumir as etapas do processo de UX em: Descrição da imagem acima: objetivos e estratégias, seta para direita, pesquisa e análise, seta para direita, ideação e protótipo seta para direita, testes e iteração. Cada uma delas possui atividades excelentes que proporcionam o levantamento de dados e insights, além de tornarem todos os esforços do projeto muito mais eficazes.  Isso possibilita que o desenvolvimento de produto siga no caminho certo, de acordo com as verdadeiras necessidades do usuário, e não a partir de suposições.  Em seguida, relatamos brevemente a essência de cada uma delas. Objetivos e estratégias Nessa primeira etapa, precisamos tirar todas as nossas dúvidas sobre o projeto e identificar cenários que ainda precisam ser explorados. Isso é, realizados a partir de um mapeamento de nossas certezas (as quais devem ser fundamentadas com evidências e dados), suposições e dúvidas.  Além disso, também é importante: Buscar por conhecimentos internos documentados; Definir fronteiras e métricas; Planejar uma visão a longo prazo; Conhecer limitações; Esclarecer objetivos de negócio; Objetivos de produto; Identificar ou se aproximar dos atores-chave do projeto. Tudo isso nos possibilita planejar ações ou montar um roteiro para as etapas seguintes.  Pesquisa e Análise Aqui, a aproximação empática com os usuários é fundamental, ou seja, é necessário ter a capacidade de se colocar no lugar do outro para entender suas dores, necessidades e desejos.  Precisamos conhecer bem nossos clientes/usuários, conversar com eles, ficar imersos em suas vidas, entender seu contexto, seu comportamento, e até tentar sentir na pele o que eles sentem antes, durante e depois do contato com o produto/serviço.  Nessa aproximação com os usuários, analisar ações é mais importante do que apenas ouvi-los e anotar seus pedidos.  Devemos diferenciar atitude de comportamento. Ou seja, é necessário distinguir o que eles falam e expressam (suas solicitações, expressões faciais ou corporais), do que eles realmente fazem e como agem (quais informações e ferramentas utilizam, quais caminhos e decisões são tomados).  É importante ter este discernimento porque é comum que os usuários proponham e peçam soluções para problemas que poderiam ser resolvidos de maneiras mais eficazes, com até mais soluções de um problema ao mesmo tempo e que entregassem muito mais valor a ele. Resumidamente, essa etapa de pesquisa visa proporcionar a coleta de dados para validar ou invalidar nossas suposições, responder nossas dúvidas, embasar e direcionar todas as decisões que envolvem o produto.  Depois de ter feito um grande levantamento de evidências e ter conhecido melhor os usuários, coletamos informações concretas e não ficaremos mais reféns das nossas suposições.  Nesta etapa, também vamos analisar e sintetizar essas informações para identificar e definir o foco do problema ou ponto de melhoria do serviço/produto.  É importante frisar que, enquanto não temos total clareza do problema a ser resolvido, é difícil propor soluções que façam a diferença aos usuários. Ideação e protótipo É hora da ideação, ou seja, propor alternativas de solução para os problemas apresentados.  Neste momento é ideal que a discussão seja multidisciplinar e que busque trazer ideias disruptivas.  Não podemos ter medo de ser julgados e nem devemos julgar as ideias dos colegas, essa é a famosa fase de Brainstorming.    Depois de abrir o leque de ideias, é momento de convergir num propósito, selecionar uma solução que tenha maior probabilidade de entregar valor aos usuários, porém, que sejam tecnicamente viáveis de serem implementadas e em prazo plausível.  Faz parte do dia a dia do trabalho do designer balancear as necessidades dos usuários com as limitações técnicas e necessidades de negócio. Testes e iterações “Solução em mãos?! Hora de implementar?”  Calma lá! Que tal fazer um protótipo, ou quem sabe alguns, antes?  A ideia é que sejam protótipos de baixo custo e que sejam colocados em contato com os usuários o quanto antes para que seja possível validar ou invalidar as hipóteses e, o mais importante, falhar o quanto antes!  No CCUX da área de Justiça da Softplan, realizamos protótipos em alta fidelidade, já em HTML e CSS, pois foi a maneira mais eficiente encontrada para testar e coletar feedbacks.  Porém, isso depende muito do contexto e do perfil dos usuários que estão realizando os testes. Caso faça sentido, vale até testar com desenhos!   Durante os testes é essencial observar, ficar atento aos comportamentos dos usuários perante ao protótipo, além de coletar dados e documentá-los, pois em seguida vamos analisá-los mais calmamente e realizar os ajustes necessários de acordo com o que foi visto.  Dica: Nesses momentos é importantíssimo não se apegar às suas soluções, pois, muitas vezes, o que acabamos propondo inicialmente pode não ser a melhor solução que resolva as necessidades e dores dos usuários.  Apaixone-se pelo problema e não pela solução. Se necessário, é possível realizar ainda mais rodadas de testes, com protótipos diferentes, atingir a segurança sobre o que se está entregando, o que será desenvolvido e o que chegará às mãos dos usuários.  Metodologias de cascata, vai contra princípios ágeis? Todo o processo foi descrito linearmente, porém, não devemos nos prender a isso, podemos e devemos voltar atrás quando e quantas vezes acharmos necessário. Logo, a imagem abaixo apresenta o esquema que expliquei anteriormente. Descrição da imagem acima: todas as etapas do processo com setas indo e voltando entre cada uma delas. Utilizamos este processo como um guia, mas a ideia principal é que, conforme vamos conhecendo mais os usuários e tendo mais clareza dos problemas a serem resolvidos, a gente consiga pensar em ideias cada vez mais assertivas para solucionar os seus problemas e entregar produtos/serviços que as pessoas realmente amem. E aí, gostou de conhecer um pouquinho mais sobre os conceitos por trás de UX?  Confira mais conteúdos como esse em nosso Blog!