Início Site Página 55

O que é Agile Testing? Entenda como o profissional da área trabalha

Entenda como o Agile Testing, conjunto de práticas de testagem em ambiente de automação, possibilita ao profissional da área a identificação prévia de falhas e a entrega de um produto com desempenho otimizado ao cliente. 

Neste artigo, vamos refletir sobre o processo de Agile Testing e o papel do profissional da área, o Agile Tester. Vamos entender quais as suas atribuições e de que forma é possível evoluir em sinergia com o desenvolvimento das demais técnicas e metodologias ágeis de trabalho e gestão. 

O que é Agile Testing?

Agile Testing é a prática de testagem de softwares segundo os princípios do Manifesto Ágil do Teste. Estas orientações guiam a estruturação dos sprints e auxiliam na identificação rápida de desvios, bem como o seu encaminhamento aos setores responsáveis pelo aprimoramento dos produtos. 

Os 5 princípios do Manifesto do Agile Testing são: 

  • Testar continuamente mais que testar no final;
  • Prevenir defeitos mais que encontrar defeitos;
  • Entender o teste mais que verificar a funcionalidade;
  • Construir o melhor sistema mais que quebrar o sistema;
  • Time responsável pela qualidade mais que responsabilidade do testador.

< Saiba mais em: Manifesto Ágil: veja como ele surgiu e conheça seus 12 princípios />

Do planejamento à adaptabilidade: a importância de seguir o processo evolutivo

A metodologia tradicional de desenvolvimento sempre primou pela excelência no planejamento. Sendo assim, o membro da equipe deveria seguir os procedimentos à risca (by the book). Qualquer nova atividade, ideia, método, requisito, necessidade, não poderia ser levado em conta, afinal já existia um planejamento que foi feito por profissionais competentes para chegar ao resultado esperado.

Dessa forma, se eu seguir o planejamento à risca, tudo vai dar certo, não é verdade? Bom… nem sempre!

O grande problema dos planejamentos muito engessados é que eles se baseiam no fato de que todos os requisitos, características, situações e riscos são conhecidos, e isso quase nunca é verdade. 

Muitas vezes, mesmo os projetos muito bem planejados e executados podem ter como resultado um produto ruim. Um exemplo disso foi o Iridium, da Motorola. Trata-se de um projeto de bilhões de dólares que criou um telefone por satélite por meio do qual seria possível se comunicar em qualquer lugar do mundo. 

Esse projeto foi aclamado pelo PMI (Project Management Institute, instituição de referência na gestão de projetos) como um dos mais bem planejados da época, que conseguiu ser concluído no prazo, escopo e custo conforme o planejado. 

Porém, o resultado foi um fracasso. E, por incrível que pareça, o principal motivo para o fracasso foi o projeto ter sido executado exatamente como planejado. O mundo mudou, outras tecnologias mais baratas surgiram, a necessidade do público-alvo mudou, e o projeto não contemplou nada disso.

Como o testador na metodologia ágil pode colocar a reação a mudanças em prática?

Muitas pessoas pensam, erroneamente, que a palavra “Ágil” da abordagem ágil é sinônimo de velocidade. Na verdade, ágil, aqui, significa “capacidade de reação”. Ou seja, é a capacidade de romper a inércia, se adaptar aos novos fatores do seu ambiente. A velocidade é uma das consequências da agilidade.

Dessa forma, a abordagem ágil foca na reação às mudanças. Isso significa que toda forma de trabalho deve ser centrada no fato de que é certo que haverá mudanças.

Isso tem um impacto enorme na forma como um membro da equipe deve se portar. Afinal de contas, os membros da equipe têm que realizar todo o seu trabalho já tendo em vista que algo pode mudar. Assim, a criatividade, que não era recomendada na metodologia tradicional, agora tem um forte papel.

O novo papel do Agile Tester

Métodos ágeis exigem grandes mudanças na equipe, e não é somente no time de desenvolvimento. Implementar uma metodologia ágil para a equipe de desenvolvimento e não compartilhá-la com a equipe de teste reduz a flexibilidade e produz resultados insatisfatórios.

Por exemplo, a implementação do código é feita de forma ágil, com kanban, painéis de acompanhamento Scrum e stand-up meetings diários em conjunto com o cliente. Tudo acontece conforme as boas práticas sugeridas pela comunidade ágil. 

No entanto, se o teste de software for feito por outra equipe, este será feito em outra iteração (nome dado a uma sequência de ações e instruções realizadas repetidamente). Erros aparecem mesmo em funcionalidades desenvolvidas há vários sprints (etapas de desenvolvimento) atrás. É possível, inclusive, que estes desvios inviabilizem sprints seguintes, trazendo atrasos para o projeto. Por isso, não devem existir duas equipes separadas operando individualmente, e sim, um time unificado e sinérgico.

Apesar disso, mesmo em ambientes que trabalham com uma única equipe, há questionamentos para entender se, em uma equipe ágil pequena, deve haver um profissional exclusivo para testes. 

A verdade é que não há consenso. O Scrum, por exemplo, defende que o time de desenvolvimento reúna todas as habilidades necessárias, incluindo as relacionadas ao agile testing.

Porém, especialistas da área, como Glenford Myers, defendem que é preciso contar com um especialista em Testes que tenha foco somente nisso, para que não aconteça o problema da visão viciada. 

Entretanto, mesmo com a presença de um especialista, algumas atividades podem ser executadas pelo resto da equipe, como planejamento e gestão da qualidade, estimativas, elaboração de relatórios e dashboards.

Comunicação ativa e antecipação dos feedbacks: entenda como equilibrar

Quanto mais tarde acontece o agile testing, mais problemas aparecem e menor é o tempo de resposta para tratá-los. 

Na abordagem ágil, os efeitos de retardar os testes são ainda mais desastrosos. Dessa forma, devem-se iniciar os testes o quanto antes. E quanto mais rápido eles forem executados, mais rápido será o feedback junto ao Product Owner. Consequentemente, mais veloz será a execução das medidas cabíveis para a solução dos problemas.

Mas cuidado com a ideia de “antecipação”! Isso porque, quando realizados de forma precoce, os testes também podem trazer diversos prejuízos se não forem feitos adequadamente. 

Alguns dos erros comuns relacionados a esta precipitação são:

  • executar testes em funcionalidades que ainda estão sendo alteradas;
  • verificar requisitos errados;
  • não alinhar todo o time envolvido sobre a etapa de testes. 

A verdade é que, em geral, os testadores ágeis não dispõem de grande documentação de requisitos como base para casos de teste ágil. 

Por isso, eles se apoiam fortemente na comunicação, que pode ser verbal, escrita ou virtual, para assimilar a informação de que necessitam. Eles aprendem a fazer as perguntas certas, no momento certo e fornecer o nível certo de feedback no melhor momento.

Dessa forma, é fundamental haver o equilíbrio entre os dois fatores-chave: testar o mais cedo possível e ter a comunicação ativa, tanto para receber feedback quanto para entender os requisitos.

Acompanhamento dos resultados

Se não há tempo suficiente para documentações detalhadas, também não há tempo para elaboração de relatórios complexos sobre o andamento da verificação da qualidade. 

E, para executar essa árdua tarefa, mais uma vez, exige-se as capacidades de automação e comunicação.

Testadores ágeis devem saber configurar painéis de testes que deem aos desenvolvedores o feedback necessário em relação à verificação do produto. Esses painéis devem fornecer gráficos e exibir os defeitos mais graves encontrados e priorizados para correção. Além disso, devem fornecer uma visão geral sobre o andamento e evolução da qualidade do software.

Estimativas

Com a evolução do processo de desenvolvimento, o Agile Tester ganhou novas responsabilidades. E uma delas é contribuir com estimativas. 

Para isso, o Testador Ágil deve ter noções de métricas de tamanho de software, bem como informações históricas do esforço gasto nas funcionalidades passadas. Assim, ele pode ajudar na previsibilidade de esforço da seguinte forma:

1- Estimando a quantidade necessária de testes

Baseado na complexidade dos requisitos de qualidade, o Testador Ágil deve fornecer uma estimativa dos testes necessários e de como eles serão executados. A estimativa de testes é importante para dimensionar se o tempo de desenvolvimento dos testes se encaixa no prazo da próxima entrega.

2- Fornecendo uma previsão do que pode ser automatizado

O Testador Ágil deve indicar quais requisitos podem ser automatizados. Como testes automatizados são mais baratos e mais eficientes, eles devem ser priorizados. Nesse sentido, saber avaliar corretamente quais deles podem ser automatizados resulta em uma grande diferença de esforço e qualidade ao final de uma sprint. De forma geral, o Testador deve priorizar automatizar:

  • Testes de Regressão;
  • Tarefas repetitivas;
  • Cálculos matemáticos.

3- Estimando o que não deveria ser automatizado

Complementando o item anterior, o Testador Ágil deve estimar quais funcionalidades não precisam de automatização. De forma geral, não se usa automação nos seguintes casos:

  • Funcionalidades instáveis;
  • Funcionalidades pouco usadas;
  • Funcionalidades que exigem inspeção visual.

Torne-se um Agile Tester com a ajuda da Faculdade XP!

Colocar em prática os 5 princípios do Manifesto Ágil de testes é uma boa forma de sentir, na prática, o fluxo do trabalho de melhoria contínua. 

Entretanto, que tal se preparar para mergulhar de cabeça no mundo do desenvolvimento com uma excelente base teórica? 

Nossa sugestão é o bootcamp online Engenharia de Software Ágil. Neste intensivo, você aprende todos os princípios das metodologias mais efetivas e modernas no mercado, como o Scrum, XP e Kanban para ser um(a) Engenheiro(a) de Software focado na metodologia Ágil. 

Atue com sucesso na área e veja sua carreira decolar!

Assine agora e comece a aprender! 

Professor autor: Marcelino Campos

*Créditos da imagem de capa: Christina @ wocintechchat.com em Unsplash

Infraestrutura de Desktop Virtual: por que ela é aliada da equipe de TI?

A infraestrutura de Desktop Virtual impacta diretamente o trabalho da equipe de TI e, consequentemente, de todo o funcionamento de uma empresa.

A gestão de custos nas empresas tem ganhado cada vez mais força e importância estratégica. Principalmente quando o assunto é segurança e facilidade de uso e de acesso às ferramentas tecnológicas. Por isso, a infraestrutura de Desktop Virtual, conhecida como VDI, é a opção escolhida para promover o alto desempenho de todos os setores.

Em suma, ela é a melhor aliada da equipe de TI e, consequentemente, da empresa como um todo. Antigamente, implementar e/ou integrar sistemas era um obstáculo imenso para qualquer negócio. O custo era alto e o trabalho, no mínimo, desafiador.

Alguns exemplos desses desafios são:

  • o tempo que uma empresa demora para disponibilizar no mercado uma nova unidade de negócios;
  • o tempo que a organização leva para colocar uma nova estação de trabalho em funcionamento para novos colaboradores.

Nessas situações é a equipe de TI (Tecnologia da Informação) que precisa resolver e assumir responsabilidades para instalar e gerenciar todos os softwares utilizados pela corporação, sem atrasar os processos e os planejamentos corporativos.

Mas, como fazer isso de modo rápido, eficiente, seguro e econômico? Pelo Virtual Desktop Infrastructure (VDI) ou Infraestrutura de Desktop Virtual. Leia até o final e entenda o que é e como esse ambiente funciona na prática.

O que é infraestrutura de Desktop Virtual ?

A infraestrutura de Desktop Virtual, chamada de virtual desktop infrastructure (VDI) em inglês, é o conjunto de máquinas virtuais que fornece e gerencia desktops virtuais de modo remoto. Ou seja, é um servidor que permite que os colaboradores acessem serviços, sistemas e aplicativos corporativos de qualquer lugar.

Ela é a forma mais eficiente e econômica que a equipe de TI tem para gerenciar a segurança de toda a infraestrutura virtual de uma empresa, mantendo-a em funcionamento contínuo.

O ambiente de VDI de informática possibilita a criação de um data center virtual que reúne e integra dados, aplicativos e desktops empresariais aos colaboradores por meio da internet. Tudo é feito por meio de um servidor host.

A VDI pode ser:

  • persistente: o colaborador se conecta ao mesmo desktop e pode personalizá-lo de acordo com suas necessidades. Nesse caso, os desktops virtuais em ambiente de VDI funcionam igual a um desktop físico pessoal, como o notebook que você tem em casa;
  • não persistente: a conexão é feita em desktops genéricos, sem salvar alterações. É usada em empresas com muitos colaboradores que acessam o computador para tarefas básicas, repetitivas ou limitadas, sem precisar de um desktop personalizado.

< Leia também: Cloud Computing: tudo o que você precisa saber para ingressar na área com o pé direito />

Como funciona a VDI?

No ambiente de Desktop Virtual, a área de trabalho do colaborador se encontra em uma imagem padronizada que fica armazenada no data center central da companhia, podendo ser acessada a qualquer momento e de qualquer lugar.

Num ambiente de VDI, o único item indispensável é o equipamento cliente, em geral um thin client, que tem a grande vantagem de ser instalado por alguém sem nenhum conhecimento técnico.

Afinal, só é necessário conectar o thin client em uma tomada elétrica e um cabo de rede, pois, todo o restante da configuração, é controlado pelo software central de gestão do ambiente de Desktop Virtual .

Por se tratar de um ambiente centralizado, a utilização do investimento feito no ambiente de VDI é melhor aproveitado do que aquele feito em um ambiente tradicional com um desktop para cada funcionário.

Pois, nesse caso, temos o compartilhamento dos recursos dos servidores e a possibilidade de que a “sobra” de recursos de um usuário possa ser direcionada para atender às necessidade de outro.

Esse tipo de possibilidade também apresenta melhor um indicador muito importante, que é o Custo Total de Propriedade, ou TCO na sigla em inglês, que indica quanto custa para a empresa ser dona de determinada tecnologia ou de determinado equipamento.

De forma resumida, a infraestrutura de Desktop Virtual  funciona por meio de máquinas virtuais (VMs) que são controladas por um software centralizado. Essas máquinas hospedam um sistema operacional, como o VDI Microsoft.

Benefícios da infraestrutura de Desktop Virtual 

Num ambiente de VDI, o funcionário tem a liberdade e a flexibilidade de trabalhar de lugares distintos do seu ambiente principal.

Imagine que um colaborador trabalhe em Belo Horizonte e um dos seus projetos esteja em uma situação crítica, gerando uma viagem de última hora para Fortaleza. Ao chegar lá, ele loga no ambiente virtual da empresa e tem acesso à mesma tela e à mesma configuração usada na sua estação de trabalho.

Ou seja, ele não perde tempo reconfigurando a área de trabalho virtual e entendendo um novo sistema.

Além disso, o uso do Desktop Virtual nas empresas proporciona a redução de custos e de tempo de implantação de sistemas e aplicativos. O que era feito durante dias, é resolvido em poucas horas.

E mais: não é preciso que um funcionário de TI se desloque, ele pode resolver tudo de seu sistema que integra outras máquinas virtuais.

< Saiba mais: Conheça os 10 mitos da computação em nuvem />

Exemplo de ambiente de VDI

Quando falamos em disponibilizar uma nova estação de trabalho para um colaborador, por exemplo, deve-se pensar em um equipamento que possua a capacidade para atender às demandas da função específica (CPU, memória, HD, etc), licenciamento dos softwares, manutenção, spare parts (equipamentos sobressalentes), atualização tecnológica etc.

Isso levando em consideração que os fabricantes mudam constantemente suas linhas de produtos, o que dificulta a padronização do ambiente e, consequentemente, aumenta o custo de manutenção do mesmo.

Portanto, a Virtual Desktop Infrastructure é uma grande aliada na redução do tempo de implantação de um novo ambiente produtivo, além de permitir o aumento da produtividade dos profissionais a partir da padronização do seu desktop, independentemente de onde ele esteja fisicamente.

Ainda no que diz respeito à diminuição do tempo para a ativação de novas unidades produtivas, um conjunto de ferramentas e novos conceitos, tais como NFV, SDN e SD-WAN, podem complementar a VDI e trazer ganhos ainda maiores na operação de ambientes complexos ou altamente distribuídos.

Percebeu que o uso de uma infraestrutura de Desktop Virtual impacta toda a organização? 

Por isso, é importante aprender e conhecer todas as novas possibilidades tecnológicas e potencializar o trabalho dos colaboradores.

Se deseja se especializar em Gestão de Operação de TI, Gestão de TI ou outra área da tecnologia da informação, faça parte da plataforma XPE Multi+, que disponibiliza dezenas de cursos e conteúdos relevantes para mergulhar de cabeça e se destacar no mercado.

Spring Data JPA: o que é e como implementar?

O Spring Data JPA fornece um modelo consistente de programação considerando os aspectos específicos de cada sistema de armazenamento de dados.

Se você está buscando maior produtividade e eficiência na implementação de funcionalidades na camada de persistência de seus projetos Java, não pode deixar de conhecer (e aplicar!) o subprojeto Spring Data JPA.

Muitos desenvolvedores se deparam com dificuldades para mapear e manipular objetos em Java para as representações em um banco de dados. Afinal, os registros em Java são caracterizados por objetos que apresentam comportamento e o banco de dados possui forma textual, sem comportamento.

Como resolver esse problema? Com a padronização do mapeamento e das especificações dos frameworks, sem precisar que um mesmo código seja reescrito várias vezes ou usar muitos códigos para operações simples. Ou seja, com o Spring Data JPA.

Continue a leitura até o final e entenda o que é esse subprojeto do Spring Data e como implementar o Repository Spring Data nos seus projetos.

O que é Spring Data JPA?

O Spring Data JPA (Java Persistence API) é um projeto da Spring Source e subprojeto do Spring Data com proposta de padronizar e facilitar o acesso a diferentes tecnologias de armazenamento de dados, como bancos de dados relacionais e não relacionais, utilizando as funcionalidades da especificação JPA.

Ou seja, ele elimina a necessidade de implementar interfaces referentes aos repositórios ou DAOs, deixando algumas funcionalidades pré-instaladas, como paginação de registros e ordenação das consultas.

Sua principal finalidade é integrar as aplicações Spring com a JPA. E podemos dizer que esse framework tem tido bastante sucesso no seu objetivo. Afinal, ele tem como maior benefício a capacidade de criar a camada de acesso aos dados sem a necessidade de implementar manualmente as classes de Data Access Object.

Ele apresenta as seguintes funcionalidades:

  • Operações de criação, remoção, modificação e seleção, chamadas de CRUD;
  • Query Methods;
  • Method Names;
  • Query Annotation;
  • Named Queries;
  • Ordenação.

< Aprenda mais: Linguagens back-end: qual é a melhor opção para o seu projeto? />

Como funciona o Spring Data?

Para entender melhor como ele atua dentro do sistema do Spring Data, analise a Figura 01. Esse framework possui vários módulos de acesso em diferentes modelos de bancos de dados.

Ele contém diversos subprojetos para trabalhar com as especificidades dos variados Sistemas de Gerenciamento de Banco de Dados (SGBDs).

Figura 01. Visão geral da arquitetura do Spring Data.

Tem-se o módulo Spring Data JPA que adiciona uma camada extra sobre o JPA Provider. Esse módulo contém uma camada Repositórios (JpaRepository) que dá suporte à criação de repositórios estendendo interfaces do Spring Data. A infraestrutura é compartilhada pelos bancos e o JPA Provider que implementa o JPA.

Além do Spring Data JPA, tem o módulo Spring Data MongoDB que provê suporte à persistência de dados com o banco de dados MongoDB e possui métodos básicos para armazenamento e recuperação de documentos. Sua principal característica é o suporte à persistência de dados não estruturados.

Já o módulo Spring Data Neo4J cuida da persistência de dados no SGBD Neo4J. Ele é um banco orientado a grafos que permite o armazenamento e a recuperação de dados. É similar aos bancos relacionais no tocante às transações e às operações ACID (Atomicidade; Consistência; Isolamento e Durabilidade).

< Leia também: Mongodb: o que é e como usar esse banco de dados? />

Como implementar Repository do Spring Data?

O objetivo do Spring Data Custom Repository é reduzir a quantidade de código necessário para implementar a camada de acesso e persistência de dados.

A abstração principal é a classe Repository. Sua principal finalidade é gerenciar a classe de domínio assim como o tipo de dado do id da classe.

CrudRepository

Disponibiliza operações CRUD para a entidade que está sendo gerenciada. A Figura 02 traz a estrutura dessa interface em que se pode notar várias operações como save, findOne e delete.

Essa interface já é fornecida pelo Spring Data. Para utilizá-la, deve-se apenas implementá-la criando um repositório específico para cada entidade.

    Figura 02. IntefaceCrudRepository.

PagingAndSortingRepository

No contexto de uma aplicação com vários formulários, é comum ter funcionalidades em que os usuários podem fazer consultas e essas podem retornar zero ou dezenas de registros.

É sabido que, quando a consulta retorna muitos registros, não é interessante listar todos esses dados para o usuário: deve-se dividir os dados em páginas. Além disso, esses dados são ordenados de acordo com algum critério.

É prática comum o uso de estratégias para buscar as informações de uma base de dados de tal forma que essa informação será paginada, ou seja, a consulta não trará todos os dados, mas apenas aqueles que serão apresentados ao usuário de acordo com a página em que o mesmo está inspecionando.

O Spring Data fornece a interface PagingAndSortingRepository que traz facilidades para implementar a estratégia de ordenação e paginação. A Figura 03 traz as duas operações dessa interface. Ao implementá-la, tem-se algumas comodidades em relação à implementação de um sistema de paginação e ordenação.

Figura 03. Interface PagingAndSortingRepository.

O código abaixo mostra o uso do PagingAndSortingRepository para buscar um conjunto de 20 produtos da tabela Produto que se refere à página 1. A classe PageRequest permite definir a página passando para seu construtor a página e o tamanho da mesma.

PagingAndSortingRepository<Produto, Integer> repository = // … get access to a bean

Page<Produto> produtos = repository.findAll(new PageRequest(1, 20));

Métodos de Consulta

É comum a necessidade de métodos de acesso às entidades além daqueles de CRUD. O Spring Data com a classe Repository fornece uma estrutura que permite a criação de métodos de acesso sem a necessidade de escrever comandos SQL.

O exemplo de código abaixo tem uma interface UsuarioRepository definida pelo desenvolvedor que estende a classe Repository .

O método findByNome da interface é a implementação da consulta que busca uma lista de usuários de acordo com o nome. Com apenas a assinatura do método, a consulta já está feita.

O Spring Data gera automaticamente a consulta correspondente simplesmente com a assinatura do método.

Nota-se que o nome do método tem três elementos importantes:

  • o findBy;
  • o Nome;
  • o parâmetro String nome.

O método sempre tem que iniciar por findBy para consultas, o Nome do exemplo se refere ao atributo nome da entidade Usuário, já o parâmetro String nome é o valor que será usado para filtrar a consulta por nome.

O nome da variável do parâmetro pode ser qualquer nome, porém a cadeia de caracteres que acompanha o findBy tem que ser exatamente o nome da propriedade da entidade com a primeira letra em caixa-alta. Se a consulta fosse filtrada por senha, então a assinatura do método seria List<Usuario>findBySenha(String senha).

public interface UsuarioRepository extends Repository<Usuario, Long> {

List<Usuario>findByNome(String nome);   }

Consultas com JPQL

Além da funcionalidade de criar consultas pela assinatura do método, é possível que você precise executar consultas com JPQL. Por isso, o time que desenvolveu o Spring Data JPA incluiu a anotação @Query Spring Data no framework:

public interface Produtos extends JpaRepository<Produto, Long> {

@Query(“from Produto where nome like concat(?1, ‘%’)”)

List<Produto> pesquisarProdutos(String nome);

}

Percebe-se que nesse método é preciso criar a consulta e um parâmetro, porque o Spring Data JPA vai usá-lo no momento da execução. 

Com este artigo foi possível conhecer algumas das potencialidades do framework Spring Data JPA aplicado no Big Data. Essa tecnologia permite que o Engenheiro de Software trabalhe com facilidades usando bancos de dados relacionais ou não relacionais como o MongoDB, Neo4J e Redis.

Se você quer se aprofundar mais neste assunto, assine a plataforma XPE Multi+ e tenha acesso a dezenas de cursos de tecnologia da informação. Nela, você pode se matricular em vários Bootcamps, assistir a dezenas de aulas interativas, acessar materiais de conteúdos didáticos, matricular-se em Imersões Internacionais e muito mais!

Investidor qualificado: saiba o que é as certificações exigidas

O termo investidor qualificado foi instituído pela Comissão de Valores Mobiliários para indicar o usuário que se enquadra em algumas exigências, como valor investido em aplicações financeiras ou conhecimento por meio de certificações e qualificações sobre o mercado financeiro.

Essa classe não é a única, pois, a autarquia federal também designou mais perfis de investidores qualificados, como o investidor profissional e o investidor público.

Investir é uma ótima forma de proteger e multiplicar o dinheiro. No entanto, é importante entender como os investimentos funcionam, antes de começar qualquer aplicação.

Atualmente, existem diversos tipos de investimentos, como na Bolsa de Valores, em fundos imobiliários, em títulos do Tesouro Nacional, ações, etc. Cada um deles possui vantagens e riscos diferentes, por isso, é fundamental saber analisar qual é o melhor para cada objetivo.

Aprenda aqui o que é um investidor qualificado, como se tornar um, as qualificações, riscos e muito mais. Boa leitura!

O que é um investidor qualificado?

Segundo a Comissão de Valores Mobiliários, o investidor qualificado é aquele (pessoa física ou jurídica) que possui mais de R$ 1 milhão em investimentos, ou que tenham sido aprovados em exames de qualificações técnicas, ou que possua alguma certificação aprovada pela CVM.

Logo, o investidor qualificado é experiente, com conhecimento suficiente para tomar decisões em relação às aplicações no mercado financeiro.

< Entenda essas especificações com mais detalhes, lendo o artigo 9-B da Instrução CVM n.º 554 (clique aqui). />

Como se tornar um investidor qualificado?

Há três formas: ter o dinheiro indicado pela legislação em aportes, por meio de cursos que resultaram em alguma certificação da CVM, ou por meio de clubes de investimentos.

No primeiro caso, você deve comprovar o patrimônio em investimento igual ou maior que R$ 1 milhão para a CVM por escrito.

Já na segunda, pode realizar cursos/treinamentos e obter a qualificação para atuar na categoria. Posteriormente, você poderá solicitar a adesão para a classe de investidor qualificado junto ao seu banco ou corretora.

Há também outra forma de se tornar um investidor qualificado, que é por meio de clubes de investimentos, que tenham a carteira com a gestão por um ou mais cotistas que sejam investidores qualificados.

Entenda mais sobre o Termo de Investidor Qualificado

O documento atesta quando um investidor qualificado possui todo o conhecimento e experiência exigida para obtenção do título. O procedimento é bem simples e pode ser realizado online.

Veja um exemplo do termo abaixo:

DECLARAÇÃO DA CONDIÇÃO DE INVESTIDOR QUALIFICADO

Ao assinar este termo, afirmo minha condição de investidor qualificado e declaro possuir conhecimento sobre o mercado financeiro suficiente para que não me sejam aplicáveis um conjunto de proteções legais e regulamentares conferidas aos investidores que não sejam qualificados.

Como investidor qualificado, atesto ser capaz de entender e ponderar os riscos financeiros relacionados à aplicação de meus recursos em valores mobiliários que só podem ser adquiridos por investidores qualificados.

Declaro, sob as penas da lei, que possuo investimentos financeiros em valor superior a R$ 1.000.000,00 (um milhão de reais).

Data e local:           do dia        /            /              

Nome:

CPF/CNPJ:

_______________________________________________________________________

Assinatura

Copie e cole o conteúdo acima em um programa de edição de texto e faça os ajustes necessários para envio.

Principais exames técnicos de qualificação para investidores

Os interessados na área podem realizar provas e tirar as certificações abaixo para se profissionalizar.

  • Certificação de Gestores ANBIMA — CGA;
  • Certificação de Especialista em Investimentos — ANBIMA;
  • Certificação para Agente Autônomo — Ancord;
  • Analista de Valores Mobiliários — CNPI;
  • Chartered Financial Analyst — CFA III;
  • Certified Financial Planner — CFP e outros.

Também é possível se qualificar por meio dos exames: PQO, CPA10, CPA20, CAIA, FRM, CQF, CFG, CGE, ABECIP (CA 600, CA 400 e CA 300), CTP e FPA. Essas últimas aprovadas pelo Ofício CVM 2/2022/CVM/SMI, do dia 10/01/2022.

Saiba que as certificações são importantes para a área financeira porque elas demonstram que o profissional tem os conhecimentos necessários para exercer a função e ter acesso a mais ativos. Além disso, as qualificações ajudarão os profissionais a se manterem atualizados sobre as últimas tendências dos mercados.

Qual a diferença de um investidor profissional X investidor qualificado?

A CVM criou as categorias de investidores como forma de proteção para determinados públicos. Isso porque, há riscos desproporcionais que algumas pessoas podem correr em relação às capacidades financeiras, ou seja, pode não ter o dinheiro suficiente para cobrir despesas.

O investidor profissional é aquele que tem mais de R$ 10 milhões investidos no mercado financeiro. Diferentemente, o investidor qualificado deve ter valor igual ou superior a R$ 1 milhão.

Além disso, há a figura do investidor público que é o usuário que não comprova investimento maior que R$ 1 milhão e não tem as formações técnicas cobradas pelo órgão regulador.

Diferenças entre investidor profissional versus investidor qualificado.

Quais os investimentos que apenas investidores qualificados podem fazer?

Os investidores qualificados são privilegiados, isso porque, terão a disposição mais opção de ativos para investimentos, com retornos maiores, mas com riscos ponderados.

Alguns dos investimentos exclusivos para tal categoria são: Fundos Multimercados, Fundos com investimentos no exterior, FIDCs, Fundos de Investimentos Imobiliários, Venture Capital, alguns fundos de “private equity” e ofertas diferenciadas de renda fixa.

Existem riscos para o investidor qualificado?

Claro! Por ter um acesso aos ativos financeiros restritos e com mais rentabilidade, há sempre o risco envolvido. Ademais, os riscos são mais complexos e o investidor qualificado precisa antes de aportar, fazer uma análise completa sobre o produto.

Seja cuidadoso(a) e consciente em relação aos investimentos. Confira algumas dicas da Clara Sodré, Especialista em Investimentos, sobre isso.

E quais as vantagens de ser um investidor qualificado?

  • Ter acesso aos produtos financeiros mais rentáveis e exclusivos;
  • Maior diversificação da carteira;
  • Possibilidade de ingressar em diferentes mercados mundiais;
  • Rendimentos acima da média;
  • Ofertas em renda fixa (CRIs, CRAs e debêntures);
  • Taxas de administração menores cobradas pelas corretoras ou bancos;
  • Possibilidade de grandes aportes.

Ao entender como os investimentos, riscos envolvidos e projeções, você poderá fazer escolhas assertivas, e obter melhores resultados. Isso irá te ajudar alcançar seus objetivos financeiros com mais agilidade e segurança.

Quer dominar o mercado financeiro? Faça o MBA em Investimentos e Private Banking e seja requisitado no mercado de trabalho!

São assuntos focados no que você realmente precisa aprender e desenvolver! Você poderá estudar onde e quando quiser!

Conheça também a assinatura Multi Mais e tenha acesso imediato aos cursos e bootcamps oferecidos pela Faculdade XP!

Nest.js: o que é e como funciona esse framework?

O aumento na demanda de aplicativos mobile fez com que muitas soluções de desenvolvimento surgissem no mercado. Afinal, otimizar os códigos que estão por trás desses programas traz inúmeros benefícios para a indústria. Neste artigo falaremos sobre um dos principais softwares relacionados ao tema, o Nest JS: o que é, para que serve, principais vantagens e desvantagens.

Aqui você também vai poder conferir como usar esse programa, além de um passo a passo de como fazer a instalação do software no seu device. Portanto, se quiser aprender um pouco mais sobre ele, aproveite o texto a seguir e boa leitura!

O que é Nest.js?

Pensado para melhorar tanto a produtividade como a experiência dos desenvolvedores, o NestJS é um framework que acelera a criação de aplicativos, principalmente na conexão deles com os servidores. Ele utiliza como idioma uma das principais linguagens de programação que existe, o JavaScript. 

O NestJS ganhou bastante popularidade entre os desenvolvedores back-end, pois ele apresenta um padrão de design e de arquitetura consolidados, já que o programa usa os recursos mais atualizados justamente de JavaScript. Esse é um dos fatores que ajuda a acelerar ainda mais o desenvolvimento das aplicações.

Para que serve Nest.js?

O NestJS serve para criar aplicações escaláveis, ou seja, que possam atender a um grande número de pessoas. Tudo isso pensando, claro, na eficiência do programa, além da confiabilidade que os aplicativos precisam ter. Afinal, ninguém quer desenvolver um app que apresente instabilidade ou que fique travando a todo momento, não é mesmo?

>>> Muitas profissões estão ganhando cada vez mais destaque no mercado de trabalho tecnológico. Uma delas é a carreira de Arquiteto de Sotfware. Você já ouviu falar dela? Para conhecer um pouco mais desse universo, o professor Gustavo Aguilar explica o perfil desse profissional e suas atividades. Dê o play no vídeo abaixo e confira uma aula completa:

Qual a diferença de Nest.js e Next.js?

Embora as duas sejam frameworks específicas para desenvolvedores, cada uma delas possui funções diferentes. Quando falamos de NestJS, o foco é voltado para resolver problemas de back-end do lado do servidor. 

Já quando olhamos para NextJS, nos referimos a uma estrutura Javascript que é renderizada diretamente pelo servidor. Vale lembrar que tanto um quanto outro possuem código aberto para os desenvolvedores, o que facilita bastante a execução dos projetos.. 

Quando comparamos as avaliações no GitHub, uma plataforma de hospedagem de código fonte, o NextJS é mais popular, com mais de 30 mil estrelas, enquanto o NestJS tem 17 mil.

Principais vantagens e desvantagens do Nest.js

Uma das principais vantagens do NestJS é que ele possui arquitetura modular. Isso é muito útil, pois com esse recurso é possível fazer o uso de qualquer biblioteca. Outro ponto positivo diz respeito a sua versatilidade, uma vez que ele possui um ecossistema capaz de se adaptar a qualquer tipo de aplicação. 

Tudo isso sem deixar de mencionar suas soluções de NodeJS aproveitando recursos de JavaScript. A plataforma ainda conta com módulos suplementares, como o NestJS testing e NestJS mongodb.

Já como ponto de atenção, podemos citar a sua interface pouco amigável, que pode trazer dificuldade para quem usa nas primeiras vezes. Além disso, ele não possui renderização automática. Caso este seja um recurso essencial na execução dos projetos que você trabalha, o ideal é dar preferência ao NextJS. 

Muitos devs se perguntam sobre a relação de NestJS vs ExpressJS. Aqui vale ressaltar que cabe a cada um escolher o que mais agrada, pois eles podem variar de acordo com a necessidade de cada projeto.

Como usar Nest.js?

O primeiro passo para usar o NestJS é ter o software instalado na sua máquina. Para saber como fazer isso, damos um passo a passo na sequência deste artigo. Vale ressaltar que para cada tipo de software pode ter uma diferença na forma de instalação, seja Linux, iOS ou Windows. 

É importante salientar que, para usar o programa, você precisa ter uma boa máquina, deixando o workflow mais leve e fluído. Isso vai ajudar na construção do projeto, trazendo muito mais rapidez para a execução do seu aplicativo.

Aprenda a instalar Nest.js passo a passo

Se você não sabe como instalar o NestJS na sua máquina, separamos a seguir uma forma básica de como esse processo deve ser feito. Vamos lá?

Para começar, é necessário fazer a instalação do NodeJS na sua máquina. Clique aqui e faça o download da versão “Current”, que terá as funcionalidades mais recentes. Após fazer isso, conseguimos iniciar a instalação do NestJS. 

Dentro do programa, você terá que criar um diretório raiz, que se chama app, e dentro do terminal deste diretório deverá executar o seguinte comando: npm i -g @nestjs/cli. Deixe o software fazer a instalação e pronto! Agora é só começar a usar. 

Como você pode ter visto, o NestJS é um software essencial para os desenvolvedores que trabalham na construção de aplicativos. Seus recursos trazem muita praticidade para a execução de projetos, facilitando ainda mais a organização dos códigos.

 

Você que é desenvolvedor não pode perder a oportunidade de participar da 5ª edição do Dev Summit. O evento é destinado a todos que se interessam por metodologias ágeis e transformação digital. Ideal para aprender mais sobre desenvolvimento de software, front-end, back-end, mobile apps, arquitetura de software e muito mais. Curtiu? Então garanta a sua vaga agora mesmo aqui. Quer saber o melhor? É grátis!

Customer Centric: o que é e como aplicar?

Empresas que têm os clientes no coração do negócio são empresas com cultura Customer Centric

Nós sabemos que você é um empreendedor que quer expandir o seu negócio e obter resultados financeiros mais altos. Para isso, e para se manter “pau a pau” com a concorrência, a nossa melhor dica é, definitivamente, investir no Customer Centric. 

Você provavelmente já ouviu frases como “o cliente é o dono da razão”, “cliente em primeiro lugar” ou até mesmo “apaixone-se pelos clientes”. 

O Customer Centric é bem mais do que frases de efeito: é a junção de ações e projetos estruturados, concebidos de maneira profunda e, de fato, de longo prazo.

Quando falamos de Customer Centric, precisamos entender que não são ações que trarão resultado imediato ou a curto prazo, mas são ações que aumentarão a longevidade e respeito do seu negócio. 

E se você está pensando que essa cultura só se aplica a grandes empresas, ficamos felizes em informar que você está errado! É possível (e importantíssimo) aplicar o Customer Centric em pequenos negócios e nós iremos te explicar o porquê. 

Vamos aprender?

O que é Customer Centric?

Customer Centric significa, em tradução direta do inglês para o português “centrado no cliente”. Assim, pode-se dizer que o Customer Centric é uma cultura empresarial que coloca o cliente no centro das decisões estratégicas de um negócio.

Mas se você acha que é só isso que rege as empresas Customer Centric, precisamos dizer que tem muita coisa por trás. 

Alguns pontos mais aprofundados são lideranças dos negócios focadas nos clientes, jornada do cliente mapeada para todos da empresa e até mesmo métricas como engajamento e saúde dos clientes sendo sempre utilizadas.

Você pode estar se perguntando: “mas quem garante que os clientes se importam com isso? Eles nem percebem o meu esforço enquanto empreendedor”. 

Bom, dados provam o contrário. 

Segundo relatório da Salesforce, mais de 60% dos entrevistados esperam que as empresas entendam as suas necessidades e expectativas. 

Impressionante, não é?

Qual o objetivo do Customer Centric?

O foco do Customer Centric é satisfazer e fidelizar os consumidores, além de aumentar a taxa de fidelização do seu negócio. 

Assim, a empresa consegue proporcionar aos clientes a melhor experiência possível, conseguindo registrar melhores resultados nas suas análises.

Existem empresas que já são Customer Centric desde o nascimento. Outras, se tornam. No caso da segunda opção, o trabalho a ser feito é mais difícil, mas não impossível e traz recompensas maravilhosas. 

Pilares do Customer Centric

Toda cultura e/ou estratégia tem os seus pilares. Hoje, você conhecerá os quatro do Customer Centric. 

1. Cultura Customer Centric em toda a empresa

Se você quer implementar essa cultura, todos os funcionários, de todos os setores da empresa precisam estar alinhados. O Customer Centric precisa ser parte da cultura organizacional. 

É importante alinhar essa “centricity” de forma individual para cada setor, ok? 

Por exemplo, não esqueça de debater com o seu time de Marketing sobre como eles devem manter um ótimo fluxo de produção de conteúdo de qualidade para cada etapa da jornada de compra do consumidor.

Além disso, é de extrema importância ter lideranças que sejam voltadas ao cliente. 

Como assim? 

Simples: aqueles que tomam decisões relevantes e estratégicas devem ser os guardiões do Customer Centric. Dessa forma, você verá como o seu negócio será impactado positivamente.

2. Conheça o seu cliente

Não apenas conheça. Conheça a fundo! 

Saiba quais são seus objetivos, comportamentos e desejos e, com uma análise completa do perfil do seu consumidor, você poderá ser certeiro no que diz respeito à apresentação de produtos e serviços que sejam indispensáveis para ele. 

Dica: o CRM (Customer Relationship Management) pode te ajudar a deixar essa tarefa mais eficiente! 

3. Monitore o seu desempenho 

Não pense que após fechar a venda o seu trabalho acabou. 

Pelo contrário: a partir desse momento você precisará acompanhar as suas estratégias e ver como elas estão desempenhando!

4. Feedbacks são seus melhores amigos

Ninguém acerta de primeira e ninguém se torna o melhor sem receber conselhos e críticas construtivas. 

Sendo assim, fique atento aos feedbacks que os seus consumidores te darão. 

Mapeie todos os pontos para melhorar e, em seguida, estabeleça essas melhorias!

Por que o Customer Centric é importante para o seu negócio?

Você sabia que muitos consumidores acreditam que um atendimento bom e exclusivo é um fator decisivo para comprar (ou não) de uma marca? 

Pois é. Esse foi o resultado de um estudo da InfoSys: 86% dos consumidores concordaram com a afirmação acima, provando a importância da relação direta entre customização e conversão.

Pensando assim, por que ficar para trás? 

Pessoas trabalhando no atendimento Costumer Centric
Treine toda a equipe para adotar a estratégia Costumer Centric.

Como aplicar o Customer Centric no seu negócio?

Se interessou, mas ficou com dúvida de como aplicar essa cultura no seu negócio? Vem com a gente que nós te explicamos em quatro passos! 

1. Conheça o seu cliente

Em suma, você precisa saber mais sobre o seu cliente do que ele mesmo. 

É isso mesmo que você leu! 

Conhecer as suas dores, expectativas e desafios com profundidade te farão entender como se conectar com ele, além de saber como promover experiências personalizadas para ele.

2. Mapeie a jornada do cliente

Você precisa estar atento ao comportamento dos seus clientes durante a jornada de compra dos mesmos. 

Mapeie tudo, viu? 

Desde a prospecção até o pós-venda!

3. Estabeleça canais de relacionamento

Como já falamos sobre a importância do feedback, você provavelmente já entendeu que muito do Customer Centric tem a ver com o diálogo. 

Por isso, é importante que você se relacione com o seu cliente e compreenda o que ele tem a dizer sobre o seu serviço ou produto!

4. Invista na capacitação da equipe

A melhor forma de implementar a cultura Customer Centric em toda a empresa é apresentá-la por meio de treinamentos para os funcionários.

Depois que eles já estiverem familiarizados, é importante continuar com os treinamentos, mas com foco em resolução de problemas, inovação e criação de mapa de empatia, por exemplo.

Mensuração da estratégia

Agora que você já sabe como implementar o Customer Centric, precisa aprender outro fator muito importante: como mensurar a eficiência da estratégia. 

Para isso, pode-se usar algumas ferramentas. São elas: 

Taxa de Churn

A temida Taxa de Churn representa o cancelamento do contrato. Fique de olho e não permita que essa taxa fique elevada. Ou seja, atenção ao atrair muitos clientes que não estão alinhados.

Lifetime Value (LTV)

Essa métrica, por sua vez, mede o lucro do seu negócio em relação a um cliente x. 

Net Promoter Score (NPS)

A famosa NPS avalia o nível de satisfação dos seus consumidores. 

Ela divide os clientes em três grupos: promotores da marca, neutros e detratores. O melhor é se manter distante dos últimos.

Vantagens do Customer Centric para o seu negócio

Se você deseja, com o seu negócio, gerar vantagem competitiva entre os concorrentes, a aplicação do Customer Centric é uma ótima ideia. 

Além disso, essa estratégia mostra ao cliente como a empresa se importa com ele e com o Customer Experience, não apenas com dinheiro. 

Uma pesquisa da Redpoint Global, de 2020, comprovou que mais de 80% dos funcionários esperam que os negócios voltados para o varejo compreendam as suas preferências e expectativas. 

Cases de sucesso que aplicam o Customer Centric 

Não tem como falar de cases de sucesso de Customer Centric sem falar no Nubank. 

A empresa é referência em superar as expectativas do cliente e isso é resultado de uma estratégia que eles conhecem por “Atendimento WOW”.

Como um dos lemas da empresa é desejar que os clientes os amem loucamente, o Atendimento WOW foi criado em 2015 com o objetivo de reconhecer relações incríveis entre atendentes e consumidores.

A premissa era simples: “todo Xpeer poderia enviar um presente para um cliente por mês, junto com uma cartinha escrita de próprio punho”. Não era uma regra, era apenas uma ideia. 

Uma ideia que deu muito certo! 

Hoje os Xpeers (atendentes do Nubank) podem enviar quantos presentes quiserem e isso resultou em muito sucesso nas redes sociais, como no dia que o banco deu um presente para cachorra que comeu cartão do dono. 

Nubank usa estratégia Costumer Centric para fidelizar seus clientes
Nubank é um grande case de sucesso da estratégia Costumer Centric. Fonte: Nubank

Incrível, não é?

Quer aprender como fazer isso no seu negócio? 

Simples: invista no MBA em Experiência e Sucesso do Cliente da Faculdade XP! 

Aprenda a atrair, reter, converter e gerar experiências incríveis para os clientes da sua empresa. 

Como aplicar a Lean UX no seu trabalho?

A disciplina Lean UX é uma metodologia (ou filosofia) que tem como premissa  resolver problemas de forma enxuta. Ou seja, criar soluções reais, viáveis e que, ao mesmo tempo,  tenham um custo baixo e que sejam de aplicação eficiente. 

Com estas características, parece que é impossível introduzir a Lean UX em um ambiente corporativo. Certo?

Errado. Neste texto, vamos explicar que não só isso é possível, como também, depois de ler este conteúdo, você vai identificar oportunidades durante o processo que servirão de aprendizado para novos serviços e produtos.

Assim, leia este artigo até o final para aprender o que significa Lean UX e como usar Lean UX em um ambiente corporativo, transformando desafios em oportunidades.

Boa leitura!

Lean UX: o que é? 

O Lean UX (abreviação de Lean User Experience, ou em livre tradução Experiência do Usuário Enxuta) é uma mentalidade, cultura e um processo que adota a metodologia agile lean. O objetivo é obter feedback o quanto antes, para ser usado para tomar decisões rápidas.

Por sua vez, a metodologia agile lean, em termos básicos, consiste em melhorar a eficiência eliminando o desperdício. Ao contrário do gerenciamento tradicional de projetos, que determina um plano definido por um gerente de projetos, o agile lean se esforça para reduzir  as tarefas e atividades que não fornecem valor real.

Assista ao vídeo abaixo para saber mais sobre a origem do Lean UX:

< Aprenda sobre um dos métodos de testagens que tem um papel importante nas metodologias ágeis: O que é MVP – para que serve e quais os benefícios? />

Em qual contexto a metodologia deve ser implementada?

A primeira coisa que é preciso entender é: receitas não existem. Vivemos em um momento em que temos e-book para tudo, ensinando como fazer de tudo. Conhecimento é sempre bom, mas esperar uma fórmula mágica é perder tempo.

Tudo é interação, em todo o tempo estamos interagindo com pessoas e coisas. Estamos focados em desenvolver melhor a interação com nossos clientes, e nos esquecemos de melhorar as interações internas. 

O design de interação é uma disciplina em constante evolução, e é preciso compreendê-lo, a fundo, para oferecer soluções para fora.

Se você deseja aplicar a Lean UX no contexto da empresa em que trabalha, você sabe, melhor do que nós, os desafios que irá enfrentar: resistência, descrença e a velha desculpa, “não temos tempo para parar a equipe”.

Mas, não se preocupe! Ainda neste artigo, daremos dicas que irão ajudar você neste processo de convencimento dos gestores e da equipe na aplicação da metodologia Lean UX. 

Questões sobre o contexto de implementação

Esse é um receio muito comum entre as empresas. Muitos gestores (e até liderados) entendem que aplicar a Lean UX significa parar a produção, como se as pessoas fossem deixar de fazer o que estão fazendo para “perder” tempo procurando soluções. Bem, é um receio justo. Essas pessoas têm razão, nenhuma empresa pode perder tempo.

Mais do que procurar aplicar receitas prontas, vindas de fora, de livros, manuais ou daquele profissional que você admira, é importante começar pelo óbvio: entendendo o contexto.

Sim, muitas pessoas que desejam aplicar a UX em seu ambiente de trabalho, sofrem por um motivo simples: elas não começam pelo óbvio. O trabalho da UX é compreender as pessoas e oferecer a melhor experiência para elas. Por que não fazemos o mesmo dentro da nossa realidade?  

Assim, outras questões a serem pensadas sobre esse contexto são:

  • Estamos entendendo nós mesmos? 
  • Como trabalhadores, de que forma estamos gerando valor para nossa equipe? 
  • Estamos trabalhando para gerar valor ou para seguir uma linha de produção?

Lean UX metodologia: realidades e razões para utilizá-la

Cada empresa tem a sua realidade interna, sua cultura, seus valores e sua forma de trabalhar. Tentar impor um case que você viu ali ou acolá, não vai funcionar, porque o que deve ser percebido é: tem aderência para a minha empresa? Vai funcionar com o meu time?

Veja essa situação: em uma reunião de uma consultoria de UX, um representante de software de CRM de uma gigante do setor de tecnologia, durante sua apresentação, estava mais preocupado em apresentar cases de empresas de grande porte, histórias muito bonitas de como seu produto ajudou tal grupo ou tal organização.

Os exemplos eram muito bons, e estas empresas se beneficiaram com a ferramenta e com a metodologia aplicada, mas algo a se considerar é: em qual momento ele vai mostrar a aderência do produto dele para a empresa em questão. Não houve aderência, não teve sentido. Apenas histórias bonitas de uma empresa lá de longe que fez tal coisa.

É neste sentido que é importante o entendimento coletivo. Se uma pessoa tentar impor uma forma de trabalhar, por mais que ela pareça ideal, utilizada em diversas empresas e startups por aí, ainda assim, onde você está, o time em que você trabalha, precisa e tem o direito fundamental de perceber e sentir valor na UX.

Como usar Lean UX na prática?

Abaixo, segue sugestão de como aplicar a Lean UX no seu ambiente de trabalho. 

Separamos em 3 tópicos algumas dicas de como podemos desenvolver este exercício em nossos times. Porém, não se prenda a eles. São experiências que compartilhamos aqui e que vêm dando certo, mas, não significa que não possa ser melhorado e atualizado constantemente. 

Afinal, tudo muda e é justamente por isso que a Lean UX deve estar presente de dentro para fora, no mínimo.

Antes de começar, tenha em mente que um dos principais desafios que você vai enfrentar é: o convencimento. Persuadir os tomadores de decisão de que é importante melhorar a experiência interna, para que esta seja reverberada para o mercado, não é uma tarefa fácil. Porém, não é impossível.

Assim que você determinar o nível de formalidade, convença os tomadores de decisão a apoiarem seu esforço. Os funcionários internos geralmente encontram obstáculos diferentes dos consultores externos. Os primeiros precisam persuadir, os últimos precisam vender.

(Jim Kalbach, autor do livro Mapeamento de Experiências, p. 83.)

Vamos à prática!

1 – Entender o cenário interno

Um exercício que funciona é: mapear e entender as jornadas de trabalho da equipe. Preste atenção em como os processos são realizados, quais gargalos existem e quais dores são geradas durante o fluxo.

Assim, é possível entender o cenário, criar um mind map de jornadas e perceber os pontos de melhoria. O que muitos chamam de “erros” ou “mal feito”, podemos chamar de “oportunidades”. 

Em muitos casos, ao entender a jornada de uma tarefa, é possível identificar um problema e transformá-lo em um fluxo mais inteligente para as pessoas, gerando valor interno que pode servir para o mercado.

O que você vai entregar e apresentar:

  • entendimento de como os trabalhos estão sendo desenvolvidos; 
  • como a equipe está trabalhando; e 
  • sua percepção de como você pode ajudar a melhorar a experiência das pessoas, ajustando e melhorando o fluxo de atividades.

Dica:

Procure não apontar erros ou falhas. O importante aqui é você demonstrar que você entende e compreende muito bem como o trabalho está sendo realizado, e é com este entendimento que você vai propor melhorias.

Lean UX

Mapeamento das atividades que são desenvolvidas e pontos de melhoria.

2 – Desenhar os fluxos

Com base em todo o entendimento que você tem acerca da equipe que você faz parte, ou da empresa em que  trabalha, construa um fluxo atual de como as tarefas são desenvolvidas. 

Desenhe o workflow atual da equipe e, neste momento, não aponte melhorias. Apenas apresente  as jornadas, para que elas sirvam de material base.

A importância de desenhar estes fluxos é que eles servem de base de conhecimento para que você se aprofunde e entenda melhor as oportunidades. 

Uma tarefa que é realizada com 8 ou 10 pessoas pode se transformar em 1 ou 2 passos. É preciso identificar e entender as jornadas e os pontos de interação para perceber o que está funcionando e o que é desperdício.

O que você vai entregar e apresentar:

Demonstrativo de fluxos: um material, no formato que você julgar melhor. Pode ser digital, no papel, pouco importa. 

O importante é ter um material entregável que o ajude a se fazer entender. Com ele, você poderá explicar como está estabelecido o fluxo atual de processos internos.

Dica:

Durante este processo, procure ser bem claro e objetivo. Demonstre que você compreende bem como funciona o atual fluxo de tarefas. Imagine-se em uma apresentação, em uma sala com 10 diretores: como você irá convencê-los? Qual o melhor material para o seu momento?

Lean UX

Crie um fluxo das principais tarefas e pontue o que é possível fazer para melhorar a experiência destas etapas.

3 – Estratégias e oportunidades

Você realizou o entendimento do cenário e construiu os fluxos de trabalho. Agora, é hora de identificar as oportunidades de melhorias. 

Este é o momento em que você vai mostrar que não se trata apenas de um ajuste aqui ou ali, mas, sim, de melhorar os processos de tal forma, que a equipe será mais produtiva e eficiente em suas entregas.

Com a jornada de tarefas que você desenhou, identifique os pontos que você considera vitais para que este fluxo seja mais eficiente. Para cada ponto identificado, coloque uma ou duas oportunidades que você considera importante para o meio.

Reflita com as seguintes perguntas:

  • O que pode ser melhorado?
  • Qual ponto está gerando desperdício?
  • Em que momento a tarefa está se perdendo?
  • Quais oportunidades cada ponto desse pode gerar?
  • O que podemos fazer para melhorar?
  • Alguma ferramenta pode ajudar?

Assim, com esta percepção, você estará preparado para argumentar e defender as suas ideias sobre como melhorar um processo interno, gerando mais valor e agilidade para a equipe. Com isso, é natural que reverbere para o público, cliente, etc. O importante é fazer.

O que você vai entregar e apresentar:

UX Canvas para processos internos. Pode ser digital, no papel, pouco importa. 

O importante é você ter um material entregável que vai lhe ajudar a se fazer entender. Com ele, você poderá explicar como está estabelecido o fluxo atual de processos internos e como você identificou cada ponto de oportunidade. 

Pode ser um protótipo digital, no papel, na parede ou no quadro. O importante é você ter algo para se apoiar.

Dica:

Procure mostrar que não são falhas identificadas, mas, sim, pontos de interação que podem ser ajustados. 

Procure fazer os envolvidos perceberem que cada etapa é fundamental para que a equipe flua melhor.

Lean UX

Utilize o modelo de canvas para analisar, detectar e propor soluções que possam melhorar a experiência em processos internos. Você pode fazer o download do exemplo aqui.

O que é Lean UX? Conclusão

Estas 3 etapas que sugerimos, como salientado anteriormente, não são nenhuma receita mirabolante e de fácil aplicação. Procure o resultado, não a mágica. 

Estas etapas são recomendadas para todo tipo de empresa, seja uma organização com 4 pessoas, seja um grupo com mais de 20 mil pessoas.

É um fato que os processos podem ser sempre melhorados.E a disciplina Lean UX existe justamente para que possamos fazer melhorias de verdade na vida das pessoas, inclusive, dentro da empresa em que você trabalha.

E você? Tem alguma dica ou sugestão sobre Lean UX? Vamos trocar experiências. Deixe seu comentário neste post. 

Você também pode se aprofundar em User Experience com os bootcamps da Faculdade XP em Analista de Marketing Digital, Experiência do Cliente e Sucesso do Cliente. Invista na sua formação, assine agora!

Até a próxima.

O que é programação orientada a objetos (POO)?

Ao lidar com um sistema ou software de uma empresa, é importante pensar quais os objetivos e o que ele planeja resolver. Dentro desse paradigma de programação – ou seja, a forma com a qual se decide resolver determinado problema por meio da programação de computadores – existe a programação orientada a objetos (POO).

Ela serve de alicerce e parâmetro para o desenvolvimento de um programa completamente inovador e eficiente. 

Você conhece esse conceito? Entre todos os paradigmas dentro das linguagens de programação, o POO é o mais difundido pelo resultado que traz ao setores de tecnologia das empresas. 

Neste artigo você vai entender o que é o POO e outros detalhes para sua execução. Confira!

O que é a POO?

A POO nada mais é que um paradigma de programação que tem como intuito apresentar o design de um sistema com os fatores de entidades, objetos e relacionamentos. Ou seja, é um modelo baseado na aproximação entre o mundo real e o mundo virtual, através da criação e interação entre objetos, atributos, códigos, métodos, entre outros fatores. 

Assim, a programação orientada a objetos parte do princípio de que tudo o que existe são os objetos. Só que para eles serem criados, precisam de uma forma para esse aspecto inicial, assim como no mundo real mesmo. 

👉 Um exemplo prático seria: você tem uma unidade fabril realizando a fabricação de produtos, sendo que esses produtos (considerados os objetos) são qualquer coisa: desde carros até um chocolate. Seja qual for o escolhido, no início dessa produção, haverá o uso de uma forma para dar o aspecto inicial dos objetos finais. Todas essas fôrmas são equivalentes ao conceito de classes em POO.

Quando realizados eles passam por personalizações, como cores, formatos, funções ou recheios. É esse resultado final que determina a ação do POO, com todas essas características individuais. 

banner do ebook "guia da carreira"

Programação Estruturada vs Programação Orientada a Objetos

Ao se aprofundar sobre a programação orientada a objetos, surge a explicação do que é uma programação estruturada, podendo muitas vezes serem confundidas. Vale então ressaltar que a principal diferença entre as duas é referente ao acesso aos dados.

Na POO os dados não são generalistas, como no caso de variáveis globais que podem ser vistas e utilizadas a qualquer momento. Além disso, por ser feita por meio dos objetos, sua estruturação de dados é menor quando comparada à programação estruturada.

Portanto, a Programação Orientada a Objetos fica acessível somente aos seus métodos, ao invés de ser acessível por todas as funções, como ocorre no paradigma estruturado. Confira melhor na imagem abaixo. 

diferença entre programação estruturada e poo
Diferença entre Programação Estruturada e Programação Orientada a Objetos.

Os 4 pilares da Programação Orientada a Objetos

Na prática, para a POO funcionar, ela precisa utilizar de 4 pilares básicos. Para uma linguagem de programação ser considerada orientada a objetos, deve haver quatro comportamentos característicos. São eles:

Abstração

Também conhecida como interface ou template, sua ideia é representar um objeto de forma abstrata, que seja obrigatoriamente herdado por outras classes

Como estamos lidando com uma representação de um objeto real (o que dá nome ao paradigma), temos que imaginar o que esse objeto irá realizar dentro do sistema. 

Assim, leva-se em consideração uma identidade ao objeto que iremos criar, as suas características e as ações que irá executar. Essas ações ou eventos são chamados “métodos”. 

Logo, é comum as pessoas simplificarem a explicação da abstração como uma espécie de mistura de encapsulamento e polimorfismo, que você verá as definições a seguir.

Encapsulamento

É referente a capacidade que determinado método ou atributo de um objeto tem de se manter invisível, de se manter funcional, mas sem mostrar como

É igual a gente saber o que faz, mas não saber como se faz. 🤨

Nesse sentido, ele se trata de um dos elementos que adicionam segurança à aplicação em uma programação orientada a objetos pelo fato de esconder as propriedades, criando uma espécie de caixa preta.

Herança

Refere-se a receber algo pré-existente, onde é um evento que ocorre entre classes, tendo a doadora, que é a classe-mãe, e a filha como herdeira

Vamos a um exemplo: existe uma família onde a criança está herdando características de seus pais. Já os pais, herdam algo dos avós, o que faz com que a criança também tenha essa ‘herança’, e assim sucessivamente. 

Essa é a dinâmica da orientação a objetos. O objeto abaixo na hierarquia irá herdar características de todos que estão acima dele, seus “ancestrais”.

Polimorfismo

Ela é peculiar aos métodos dos objetos, ou seja, um mesmo método pode ser utilizado em diferentes objetos, de diferentes classes.

Um exemplo seria: você está no banco e pega o extrato que mostra a movimentação da conta de clientes de determinada categoria (objeto). No entanto, pode-se usar essa funcionalidade para clientes no geral. Além de também pode ser utilizado no sistema de outros bancos (classes).

Vantagens da Programação Orientada a Objetos

São muitos os benefícios de investir em uma programação orientada a objetos, devido à necessidade de se representar cada vez mais o mundo real na rede de computadores. As vantagens principais são:

  • Ser confiável;
  • Fácil de ajustar;
  • Ser extensível;
  • Possível de se fazer reutilização.

Exemplos de linguagens de Programação Orientada a Objetos

Existem diversos tipos de linguagens de programação orientada a objetos no mercado atual, sendo as principais Java, C# e C++. Cada uma possui sua abordagem e recomendações de aplicações, confira:

Java

Uma das mais conhecidas no mercado, ela implementa os quatro pilares de forma bastante intuitiva, o que facilita o entendimento por parte do desenvolvedor. 🤩

A abstração ocorre por classes, que contém propriedades e métodos, de forma bastante simples. Entretanto o encapsulamento por propriedades privadas, e as de herança e polimorfismo no Java, são um pouco mais complexas. 

Na figura abaixo você observa um exemplo de encapsulamento de Java:

linhas de código java em poo
Exemplo de encapsulamento de linguagem Java.

C#

Também muito conhecida, sua abstração é muito simples, e segue o modelo do Java. A questão do encapsulamento é um pouco diferente devido a implementação dos métodos getter e setter.

Além disso, a questão da herança em C# também segue o modelo do Java: herança simples e a possibilidade de utilização de interfaces. Confira exemplo abaixo de encapsulamento de C#:

encapsulamento linguagem c poo
Exemplo de encapsulamento de linguagem C#.

C++

Por ser baseada em uma das primeiras linguagens existentes, tem mais liberdades com o hardware. Em relação a abstração, o C++ implementa classes, assim como qualquer linguagem orientada a objetos, além de possuir o sentido de privado e público, que é utilizado para encapsulamento. Esse encapsulamento é realizado através de métodos getter e setter, muito similar ao visto em Java e C#. 

No entanto, ao falar de herança é diferente, pois permite a herança múltipla, o que significa que cada classe pode herdar de quantas classes desejar.

Confira exemplo abaixo:

linguagem c++ na programação orientada a objetos
Exemplo de herança em linguagem C++.

Use a POO no seu dia a dia!

Portanto, a programação orientada a objetos traz grandes benefícios aos setores de tecnologia da informação das empresas na construção de seus sistemas e softwares ou hardwares. 

Só para sua execução é necessário um conhecimento básico técnico que apenas uma especialização pode trazer. 

Tem interesse em saber mais sobre o assunto? Aqui na Faculdade XP temos um bootcamp exclusivo para você se tornar um desenvolvedor e dominar essas práticas. Saiba mais sobre ele.

Algoritmos de machine learning: 5 pontos a serem considerados na escolha

O campo de aprendizado de máquina (machine learning) oferece uma grande quantidade de opções quando se trata de algoritmos. No entanto, escolher o algoritmo correto não é uma tarefa fácil.

Nesse artigo, falaremos sobre como escolher os algoritmos de machine learning e quais as principais características devemos estar atentos para aumentar nossa chance de sucesso.

Uma dúvida comum na área de aprendizado de máquina e reconhecimento de modelos de machine learning é: qual o melhor algoritmo? 

Essa pergunta, tão recorrente nos cursos de formação, também circula na indústria e nos centros de pesquisa, e sua resposta é bastante insatisfatória.

Seria fantástico se houvesse uma resposta simples, mas a primeira (e única) possível para ela é: depende. Depende da natureza da tarefa, da quantidade e tipos de dados disponíveis, do tipo de resposta que se espera, do tempo e recursos computacionais à disposição, da profundidade do nosso conhecimento sobre os algoritmos, dentre outros fatores.

Assim, temos que nos conformar com o fato de que, dentre os tipos de algoritmos de machine learning, o melhor para qualquer que seja o problema simplesmente não existe

Embora possa parecer frustrante, esse fato nos leva a uma pergunta muito mais interessante (e correta), a qual gostaria de discutir nesse artigo: o que devemos saber antes de escolher os algoritmos de machine learning para a resolução de um problema?

Para responder a esta questão, iremos abordar os seguintes tópicos:

  • Algoritmos de machine learning: características
  • Machine learning: tipos de algoritmos e como escolher
  • Conclusão

Boa leitura!

Algoritmos de machine learning: características

Apesar de serem aplicados de diferentes formas em diferentes domínios, cada um dos algoritmos de machine learning possui características decorrentes dos seus princípios de funcionamento e que nos ajudam a responder às perguntas deste artigo. 

Alguns algoritmos exigem memória, enquanto outros exigem grande capacidade de processamento. Alguns precisam de um grande volume de amostras rotuladas, ao passo que outros são mais eficientes justamente quando temos uma quantidade reduzida de dados. São exatamente essas características que podem nos auxiliar a escolher o algoritmo mais adequado ao nosso problema.

Antes de entrar no assunto mais profundamente, gostaríamos de deixar claro que esse artigo implica algum conhecimento prévio. Por isso, será mais útil para pessoas já iniciadas na área, que já têm conhecimento sobre os  métodos mais consolidados, como o Naive Bayes, Árvores de Decisão, técnicas de regressão, clustering e redes neurais. 

< Se alguns desses assuntos são novidades para você, sugerimos a leitura deste artigo: O que é machine learning? Como funcionam os seus algoritmos? />

Por ser uma área de grande interesse e em franca expansão, o aprendizado de máquina é um campo extremamente volátil. 

Novos algoritmos, ou novas versões de antigos algoritmos, são propostos e publicados quase diariamente. Por esse motivo, gostaríamos de esclarecer que trataremos nesse artigo os principais algoritmos de machine learning, ou seja, os mais conhecidos em suas formas mais utilizadas. Bom, por onde começar?

Machine learning: tipos de algoritmos e como escolher

Para saber como escolher dentre os tipos de algoritmos de machine learning, veja, a seguir, os 5 pontos a se considerar. 

1. A natureza da tarefa

Comecemos pelo óbvio. A área de Reconhecimento de Padrões abrange o estudo de algoritmos projetados para tarefas de descrição e predição de padrões. 

Isso significa tentar prever que algo pode ou não acontecer (ou estar presente) com um certo grau de incerteza. Sim, isso é um pouco vago, mas saber diferenciar qual tarefa se deseja executar e qual o tipo de resposta se deseja obter é o primeiro passo para a sua escolha.

O que isso significa? Significa que se estamos trabalhando na construção de agente autônomo (bot) para o mercado financeiro, temos que entender que tentar prever a variação de uma moeda frente a um cenário econômico em um horizonte de tempo é um problema completamente diferente de se decidir se é o momento certo ou não de comprá-la ou vendê-la.

Para iniciar o processo de escolha é necessário saber distinguir, pelo menos, os três grandes grupos de tarefas: 

  1. classificação; 
  2. regressão; 
  3. clusterização. 

Existem excelentes artigos disponíveis para explicar as diferenças entre esses grupos, como esse outro artigo do Anderson Vinícius. Às vezes, pode ser complicado distinguir entre esses grupos.Por isso, seguem aqui algumas dicas: 

  1. se tentamos prever uma categoria, Classificação;
  2. se estamos tentando prever um valor, Regressão;
  3. se não sabemos as categorias, Clusterização.

2. Os dados podem decidir o caminho

Caso pergunte a um cientista de dados qual a quantidade de amostras que ele precisaria para garantir o melhor desempenho certamente responderá: “o máximo possível”. Quando se trata de reconhecimento de padrões, “mais” geralmente significa melhor. No entanto, quanto pode ser considerado suficiente? Qualquer dado nos interessa?

É fato que sem dados não há aprendizado e por isso, a primeira recomendação que se pode fazer é: se não possui dados, trate de obtê-los. Os dados disponíveis conduzem as técnicas que podemos utilizar. 

Se temos amostras rotuladas podemos utilizar técnicas supervisionadas, dentre os modelos de machine learning.No entanto, se não as tivermos , é necessário recorrer às técnicas não supervisionadas. Quando a tarefa a ser realizada é tão complexa que só a resposta da interação com o ambiente pode fornecer um treinamento eficaz, aprendizado por reforço

Independentemente das técnicas, a quantidade de dados depende do problema. Apesar disso, alguns algoritmos costumam ser mais ávidos por dados do que outros. Sem se prender a faixas exatas de valores, mas sabendo que é mais comum falar-se de milhares do que de centenas, percebemos que os algoritmos apresentam tendências.

Com base nisso, qual modelo escolher?

Redes Neurais, por exemplo, precisam de uma quantidade considerável de dados para apresentar resultados competitivos, mas, geralmente, o aumento da quantidade de dados melhora seu desempenho de predição. 

É um comportamento diferente, por exemplo, do Naïve Bayes, um dos principais algoritmos de machine learning, que consegue realizar a tarefa de predição com algumas centenas de amostras.

Técnicas que combinam múltiplos preditores, como as Random Forests e técnicas de boosting, por precisarem alternar as amostras durante o treinamento, também precisam de uma quantidade maior de dados para apresentar melhores resultados que seus preditores individualmente.

O mesmo pensamento se aplica à quantidade de dimensões do problema: a “maldição da dimensionalidade”. Alguns algoritmos se deterioram mais rapidamente quando se aumenta a quantidade de campos utilizados para a predição.

Um caso conhecido desse efeito é o K-NN. O processo de classificação desse algoritmo faz com ele seja sensível à ruídos: características que dificultam a resolução do problema. À medida que a quantidade de campos aumenta (10 a 20 características) rapidamente ele perde eficiência. 

Em contrapartida, as SVMs são menos sensíveis aos ruídos conseguindo lidar com grandes quantidades de características (mais de 100) sendo mais indicadas nesses casos.

3. O tempo que temos

Imagine um programa que coordena as ações de um jogador adversário utilizando técnicas de aprendizado de máquina. Esse programa é responsável por, a cada ação de um jogador humano, determinar uma jogada que maximize a chance de derrota do seu oponente. 

Para que desempenhe bem essa tarefa, esse programa além de ser bem projetado, precisa ser treinado antes de ser disponibilizado e deve atuar dentro do jogo oferecendo respostas em tempo adequado.

Se o jogo em questão é o xadrez, não será um grande problema se o programa levar vários segundos para responder a uma jogada e, da mesma forma, investir alguns meses sendo treinado para jogar. 

Contudo, se for um jogo de arena online a resposta precisa ser imediata, assim como   o treinamento deve acontecer durante o próprio jogo para que a máquina possa se adaptar àqueles jogadores.

Dessa forma, os algoritmos possuem diferentes exigências a respeito do tempo e recursos necessários para serem devidamente treinados e executarem suas tarefas, e isso é importantíssimo se temos restrições quanto a esses parâmetros. A pergunta que se faz aqui é: quais algoritmos são treinados mais rapidamente? Quais são mais rápidos durante a execução?

Com base nisso, qual modelo escolher?

Técnicas baseadas em otimização de parâmetros como os modelos de machine learning de Regressão Linear, requerem um esforço maior durante a fase de treinamento do sistema. 

Em contrapartida, depois de escolhido o modelo, o processo de execução é rápido, pois se resume à realização de um único cálculo. Da mesma forma, técnicas baseadas em aprendizado por reforço, também precisam de mais tempo para serem treinadas, mas respondem em baixíssimo tempo durante a execução.

O mesmo ocorre na construção de uma Árvore de Decisão que possui um tempo de treinamento relativamente elevado, mas seu processo de classificação baseado em testes é extremamente rápido. 

Em contrapartida, o K-NN tem um tempo de treinamento baixíssimo, mas o tempo que leva para calcular as distâncias de uma amostra para todas as outras, faz com que a execução do processo de classificação seja extremamente lenta, especialmente em grandes bases de dados.

A Regressão Logística, assim como o Naive Bayes, possui ambos os processos, treinamento e classificação, rápidos. As SVMs possuem um tempo de treinamento mais lento que os anteriores, mas seu processo de predição também é rápido o suficiente para ser utilizado em problemas de processamento de texto e de linguagem natural.

4. A complexidade da tarefa e do algoritmo

O raciocínio é simples: boa parte dos algoritmos de machine learning se baseia na criação de linhas que descrevem ou dividem o espaço. 

Algoritmos de classificação e clustering criam linhas que expressam a fronteira entre diferentes grupos. Algoritmos de regressão criam linhas que expressam uma tendência dos dados. Alguns desses algoritmos presumem que essas relações são lineares. Essa premissa é ruim para alguns problemas, e ter esse conhecimento  pode economizar muito tempo da equipe de desenvolvimento.

O Discriminante Linear de Fisher, ou seu modelo generalizado LDA (Linear Discriminant Analysis), e a Regressão Logística, por exemplo, são exemplos de algoritmos que utilizam a linearidade como premissa. 

Outros modelos de regressão também possuem dificuldade de expressar relações não lineares complexas, pois como seu modelo se resume a encontrar um conjunto de parâmetros para uma equação que maximiza o ajuste da curva, seus termos de alta ordem podem ser um desafio. Logo, se a fronteira ou tendência é complexa, tome cuidado com esses algoritmos.

Alguns algoritmos, apesar de se aproveitarem da linearidade, introduziram artifícios para evitar esse problema. As SVMs, por exemplo, introduziram as variáveis slack e os “truques” de kernel para mitigar essas situações. No entanto, isso faz com que sua utilização se torne mais complexa. 

Em compensação, outros algoritmos, como Árvores de Decisão, K-NN e as Redes Neurais, possuem a capacidade de estabelecerem fronteiras de decisão (e de tendência no caso da utilização das Árvores para a tarefa de regressão) complexas e não lineares sem a necessidade de parametrização.

5. O quanto o algoritmo acerta e o que queremos que ele acerte

Precisão  é uma palavra que deve fazer parte do vocabulário de qualquer profissional que queira atuar na área de aprendizado de máquina. Apesar de existirem diversas formas de se determinar o desempenho de um algoritmo, esse é, sem dúvida, o primeiro parâmetro a se avaliar. 

Sendo a acurácia a nossa primeira medida é certo que com tempo para treinamento e uma quantidade suficiente de dados, as Redes Neurais, SVMs e métodos ensembles como as Random Forests geralmente apresentam desempenho superiores. Da mesma forma, é comum que métodos como Naïve Bayes e o LDA tenham desempenho inferiores aos demais.

Mas, o cuidado nesse aspecto não é somente de se avaliar qual algoritmo “acerta” mais. Imagine o seguinte: existe um sistema que controla um reator nuclear e ele deve alertar se há ou não risco de vazamento. 

Um típico problema de classificação com duas categorias (existe vazamento / não existe vazamento) sobre o qual reside uma decisão de projeto. Responda o que é pior: o sistema emitir um alerta quando não há vazamento ou não emitir um alerta quando há vazamento?

Nesse caso, é óbvio que o falso positivo tem consequências menos trágicas que um falso negativo. Saber qual medida se deseja privilegiar também pode ajudar na escolha. Nesses casos, somente testes comparativos sobre o problema com os algoritmos escolhidos previamente podem nos ajudar a acertar na escolha.

Como utilizar os algoritmos de machine learning a seu favor? Conclusão

Como vimos, projetar um sistema de aprendizado de máquina que reconheça padrões não é uma tarefa simples. Os aspectos citados neste artigo podem ajudá-lo a escolher de forma mais consciente os algoritmos de machine learning para aumentar, assim, sua chance de sucesso. Para terminar o artigo um último conselho: teste sempre que puder!

Se você quer se aprofundar ainda mais no assunto e aprender a solucionar problemas por meio do aprendizado de máquina, considere cursar o MBA em Machine Learning da Faculdade XP. Com ele, você é capaz de avaliar cenários, definir as melhores técnicas a serem utilizadas e se tornar um profissional disputado no mercado!

O que é dashboard? Conheça todos os tipos e saiba como fazer o seu!

Com o avanço da tecnologia da informação, dashboards trazem facilidade de gerar relatórios e indicadores em vários níveis e formatos, e para objetivos diversos.

Mas, você sabe o que é dashboard? Provavelmente, já deve ter ouvido falar, mas sabe quais são suas funções e como ele é utilizado no ambiente corporativo? 

Geralmente esta ferramenta é usada como uma espécie de painel de controle. Ou seja, um dashboard é um conjunto de indicadores que permitem que um determinado processo seja monitorado. 

Nesse sentido, um exemplo de dashboard é o painel automotivo. Ele mostra medidores relacionados ao ato de dirigir e controlar o automóvel, como a velocidade e o nível do combustível. A exibição dessas informações tem como finalidade fazer com que tudo ocorra dentro do previsto e qualquer anormalidade seja mostrada, evitando possíveis danos.

Transferindo essa ideia para o ambiente corporativo, temos o dashboard empresarial, cuja função principal é auxiliar a organização e seus gestores no controle de indicadores, monitoramento de processos e resultados. Podendo, deste modo, ser aplicado nos mais diversos segmentos.

Quer saber mais sobre o que são dashboards, como utilizá-los e quais tipos existem? Então, leia este artigo até o final e descubra qual é o modelo ideal para os seus objetivos e como montar um dashboard! Boa leitura!

O que é dashboard?

O dashboard pode ser entendido como uma ferramenta utilizada para realizar gestão da informação. A partir dele, é possível exibir indicadores-chave de performance, métricas, dados e estatísticas sobre o desenvolvimento de um negócio, setor ou processo.

Geralmente esse painel de informações é construído de forma personalizada. Ou seja, muda de acordo com as necessidades do momento, podendo ser produzido por meio do uso de diferentes programas. Exemplos de dashboard são construídos por meio de programas como Power BI, Excel e Google Data Studio.

O que são KPIs e dashboards?

Enquanto os dashboards são ferramentas que reúnem dados e fornecem feedback visual ao mostrar como sua empresa está se saindo, os indicadores-chave de desempenho (KPIs) são valores mensuráveis que mostram a eficácia com que você está atingindo suas metas. 

Identificar e rastrear KPIs permite que você analise se sua empresa está no caminho certo dos negócios – ou se você deve mudar de rumo para evitar perder tempo e dinheiro. Quando usados ​​corretamente, os KPIs são ferramentas poderosas que ajudam você a:

  • Monitorar a saúde financeira da empresa;
  • Medir o progresso em relação aos objetivos estratégicos;
  • Identificar os problemas desde o início;
  • Fazer ajustes oportunos nas estratégias de negócio;
  • Tomar decisões melhores, mais rapidamente.

Para identificar quais KPIs são importantes para o seu negócio, comece esclarecendo e definindo seus objetivos estratégicos – de toda a empresa e por departamento.

A escolha de quais KPIs são relevantes dependerá inteiramente desses objetivos e da capacidade que você tem de medir seu desempenho em relação a eles.

Em seguida, identifique as metas para as quais você está trabalhando e como elas serão medidas. Tenha em mente que estas podem ser tanto para ações  de curto e longo prazos.

É importante também explorar as tarefas e táticas que sua empresa usará para atingir essas metas. Por fim, reserve um tempo para avaliar onde você está hoje – este será o ponto de partida na definição dos KPIs que serão exibidos no seu dashboard.

Quais são os diferentes tipos de KPIs?

Identificar quais KPIs você deve acompanhar fica mais fácil quando você entende melhor os tipos de KPIs mais comumente usados ​​para medir o progresso. São eles: KPIs quantitativos, qualitativos, de resultados e de tendências, como veremos melhor a seguir.

  • KPIs quantitativos: são todos aqueles sobre fatos mensuráveis ​​que podem ser representados por um número. Pense em estatísticas, porcentagens e cifras.
  • KPIs qualitativos: envolvem interpretações humanas e não podem ser quantificados com números. Pense em opiniões, sentimentos e experiências.
  • KPIs de resultados: ​​medem o que já aconteceu no passado para prever o sucesso ou o fracasso. Pense em olhar para o que você já realizou, ou onde você enfrentou dificuldades.
  • KPIs de tendências: os principais KPIs medem o desempenho para prever o sucesso futuro e as tendências de longo prazo. A ideia aqui é olhar a direção para onde se está indo. 

Os dois últimos tipos de KPIs, de resultados e de tendências, ​​são comumente usados ​​juntos. E os dois primeiros, os KPIs quantitativos e qualitativos, são um bom lugar para começar a medir o desempenho da sua empresa.

Para cada KPI que você escolher rastrear, atribua um responsável e a frequência com que este indicador será monitorado. Quaisquer que sejam os KPIs que você decida acompanhar, usar uma plataforma ou ferramenta de KPI é fundamental para que seja possível a colaboração entre os membros da sua equipe nas definições de KPI. 

Depois de definir cada um dos KPIs a serem monitorados, é possível capturar dados contextuais e unificá-los na tela do seu painel de controle (dashboard), permitindo que você acompanhe com frequência as ações da sua empresa.

Para que serve o dashboard?

O dashboard serve para facilitar a visualização da realidade do negócio, uma vez que ele permite unir tudo em um só lugar. Ele oferece esse benefício pelo fato de sua construção ser feita com base em um conjunto de gráficos e informações estratégicas. 

Isso porque ele é conectado aos servidores e arquivos da instituição, sendo alimentado com dados atualizados diariamente ou em tempo real.

Para funcionar da forma mais eficiente possível, ele deve sempre ser apresentado em uma só tela, facilitando a visualização das informações.

Assim, os dashboards empresariais se tornam importantes recursos nas organizações, pois permitem:

  • Visualizar dados-chave do desempenho em formato gráfico, monitorar zonas vermelhas e definir níveis limiares para indicadores, disparando as entregas de alerta;
  • Ligar os KPIs individuais às metas da empresa;
  • Alcançar objetivos de negócios (como ROI, metas de atendimento ao cliente e receita);
  • Apresentar dados otimizados, para acelerar a avaliação de tendências e estatísticas atuais, e para informações e resultados acessíveis tanto para gerentes executivos quanto para novos funcionários e clientes.

Dessa forma, dashboards empresariais são o que existe de mais atual e efetivo para auxiliar as organizações no acompanhamento e simulações de resultados diversos, reunindo dados que servirão de apoio nos diferentes níveis: do executivo ao operacional. 

Tipos de dashboard

Agora que já vimos o que é dashboard e para que serve, veremos os diferentes tipos de painel de controle construídos de acordo com a forma de uso e a natureza do negócio. Pensando nisso, foram desenvolvidos ao longo do anos diversos modelos, alguns específicos para determinados segmentos.

Dashboard Operacional

Assim como o nome já entrega, o dashboard operacional diz respeito a operações técnicas e processos. Ele serve para o efetivo acompanhamento das métricas que irão auxiliar os analistas no aprimoramento de suas rotinas produtivas.

O objetivo aqui é levar mais agilidade e diminuir a quantidade de erros durante o dia a dia. Deste modo, o profissional fica mais propício a aumentar a sua produtividade. Muito legal, né?

Dashboard Analítico

Já consegue imaginar o que é dashboard analítico? Ele é uma ferramenta importante para o estudo do cenário como um todo.

Com ele, a organização é capaz de identificar tendências, padrões e fenômenos. De posse de informações realistas e detalhadas, a gestão verifica se os processos estão avançando como o esperado.

Dashboard Estratégico

Este modelo geralmente é utilizado pela diretoria e serve principalmente como uma bússola para tomada de decisões, principalmente aquelas de longo prazo.

Normalmente, este modelo deve ser exposto a toda a empresa, e irá ajudar a engajar os colaboradores que irão auxiliar nas decisões importantes.

Dashboard Tático

Este dashboard é atribuído principalmente aos cargos de gestão e gerência, isso porque ele está relacionado a tomadas de decisão em médio prazo e na obtenção de vantagens competitivas a partir de insights extraídos dos gráficos e dados obtidos.

Alguns elementos para utilizar em um dashboard

Mais um passo foi dado em direção ao dashboard ideal! Agora, é hora de aprender o que pode ser adicionado ao seu projeto e como os elementos funcionam na construção da sua base de dados.

Gráficos

Os gráficos são coloridos, fáceis de entender e ainda conferem um visual menos intimidador para os colaboradores iniciantes. Portanto, são elementos presentes na maioria dos modelos. Confira a seguir os principais tipos.

Em pizza

Além de deixar o visual do seu painel de controle mais agradável, o gráfico em pizza é recomendado sempre que houver a necessidade de representar as partes de um todo.

Apesar de muitos populares, eles devem ser utilizados com cautela, afinal não são ideais para todas as situações.

Em barra

São ótimos para quem precisa fazer comparativos entre períodos de tempo. De fácil entendimento, eles são ótimos em demonstrar tendências ou para fazer análises de corte. Interessante, né?

De calibre

Muito recorrido quando é preciso demonstrar valores díspares ou dois extremos, como, por exemplo, gráficos de meta mínima e máxima. Assim, é possível olhar as variações dos indicadores durante este intervalo.

Tabelas

Enquanto isso, as tabelas são normalmente utilizadas para a exposição de informações mais detalhadas e com diferentes unidades de medida (dados que seriam dificilmente representados em quadros ou gráficos).

Listas

Cada informação está relacionada a uma tarefa, por isso, ao adicionar listas ao seu dashboard você relaciona informação à ação. Ao organizar essas atribuições, é possível ajudar a equipe a identificar  as funções e assim facilitar sua execução.

Diagrama de Gantt

Existem certos trabalhos que devem ser feitos em longo prazo e exigem a realização de tarefas interdependentes, ou seja, uma precisa da outra para acontecer. Com o diagrama de Gantt é mais fácil visualizar e enxergar o que precisa ser feito e o prazo.

Kanban

O kanban é outro elemento para quem deseja aprimorar o dashboard, uma vez que, com ele é possível saber o que está ocorrendo em cada etapa do fluxo de trabalho. As tarefas recebem status como: 

  • Pendente (to do);
  • Em produção (doing);
  • Finalizado (done). 

Assim todos podem ter uma ideia do andamento das tarefas e do que está acontecendo no setor! Tá esperando o que para adotar essa metodologia no seu trabalho?

< Leia também: Visualização de Dados: 3 dicas para construir uma boa apresentação />

O que não fazer em um dashboard?

Sabemos que esta não é uma demanda simples. Mas, se você está produzindo seu primeiro dashboard e não quer errar, a Faculdade XP separou algumas dicas valiosas! Veja a seguir algumas recomendações:

  • Evite muitas cores;
  • Utilize como critério efeitos visuais;
  • Cuidado com o excesso de informações. 

< Continue aprendendo: Psicologia das Cores: o que é e qual o significado das cores />

Benefícios de um dashboard 

Dentre os benefícios e vantagens de se utilizar um dashboard, estão a visualização e contextualização global da realidade da empresa. Porém, existem muitos outros ganhos a se considerar, dentre os quais estão:

  • Apoio às tomadas de decisão;
  • Mais transparência de informações;
  • Otimização de tempo e recursos;
  • Alinhamento estratégico;
  • Maior integração entre departamentos.

Com tantos motivos para construir seu próprio painel de controle, agora é só encontrar a ferramenta que mais combina com o seu jeito de trabalhar!

As melhores ferramentas para montar dashboards

Assim como existem vários modelos de dashboard, também há uma boa variedade de ferramentas para construí-los. Justamente por isso, é importante ter uma noção dos pontos fortes de cada uma: 

Excel

Muito conhecido pela grande maioria dos profissionais, o Excel vai muito além das planilhas. Sendo uma ferramenta extremamente útil para organizar dados, pois oferece diversas funcionalidades. Com ele você pode criar modelos mais enxutos e simples. 

Power BI

O Power BI é um serviço da Microsoft com foco na criação de interfaces gráficas, que permitem a visualização intuitiva e eficiente de dados. Considerado um dos melhores programas para a finalidade, o aplicativo é de fácil manejo e aprendizado.

Monday

Conhecido inicialmente por ser uma ferramenta de gestão personalizada do fluxo de trabalho, o Monday também vem com sistemas de gestão e acompanhamento de projetos. Deste modo, o programa também pode ser utilizado para criação do dashboard.

Google Data Studio

Outro modelo de dashboard é o construído no Google Data Template. Ele permite o compartilhamento de dados e estatísticas e a criação de gráficos. Com o Google Data Studio é possível alimentar a base de dados de forma coletiva, convidando outros usuários para o projeto.

Cyfe

O software da Cyfe permite a criação de modelos de dashboard para os mais variados nichos de atuação. A principal vantagem desta plataforma é que ela pode ser integrada a outros sistemas como: Google Analytics, Google Adwords, Facebook e YouTube. 

Grafana

O Grafana é uma plataforma que possui uma versão gratuita e a partir dela já é possível gerar os primeiros dashboards.

Uma das principais vantagens dele é a possibilidade de integração e ainda sua capacidade de monitoramento automatizado dos dados. Interessante, né?

O que é dashboard empresarial?

Aplicando o conceito que vimos no contexto corporativo, temos o dashboard para empresas. Ele inclui instrumentos digitais que são sobrepostos para permitir a medição e acompanhamento de um projeto. 

Este projeto pode ser de uma área específica da empresa ou da organização em termos globais, tendo como origem qualquer item em que o projeto computacional esteja conectado.

A definição mais completa e aceita sobre o que significa dashboard empresarial é do autor Stephen Few, no seu livro Information Dashboard Designer, de 2006:  “uma apresentação visual das informações mais importantes necessárias para alcançar um ou mais objetivos; consolidadas e organizadas em uma única tela, onde, então, as informações podem ser monitoradas.”

Sendo assim, temos alguns marcos importante na definição de um dashboard para empresas, ainda de acordo com o autor:

  1. As informações devem estar contidas em uma única tela, pois se usar recursos como scroll ou links diversos estaremos migrando para Scorecards, relatórios diversos ou Visual Analysis Tools;
  2. As informações mais importantes devem ser ordenadas para organizar um objetivo (não são todas as informações, apenas as que realmente são mais importantes);
  3. Sua disposição deve chegar a uma conclusão. Por exemplo, considerando dados de vendas, indicadores de devolução e indicadores de produção, o cruzamento dessas três informações permite a visão completa da situação da linha de produção de uma empresa;
  4. Seu desenho deve permitir que, de forma simples, com atualizações automatizadas, sem esforços externos ou de TI, os dados e suas análises sejam realizadas por diversos públicos, mas principalmente executivos, ou seja, os tomadores de decisão.

Alicerces dos dashboards para empresas

Para compreender o que são dashboards no contexto corporativo, é importante conhecer também os três principais alicerces dos dashboards empresariais:

  1. Qualidade dos dados: ou seja, as informações devem vir de fontes de dados confiáveis, organizadas e homologadas para aquele fim. Se, por exemplo, estivermos falando de vendas, tem que vir o número correto, atualizado e sem necessidade de interpretações diversas. Os painéis de controle mais eficazes têm dados atualizados diariamente, no mínimo. Porém, é normal nos tempos atuais painéis atualizados em tempo real.
  2. Facilidade de acesso: hoje em dia, os painéis podem ser acessados facilmente pelos notebooks, televisores ou monitores de acompanhamento e por equipamentos móveis, como tablets e celulares.
  3. Design: a apresentação do dashboard deve ser feita de forma clara, com bons gráficos e padrões de cores corretos.

Como montar um dashboard da sua empresa?

Agora que você já entendeu o que é dashboard e como utilizar os seus diferentes modelos é o momento de colocar todo o seu conhecimento para jogo! Confira nos tópicos a seguir um passo a passo e aprenda como montar um dashboard próprio.

Tenha objetivos claros

Ao explicarmos sobre o que é dashboard, você percebeu que, quando criamos um, é essencial entender para quem e para o quê ele foi criado. Por isso, menos é sempre mais! Evite colocar informações em excesso, selecione quais são os dados mais relevantes e indispensáveis para os objetivos de quem vai utilizá-lo.

Defina suas métricas

Uma forma mais fácil de definir essas métricas é pensar nas atividades e processos diários executados por essas pessoas. Se um setor precisa fazer publicidade para um perfil de clientes com características x, ele precisa saber, por exemplo:

  • Quais são os produtos mais consumidos por este público?;
  • Qual é a média de preço considerada razoável pelos potenciais clientes;
  • E quais situações ele compra o item em questão. 

Portanto, poderíamos considerar esses três itens como possíveis métricas. Ficou mais claro agora?

Foque em dados relevantes

Pode parecer um pouco complicado no início da aprendizagem sobre o que é dashboard, mas, focar em dados relevantes não é tão difícil. Assim como demonstrado acima, o que é relevante pode ser entendido como algo fundamental para o alcance das metas.

Mas, lembre-se: o que é relevante varia de acordo com o público-alvo.

Siga uma lógica de organização

Os dados podem também ser expostos de modo a facilitar a escaneabilidade das informações ou por relevância de conteúdo.

É possível também dar mais destaque a uma informação em relação a outra com o uso de diferentes tipos de apresentações. O importante é dar preferência a layouts mais didáticos.

Atualize constantemente seus dados

Um dos diferenciais dos dashboards está em sua capacidade de facilitar a visualização de todas as áreas do negócio em tempo real. Por isso, se faz tão importante que estes painéis sejam conectados aos servidores da empresa e recebam novas informações periodicamente.

Faça benchmarking

Aprenda com os seus concorrentes: o benchmarking é uma oportunidade para trocar experiências com quem está ou já passou pelo mesmo que você. Além de ser uma ótima forma de fazer networking, o benchmarking também permite olhar para os dashboard por outras perspectivas.

Como construir dashboards cada vez melhores? 

A partir das dicas e conteúdos deste artigo sobre o que é dashboard, você já pode dar os primeiros passos para construir o seu. Contudo, se você deseja profissionalizar o seu trabalho é fundamental buscar por orientação especializada e materiais de alta qualidade. 

Aproveite que já está em nosso site e faça uma experiência conosco! Assine o XPE Multi+ e tenha acesso aos nossos Bootcamps de Data Science. Aprimore seus conhecimentos em: Análise de dados, Inteligência de negócios e gestão de dados na nuvem!

Com uma assinatura mensal, você tem acesso a todos os nossos cursos livres, se aprofunda 100% no assunto e ainda aproveita:

  • aulas interativas, ao vivo e online;
  • interação com professores internacionais;
  • formação prática para atuar no mercado de trabalho;
  • acesso às melhores oportunidades de carreira;
  • cursos de curta duração;
  • ensino inovador e disruptivo.

Clique aqui e saiba como fazer parte da XPE Multi+.