Outubro 2018

Serviços Cognitivos Microsoft: as potencialidades das principais APIs

Os Serviços Cognitivos da Microsoft são um set de APIs (Application Programming Interface) e de SDKs (Software Development Kit) que se encontram disponíveis em Azure e que permitem tornar as aplicações mais inteligentes e dinâmicas, bem como a realização de ações enriquecedoras para a experiência do utilizador.

No fundo, e segundo a Microsoft, “são algoritmos inteligentes que permitem às suas aplicações, máquinas e bots ver, ouvir, falar, compreender e interpretar as necessidades dos utilizadores através de métodos naturais de comunicação”. Estes algoritmos, que se desenvolvem e aumentam o seu potencial através das APIs de Machine Learning, servem-se de dados contextuais que, por sua vez, são aprendidos através da utilização que os próprios utilizadores fazem das aplicações móveis.

É possível falar, então, em democratização da inteligência artificial? Sim. Com os Serviços Cognitivos da Microsoft os developers conseguem implementar features de reconhecimento facial ou de voz apenas com algumas linhas de código, sem necessitarem de desenvolver algoritmos de raíz. Os serviços cognitivos permitem, assim, leituras e insights aprofundados para uma interpretação personalizada de perfil, através de serviços como:

  • Visão: inclui algoritmos de processamento de imagens, capazes de interpretar imagens de forma inteligente mas também de descrevê-las ou categorizá-las. Podem ser utilizados para reconhecimento facial como mecanismo de segurança, através da Face API, que verifica qual a probabilidade de ser a mesma pessoa, para além de identificar características como idade ou género.

Também é possível identificar emoções, através da Emotion API, com a deteção de expressões faciais de felicidade, tristeza, surpresa ou medo, por exemplo.

  • Voz: permite a conversão de áudio falado em texto, texto para voz a verificação ou reconhecimento do orador em determinada aplicação. Com o Translator Speech API é possível ao utilizador ter uma tradução em tempo real, escrita ou falada.
  • Conhecimento: oferece ao utilizador o mapeamento de informações e dados complexos, com o intuito de executar ações como recomendações inteligentes ou a pesquisa semântica (através da Recommendation API ou do Custom Decision Service);
  • Linguagem: processa a linguagem natural, com scripts pré-criados e avaliação de sentimentos, e aprende a identificar as necessidades dos utilizadores. O ex-libris dos serviços de linguagem é o Language Understanding Intelligente Service (LUIS), que ao utilizar o reconhecimento inteligente de voz permite que se possam desenvolver os próprios modelos de linguagem, e que os bots possam compreender comandos e executar ações consoante aquilo que se pretende.
  • Pesquisa: permite ações como a sugestão de palavras, a pesquisa por imagem ou vídeo e podem ser efetuadas por APIs como a Bing Web Search ou a Bing Custom Search.

Como podem os Serviços Cognitivos ser utilizados nas várias indústrias?

Retalho: cognitive services permitem extrair insights detalhados, que ajudarão a entender as necessidades dos seus clientes existentes e a atrair novos prospetos. Por exemplo, poderá perceber quais as dificuldades pelas quais os clientes passam numa experiência de compra online e melhorá-la ou apoiar os seus vendedores a apresentarem o produto certo ao cliente certo, simplificando também o método de pagamento.

Educação: identifique o interesse de cada estudante e modernize o estilo de ensino através de serviços cognitivos e machine learning ou faça gerar sugestões de como melhorar a experiência em sala de aula.

Seguros: melhore a experiência dos seus clientes através das suas aplicações móveis, recorrendo a serviços cognitivos, como o reconhecimento facial ou de voz. Poderá utilizá-los, ainda, para detetar possíveis atividades fraudulentas.

Finanças: apoio na personalização de campanhas específicas com base nas decisões ou pesquisas dos clientes, aumentando as vendas e o ROI.

Saúde: desenvolva um apoio mais personalizado aos seus clientes, através de um bot, por exemplo, que poderá ajudar na seleção de uma consulta de especialidade. Outra grande potencialidade é o apoio que os serviços cognitivos poderão fornecer aos médicos, a realizar um diagnóstico mais detalhado.

Assista a uma demonstração em tempo real de serviços cognitivos, no evento Xamarin Experience de 2017 aqui.

Ana LamelasServiços Cognitivos Microsoft: as potencialidades das principais APIs
read more

As 5 principais metodologias agile: vantagens e desvantagens

O que são metodologias agile?

A primeira vez que se ouviu falar em desenvolvimento ágil (ou no termo agile) foi em 2001, quando uma comunidade de developers, cansada da utilização de métodos de desenvolvimento considerados ‘pesados’ – nomeadamente, o modelo em cascata – decidiu lançar um manifesto: O Manifesto Agile. Este importante documento teve tanto impacto, que acabou por funcionar, até aos dias de hoje, como a bíblia do desenvolvimento agile, consagrando todos os princípios e boas práticas.

Metodologias agile  defendem que, acima de tudo, se deve procurar satisfazer o cliente através de entregas contínuas de software com valor, mantendo a  comunicação constante com o cliente, mas também mantendo o foco na comunicação entre membros de uma equipa.  Ao contrário das práticas anteriores, a metodologia Agile não se pauta pela definição integral de todo o produto, por uma análise completa ou pela definição de todas as categorias/requisitos, mas sim por uma interação dinâmica, que permite uma entrega constante.

Como defende o Manifesto Agile, e segundo alguns dos seus 12 princípios fundamentais:

  • A prioridade reside na satisfação do cliente, através de entregas contínuas e de valor acrescentado;
  • As alterações de requisitos devem ser aceites, mesmo que estas cheguem numa fase tardia do desenvolvimento. “Os processos ágeis potenciam a mudança em benefício da vantagem competitiva do cliente”, como é declarado no próprio Manifesto;
  • O cliente e a equipa de desenvolvimento devem trabalhar em conjunto e diariamente;
  • É necessário proporcionar um bom ambiente e apoio às equipas de desenvolvimento. Só assim é possível mantê-las motivados;
  • Os processos ágeis promovem um desenvolvimento sustentável, porque o ritmo é constante, e a excelência técnica aumenta a produtividade;
  • Os momentos de retrospectiva em equipa são fundamentais, para que se possam fazer os ajustes necessários e torná-la mais eficaz.

No fundo, o desenvolvimento agile segue um modelo incremental, que fomenta a colaboração entre a equipa, o planeamento contínuo, mas também a contínua evolução e aprendizagem. As metodologias agile devem respeitar o ciclo de desenvolvimento de software – planeamento, execução e entrega final – permitindo que o software seja desenvolvido por etapas, tornando mais fácil a identificação de eventuais bugs bem como a sua resolução.

A principal vantagem da utilização de metodologias agile não reside apenas no facto da entrega de software ser mais rápida, mas sim na constante entrega de valor ao cliente, uma vez que as entregas são incrementais.

 Existem inúmeras metodologias que seguem este mindset agile. Neste blog post selecionamos aquelas que são as 5 principais metodologias agile e quais as suas vantagens e desvantagens no universo do desenvolvimento de software.

Principais metodologias agile:

1. Scrum

Scrum é uma das muitas frameworks da metodologia agile, mas é, sem dúvida, a mais utilizada. Scrum carateriza-se pelos ciclos ou etapas de desenvolvimento, definidas como sprints, e pela maximização do tempo de desenvolvimento de um produto de software. É tipicamente utilizado na gestão de projetos de desenvolvimento de produtos de software, mas também pode ser utilizado em contexto de negócio..

Todos os dias existem pequenas reuniões de 15 minutos, as daily scrum, que funcionam como um sincronizador de atividades e como forma de planear o dia de trabalho.

Vantagens: Desvantagens:
  • Existe uma grande motivação nas equipas, devido ao facto de os programadores quererem cumprir o prazo de entrega de cada sprint;
  • A transparência existente permite que o projeto possa ser acompanhado por todos os membros de uma equipa ou mesmo de uma organização;
  • O foco na qualidade é uma constante no método Scrum, o que faz com que existam muito menos erros.
  • A dinâmica que caracteriza este método permite aos developers a reorganização de prioridades, garantindo que as sprints que ainda não foram terminadas possam receber mais atenção.
  • A segmentação do projeto e a procura pela agilidade de desenvolvimento pode, por vezes, levar a equipa a perder a noção do projeto como um todo, concentrando-se apenas na sua parte;
  • A função de cada developer pode não estar bem definida, o que pode fazer com que alguns membros da equipa fiquem confusos.

2. Kanban

A palavra Kanban é de origem japonesa e o significado encontra-se ligado a um conceito temporal, “just-in-time”. Na prática, no método Kanban existe um quadro ou tabela (o Kanban Board), dividido em colunas, que indica todos os fluxos de produção do desenvolvimento de software. À medida que o desenvolvimento vai evoluindo, a informação presente nas tabelas vai mudando, e, quando surge uma nova tarefa, cria-se um novo “card”.

O método Kanban exige comunicação e transparência, para que os membros de uma equipa saibam precisamente em que ponto se encontra o desenvolvimento e para que possam ver em que estado se encontra o projeto em qualquer altura.

Vantagens: Desvantagens:
  • Capacidade de visualização sobre todas as tarefas de um projeto (Concluído, Em Processo ou em Testes, por exemplo);
  • Possibilidade de limitar o número de tarefas em andamento (ou seja, é possível controlar a quantidade de trabalho, tendo em conta a capacidade de resolução ou entrega);
  • Concentração na duração de um ciclo – quanto tempo demora uma tarefa para ir do backlog até à fase final;
  • Permite entregas contínuas.
  • Existe a possibilidade de os membros de uma equipa poderem interpretar mal a informação refletida no Kanban Board, especialmente quando este se revela ultrapassado;
  • Como não existem timeframes no Kanban, existe a hipótese de se enfrentar problemas de falta de tempo ou de atrasos, associados a cada uma das fases.

3. Extreme Programming (XP)

É uma típica framework de Agile Development, desenvolvida por Kent Beck, adaptável a empresas de desenvolvimento de várias dimensões. É uma metodologia que enfatiza valores como a Comunicação, a Simplicidade, o Feedback, a Coragem e o Respeito, priorizando a satisfação do cliente acima de tudo. Esta é uma metodologia que oferece confiança aos developers, motivando-os, e incentivando-os a aceitar mudanças nos requisitos do cliente, mesmo que estas já cheguem numa fase tardia do ciclo de desenvolvimento.

O trabalho de equipa é extremamente importante no XP, já que, quando existe um problema, o mesmo é resolvido em conjunto, seja por managers, developers ou clientes. Todos são peças importantes do mesmo esquema, criando o ambiente propício para tornar a equipa altamente produtiva e eficaz. Em Extreme Programming, o software é testado desde o primeiro dia, recolhendo feedback para melhorar o desenvolvimento.

Vantagens: Desvantagens:
  • A simplicidade do código escrito funciona como uma vantagem, já que permite a sua melhoria a qualquer momento;
  • Todo o processo e todo o ciclo de desenvolvimento XP é visível, criando metas para os developers e mostrando resultados de forma relativamente rápida;
  • O desenvolvimento de software acaba por ser ainda mais ágil do que em outras metodologias, precisamente devido aos testes constantes;
  • A XP contribui, também, para a motivação do talento nas equipas e para a sua retenção.
  • O foco extremo no código pode levar a que se atribua menos importância ao design, obrigando a uma atenção extra neste ponto;
  • Esta framework pode não funcionar da melhor forma se todos os membros de uma equipa não se encontrarem no mesmo espaço geográfico;
  • Nos projetos XP, o registo de possíveis erros nem sempre é realizado, e essa falta de documentação pode levar à ocorrência de bugs semelhantes no futuro.

4. Lean Development

Lean Development é uma metodologia que deriva diretamente da Lean Manufacturing, criada pela Toyota, e aplicada ao desenvolvimento de software. Este método oferece uma framework conceptual e segue valores, princípios e boas práticas de desenvolvimento, que podem ser aplicados a uma abordagem de desenvolvimento agile.

Lean Development é uma metodologia que conta com 7 princípios fundamentais: Eliminar o que não interessa (tudo o que não trouxer valor efetivo para o projeto do cliente, é para eliminar);  Desenvolver com qualidade (criar qualidade no desenvolvimento exige disciplina e controlo na quantidade de resíduos criados); Criar conhecimento (a equipa é incentivada a documentar toda a infraestrutura, para mais tarde, reter esse valor); Diferir compromissos (este ponto encoraja a equipa a não planear demasiado e a não antecipar ideias sem antes ter um entendimento completo dos requisitos do negócio); Entregar depressa (entregar valor ao cliente, o quanto antes); Respeitar a equipa (comunicar e gerir os conflitos são duas questões essenciais); e, por fim, Otimizar o todo (a sequência de desenvolvimento tem de ser aperfeiçoada o suficiente para conseguir eliminar defeitos no código, de forma a criar um fluxo de verdadeiro valor).

Vantagens: Desvantagens:
  • ·Permite à equipa a eliminação de atividade supérfula, poupando tempo e dinheiro;
  • Diminui o tempo necessário para entregar funcionalidades, já que capacita a equipa de desenvolvimento no processo de tomada de decisão, aumentando a motivação geral;
  • Metodologia facilmente escalável e de fácil adaptação a projetos de qualquer dimensão.
  • Metodologia muito dependente da capacidade de desenvolvimento da equipa e do cumprimento dos princípios Lean, o que significa que será necessário ter developers extremamente dedicados e talentosos;
  • Pode existir maior propensão para peder o foco, já que existem várias tarefas divididas por vários elementos;
  • Requer alguma documentação, nomeadamente sobre as características de negócio para o qual se trabalha. Caso contrário, corre-se o risco de o desenvolvimento ser feito de forma incorreta ou apresentar falhas.

5. Crystal

É uma família de metodologias agile, que inclui variantes como Crystal Clear (para uma equipa até 8 pessoas), Crystal Yellow (para uma equipa entre 10-20 pessoas), Crystal Orange (para equipas entre 20-50 pessoas) ou Crystall Red (para equipas de grande escala, entre 50-100 pessoas). Crystal foca-se em princípios como as Pessoas, as Interações, a Comunidade, os Skills, o Talento e a Comunicação, fazendo com que o desenvolvimento de software corra da melhor forma. O core deste processo de desenvolvimento passa pela interação e simbiose que tem de acontecer entre as pessoas alocadas aos projetos e os processos, de forma a tornar o desenvolvimento eficaz.

Segundo o seu fundador, Alistair Cockburn, “Crystal é uma família de metodologias de desenvolvimento de software que funciona com o poder investido pelas pessoas, é extremamente leve e ‘stretch-to-fit’”. No fundo, Cockburn acreditava que o talento e a forma como os membros da equipa interagiam traria benefícios para todo o projeto.

Vantagens: Desvantagens:
  • Garante entregas frequentes, de forma a poder identificar eventuais problemas em todas as fases;
  • Existe sempre espaço para a melhoria de características, tirando algum tempo ao desenvolvimento de software e permitindo a discussão sobre como aprimorar processos;
  • Permite uma comunicação próxima e promove a interação e partilha de conhecimentos entre os membros das equipas;
  • Exige um ambiente técnico, com automated tests, configuration management e integração frequente.
  • O facto de ter variantes na família de metodologias, faz com que os princípios possam variar também com o tamanho da equipa e a dimensão do projeto, tornando-os pouco claros;
  • Pode não resultar para equipas distribuídas por vários locais, devido à constante necessidade de comunicação e reflexão;
  • O planeamento e o desenvolvimento não dependem dos requisitos.

Na Xpand IT, o desenvolvimento de software é feito à medida, sempre com foco nos resultados e na satisfação do cliente, fase por fase. Todo o desenvolvimento é regido por princípios agile. Por isso, para respeitar o ciclo de desenvolvimento, atingir os resultados desejados, antecipar possíveis erros, maximizar a produtividade e desenvolver de forma segura mantendo os membros das equipas motivados, criámos a nossa metodologia: o XPAgile (uma combinação entre duas frameworks agile, Scrum e Extreme Programming, que garante os melhores resultados, sempre dentro dos prazos estipulados).

Se pretende saber mais sobre a metodologia de desenvolvimento da Xpand IT, clique aqui.

Ana LamelasAs 5 principais metodologias agile: vantagens e desvantagens
read more

Gestão do ciclo de vida completo de API com WSO2

O crescimento e constante evolução do uso de sistemas computacionais em todas as áreas do desenvolvimento humano associados à necessidade de as empresas se integrarem umas às outras, para além de oferecerem serviços aos seus clientes através da Internet, resulta na multiplicação de sistemas abertos, que fornecem serviços através de interfaces de comunicação. Muitas empresas existem apenas graças a este tipo de interface de integração – as chamadas APIs (Application Program Interface).

Ao longo dos anos, têm sido criados vários protocolos de comunicação de redes para fornecer uma troca de dados normalizada: RPC, CORBA, DCOM, RMI, WebSocket, SOAP (Serviços Web) e REST. Estes três últimos protocolos são os protocolos que costumam ser mais utilizados, já que são baseados num protocolo de transporte HTTP aberto, que normaliza e populariza a troca de dados e serviços através de APIs públicas ou privadas. O número de APIs que as empresas disponibilizam, tanto interna como externamente, pode crescer exponencialmente em quantidade.

É por causa destes movimentos que a necessidade de documentar e monitorizar a criação e utilização deste APIs está a aumentar.

Principais características da Gestão de API

Algumas das principais características de uma solução de gestão de API são:

  • Performance e Fiabilidade – deve suportar alto throughput sem causar sobrecarga no sistema;
  • Ciclo de vida e Regência – deve fornecer workflows para o desenvolvimento e subscrição de API, versões de API e capacidades de gestão/monitorização;
  • Throttling e Monetização – capaz de controlar o tráfego de API e cobrar pela utilização de API;
  • Envolvimento – fácil acolher novos subscritores, fornecendo um bom e bem documentado ambiente de teste;
  • Composição e Instrumentalização – capaz de implementar funcionalidades específicas numa API (por exemplo, ligar 2 APIs diferentes e receber um resultado conjunto).

O ciclo de vida de API WSO2

O gestor de API WSO2 supera estes desafios com um conjunto de características de criação, publicação, gestão do ciclo de vida, divulgação, monetização, regência, segurança, etc.

Desde desenhar a construir e utilizar uma API, existe um processo que envolve engenharia, publicação e administração. Este processo é denominado Ciclo de vida de API. O clico de vida de uma API é algo crucial e estratégico para uma organização. Geralmente, a definição do ciclo de vida é definida em: Planear e Desenhar o API, Desenvolver o API, Testar o API, Fazer deploy do API, Reformar o API. O Gestor de API WSO2 tem fluxos mais detalhados de cada ciclo, em que pode criar sub-fluxos dentro de cada ciclo, como, por exemplo: em Reformar o API, antes de se proceder à remoção, existe o fluxo de bloqueamento. Quando uma API é bloqueada, é possível fazer deprecate da API ou voltar ao estado de publicação. Desta maneira, cada empresa pode definir o seu ciclo de vida e trabalhar internamente de acordo com as suas necessidades.  Uma das principais propriedades diferenciadoras do Gestor API WSO2 é o facto de ter liberdade total para modificar todos os fluxos internos e customizá-los de acordo com as suas necessidades.

O Gestor de API WSO2 define, por predefinição, este ciclo entre os seguintes componentes:

Imagem 1 – Arquitetura e ciclo de vida da API
  • API Publisher: responsável pela criação, monitorização, gestão e publicação de APIs. É a web interface para Criadores e Publishers de API.
  • API Portal (Portal do developer):web interface destinada a consumidores de APIs, developers, etc. Nesta interface, é possível explorar as APIs existentes, testar, subscrever e monitorizar todos as APIs subscritos pelo utilizador.
  • API Gateway:O Gateway é o componente principal do Gestor de API. Recebe todas as chamadas de API e redireciona-as para backend, mas antes de as redirecionar, é necessário passar este pedido pelo Key Manager e pelo Gestor de Tráfego para validar todas as políticas de seguranças antes de proceder.
  • Key Manager: responsável por todas as autenticações e segurança de API, trata de toda a gestão do ciclo de vida de Token Oauth.
  • Gestor de Tráfego: responsável por todas as partes da política de Throttling, logo, verifica se as chamadas pertencem a algum utilizador com limitações de pedidos nessa API e se o utilizador não esgotou o limite de pedidos.
  • Analytics:Analytics é um motor de análise a tempo real, que, para além de expor gráficos detalhados das APIs, também trata da monitorização em tempo real, gerando vários tipos de alertas como incidentes de segurança, chamadas anormais para uma determinada API, etc.

O Gestor de API WSO2 é uma solução API muito robusta e completa, tendo como propriedade diferenciadora toda a sua interface de implementação gráfica, que o diferencia de muitos adversários que têm um maior foco no Gateway, para construir um gateway robusto e não dão muita importância aos outros componentes necessários para o ciclo de vida da API, como a Loja e o Publisher. WSO2 colocou-se na frente com este produto, porque é capaz de responder a todos os aspetos de uma solução completa, quer seja com um gateway muito robusto ou com uma interface intuitiva que facilita o deploy e todo o ciclo de vida. É por causa disto que, no quadrante Gartner, o Gestor de API WSO2 é considerado um “Visionário”.

Só para ficar com uma ideia da robustez do produto, com uma configuração mínima recomendada, cada nó consegue suportar até 3000 TPS (Transações Por Segundo).

Se quiser saber mais sobre o Gestor de API WSO2 e as suas características, aceda ao website de  Gestor de API WSO2 e explore todas as possibilidades de implementação.

Vitor Darela

Senior Consultant, Xpand IT

Vitor DarelaGestão do ciclo de vida completo de API com WSO2
read more

Gamificação: Mito versus Realidade

Primeiro que tudo, sejamos claros: independentemente daquilo que pode pensar sobre Gamificação, este não será, com certeza, o ingrediente mágico que irá resolver todos os seus problemas. Se experiencia um problema nas suas equipas, processos ou organização, deverá focar-se em resolver essa questão, uma vez que aplicar a Gamificação a um ambiente corrompido não irá resolver nada (até poderá torná-lo pior).

Mas, então, o que significa Gamificação? E qual a melhor forma de aplicá-la?

Este post não pretende aprofundar a definição e os conceitos de Gamificação, e sim fornecer um melhor entendimento sobre a mesma, identificando mitos comuns que existem em relação a este conceito.

Os Mitos

1º mito: A Gamificação está a tornar tudo num jogo

Há uma ideia generalizada de que algo é gamificado quando se está a jogar. Porém, isso não está correto. A maior parte das vezes não se joga em ambientes gamificados.

Criar um jogo é uma linha completamente separada de estudo, nomeada Game Design. O Game Design centra-se em desenhar um jogo criando um enredo, as personagens, a mecânica, a evolução, a interação no game play, etc., colocando tudo isso num ambiente limitado ( o jogo), em que o utilizador (jogador) participa ativamente, desenvolve e conquista! No fundo, é criar um novo desafio e as ferramentas para o jogador superar.

A Gamificação, embora partilhe benefícios semelhantes, foca-se em desafios reais com o que aprendemos nos jogos. É o processo de aplicar elementos de jogo e técnicas de design de jogo a contextos que não o dos jogos, com o objetivo de envolver e motivar pessoas, ao tornar as suas tarefas do “mundo real” mais divertidas.

A nível corporativo, a Gamificação pode ser utilizada on-board e envolver membros da equipa, destacar produtividade e eficiência e aprender ou treinar pessoas e a inovar.

2º mito: Aplicar Gamificação vai tornar as coisas tão envolventes quanto eram

Embora Diversão seja uma das expressões mais simples e claras para descrever o objetivo da Gamificação, é, ao mesmo tempo, um conceito vago e relativo. Quando não aplicado corretamente, os elementos do jogo e as suas técnicas podem criar o efeito oposto àquele que era suposto. É, por essa razão, que muitas pessoas vêm resultados mais negativos quando implementam iniciativas de Gamificação do que quando ignoram esta opção.

É necessário relembrar que a interação tem de ser voluntária e uma escolha. Forçar esta interação cancela os efeitos de uma estratégia de Gamificação.

3º mito: Se percebo de Game Design, percebo de Gamificação

Se este é o teu motto, então isso não estará correto. Embora partilhe de alguns elementos e técnicas, a Gamificação é muito mais relacionada com Psicologia do que com Produto. O Game Design está mais focado em criar o jogo e os seus elementos de uma forma apelativa e envolvente para o jogador, enquanto a Gamificação está especialmente preocupada em afetar o comportamento humano para atingir determinado objetivo. A ideia é fornecer um benefício a longo prazo, e não somente entretenimento per se.

4º mito: Gamificação = PBL ( points, badges e leaderboards)

Quem não é novo no mundo da Gamificação, saberá que o PBL tende a ser aplicado diretamente, porque é o aspeto mais comum e visível de um ambiente Gamificado. Embora o PBL esteja presente em muitos casos, o alcance da Gamificação vai muito para além deste aspeto.

É necessário começar por cima, ponderando como é que os utilizadores vão ser afetados com a experiência; coisas como emoções, narrativa, progressão,etc., que apoiarão os comportamentos que se pretendem influenciar. Em seguida, é necessário pensar a mecânica, nos processos que motivam o utilizador – desafios, competição/ cooperação, feedback, recompensas, vitórias e muitos outros – de forma a criar uma experiência com significado. E para atingir esse estado, pode-se usar PBL e outros elementos (conquistas, avatars, coleções, níveis, bens virtuais, etc.)  como ferramentas à disposição para implementar a estratégia.

5º mito: A gamificação não funciona

Por vezes, as pessoas não acreditam na Gamificação devido a experiências anteriores que não correram tão bem. É certo que nem sempre se enquadra em todos os cenários, e, para aqueles em que se encaixa, deverá ser aplicada de forma correta para atingir os objetivos desejados. É importante avaliar todas as possibilidades e pesar os prós e contras em qualquer iniciativa de implementação.

Não se deve recear rejeitar a Gamificação em casos em que claramente se percebe que esta não trará benefícios para o negócio ou possa acarretar riscos consideráveis. Como foi referido no início, esta não é uma solução “fits-all” nem uma garantia de resultados. O contexto tem de ser favorável e a implementação é uma viagem de adaptação e mudança, pelo que consome tempo e cuidado para ser bem-sucedida.

A Psicologia que suporta a Gamificação

Há muito que pode ser discutido sobre a psicologia e o lado comportamental da Gamificação.

Entender o comportamento humano (Behaviorismo) é um dos primeiros passos, analisando como as pessoas agem em resposta a um estímulo:

  • As pessoas tendem a corrigir e ajustar o comportamento em concordância com o feedback recebido;
  • Criar consequências ou dar recompensas de acordo com as ações, de forma a atingir o comportamento desejado;
  • Estimular a dopamina com algo inesperado, de forma a causar a sensação de bem-estar e maior interação.

Uma vez que a abordagem Behaviorista é limitada, a Gamificação está a aprofundar melhor o entendimento sobre como é que as pessoas sentem e pensam (Cognitivismo), ao tentar determinar a motivação por trás da ação. A motivação pode ser:

  • Extrínseca, quando a ação é feita com o propósito da recompensa (fama, dinheiro, etc.), o que pode desmotivar e não é sustentável;
  • Intrínseca, quando a ação é efetuada por nenhum outro motivo que não o de ser agradável recompensatória, criando, por isso, muito maior interação.

Perigos da Gamificação

Existem vários perigos associados ao mau uso da Gamificação. Um dos perigos principais consiste em abusar ou manipular pessoas de forma a atingir determinado comportamento. A Gamificação é associada a uma escolha livre, pelo que qualquer forma de reforço de comportamento irá afastar as pessoas, ao invés de as incluir.

Um outro perigo é a constante recompensação. Significa que estamos constantemente a recompensar alguém por um objetivo cumprido, como, por exemplo, a submissão de uma sugestão num formulário. Isto desvaloriza a recompensa e poderá retirar valor ao que realmente importa (a sugestão) com o propósito de obter mais recompensas (como mais cliques).

Outro exemplo de um perigo que a Gamificação pode representar é quando há exposição de pessoas ou quando se colocam a “jogar” umas contra as outras. Um bom exemplo disto pode ser a implementação de leaderboards numa organização, mostrando pontos e/ou fazendo um rating de “quem é melhor” e “ quem são os piores jogadores”. Isto pode potenciar um mau ambiente entre colegas de trabalho e criar entropia e desmotivação entre equipas.

Bons exemplos de Gamificação

Alguns exemplos da aplicação da Gamificação bem-sucedidos em atingir os objetivos e o padrão de comportamento desejado:

Gamificação Descrição Objetivos atingidos Porque é que funcionou?

Mecanismo de contribuição do

StackOverflow

Tornar o Stack Overflow “a” referência no que diz respeito a procurar ajuda e a encontrar respostas numa tecnologia específica (sobretudo em programação) Quantas vezes se deparam com o website do StackOverflow quando procuram pela resolução de um issue de uma tecnologia específica? Promove um sentido de comunidade, ao recompensar contribuições e ao dar voz à comunidade de utilizadores (feedback e sistema de revisão).
Duolingo Website e app que facilita o processo de aprender novas línguas.

Tornou o processo de aprender línguas mais fácil e tem agora mais de 68 línguas disponíveis e cerca de 200 milhões de utilizadores.

Recebeu vários prémios educacionais e de aprendizagem tecnológica.

É fácil e simples; fornece feedback constante; dá liberdade  para aprender ao próprio ritmo;  dá opções para as áreas em que se podem focar a seguir; recompensa mais quando se coloca mais esforço ou dedicação; oferece “linglots” ( a moeda Duolingo)  como recompensa para desbloquear outros desafios e aprender mais.
Reforço do limite de velocidade em Estocolmo com a Volkswagen Induzir uma condução responsável, que respeite os limites de velocidade, ao implementar uma lotaria entre condutores, com o dinheiro adquirido através das multas por excesso de velocidade. Uma média de 22% de redução de velocidade.

Provavelmente porque as pessoas não necessitam de exceder as velocidades em primeiro lugar.

Criar a recompensa por estar dentro dos limites de velocidade criou awareness e uma nova motivação para os condutores.

Nuno Santos

Enterprise Solutions Manager, Xpand IT

Nuno SantosGamificação: Mito versus Realidade
read more