segunda-feira, 22 de junho de 2015

O que é Cloud Computing

A expressão cloud computing começou a ganhar força em 2008, mas, conceitualmente, as ideias por trás da denominação existem há muito mais tempo. Também conhecida no Brasil como computação nas nuvens ou computação em nuvem, a cloud computing se refere, essencialmente, à noção de utilizarmos, em qualquer lugar e independente de plataforma, as mais variadas aplicações por meio da internet com a mesma facilidade de tê-las instaladas em computadores locais.
Mas o que exatamente isso quer dizer? Por que o conceito é tão importante nos dias de hoje? Quais os seus benefícios? Há riscos associados? Com linguagem simples e abordagem introdutória, este texto responde essas e outras perguntas relacionadas.
Entendendo a cloud computing (computação nas nuvens)
Estamos habituados a armazenar arquivos e dados dos mais variados tipos e a utilizar aplicações de maneira on premise, isto é, instaladas em nossos próprios computadores ou dispositivos. Em ambientes corporativos, esse cenário muda um pouco: é relativamente comum empresas utilizarem aplicações disponíveis em servidores que podem ser acessadas por qualquer terminal autorizado.
A principal vantagem do on premise está no fato de ser possível, pelo menos na maioria das vezes, utilizar as aplicações mesmo sem acesso à internet ou à rede local. Em outras palavras, é possível usar esses recursos de maneira off-line.
Por outro lado, no modelo on premise, todos os dados gerados ficam restritos a um único equipamento, exceto quando há compartilhamento em rede, coisa que não é muito comum no ambiente doméstico. Mesmo no ambiente corporativo, essa prática pode gerar algumas limitações, como a necessidade de se ter uma licença de determinado software para cada computador, por exemplo.
A evolução constante da tecnologia computacional e das telecomunicações está fazendo com que o acesso à internet se torne cada vez mais amplo e rápido. Esse cenário cria a condição perfeita para a popularização da cloud computing, pois faz com que o conceito se dissemine no mundo todo.
Com a cloud computing, muitos aplicativos, assim como arquivos e outros dados relacionados, não precisam mais estar instalados ou armazenados no computador do usuário ou em um servidor próximo. Esse conteúdo passa a ficar disponível nas nuvens, isto é, na internet.
Ao fornecedor da aplicação cabe todas as tarefas de desenvolvimento, armazenamento, manutenção, atualização, backup, escalonamento, etc. O usuário não precisa se preocupar com nenhum desses aspectos, apenas em acessar e utilizar.
Um exemplo prático dessa nova realidade é o Office Online, da Microsoft, serviço que dá acesso a recursos básicos de edição de textos, apresentações de slides, entre outras funcionalidades, de maneira completamente on-line. Tudo o que o usuário precisa fazer é criar uma conta e utilizar um navegador de internet compatível, o que é o caso da maioria dos browsers da atualidade.
cloud-computer
Algumas características da cloud computing
Tal como já informado, uma das vantagens da cloud computing é o acesso a aplicações a partir da internet, sem que estas estejam instaladas em computadores ou dispositivos específicos. Mas, há outros benefícios significativos:
– Na maioria dos casos, o usuário pode acessar as aplicações independente do seu sistema operacional ou do equipamento usado;
– O usuário não precisa se preocupar com a estrutura para executar a aplicação – hardware, procedimentos de backup, controle de segurança, manutenção, entre outros;
– Compartilhamento de informações e trabalho colaborativo se tornam mais fáceis, pois todos os usuários acessam as aplicações e os dados do mesmo lugar: a nuvem;
– Dependendo do fornecedor, o usuário pode contar com alta disponibilidade: se um servidor parar de funcionar, por exemplo, os demais que fazem parte da estrutura continuam a oferecer o serviço;
– O usuário pode contar com melhor controle de gastos. Muitas aplicações em cloud computing são gratuitas e, quando é necessário pagar, o usuário só o faz em relação aos recursos que usar ou ao tempo de utilização. Não é necessário, portanto, pagar por uma licença integral de uso, tal como é feito no modelo tradicional de fornecimento de software;
– Dependendo da aplicação, o usuário pode precisar instalar um programa cliente em seu computador ou dispositivo móvel. Mas, nesses casos, todo ou a maior parte do processamento (e até mesmo do armazenamento de dados) fica por conta das “nuvens”.
Note que, independente da aplicação, com a cloud computing o usuário não necessita conhecer toda a estrutura que há por trás, ou seja, ele não precisa saber quantos servidores executam determinada ferramenta, quais as configurações de hardware utilizadas, como o escalonamento é feito, onde está a localização física do data center, enfim. O que importa é saber que a aplicação está disponível nas nuvens.
Software as a Service (SaaS)
Intimamente ligado à cloud computing está o conceito de Software as a Service (SaaS) ou, em bom português, Software como Serviço. Em sua essência, trata-se de uma forma de trabalho em que o software é oferecido como serviço, assim, o usuário não precisa adquirir licenças de uso para instalação ou mesmo comprar computadores ou servidores para executá-lo. Nessa modalidade, no máximo, paga-se um valor periódico – como se fosse uma assinatura – somente pelos recursos utilizados e/ou pelo tempo de uso.
Para entender melhor os benefícios do SaaS, suponha que uma empresa que tem 20 funcionários necessita de um software para gerar folha de pagamento. Há várias soluções prontas para isso no mercado, no entanto, a empresa terá que comprar licenças de uso do software escolhido e, dependendo do caso, até mesmo hardware para executá-lo. Muitas vezes, o preço da licença ou mesmo dos equipamentos pode resultar em custo alto e não compatível com a condição de porte pequeno da empresa.
Cloud computing – computação nas nuvens Se, por outro lado, a companhia encontrar um fornecedor de software para folha de pagamento que trabalha com o modelo SaaS, a situação pode ficar mais fácil: essa empresa poderá, por exemplo, oferecer esse serviço por meio de cloud computing e cobrar apenas pelo número de funcionários e/ou pelo tempo de uso. Com isso, o contratante paga um valor baixo pelo uso da aplicação. Além disso, hardware, instalação, atualização, manutenção, entre outros, são tarefas que ficam por conta do fornecedor.
Também é importante levar em conta que o intervalo entre a contratação do serviço e o início de sua utilização é extremamente baixo, o que não aconteceria se o software tivesse que ser instalado nos computadores do cliente – este só precisa se preocupar com o acesso ao serviço (no caso, uma conexão à internet) ou, se necessário, com a simples instalação de algum recurso mínimo, como um plugin no navegador de internet de suas máquinas.
Oracle e HP são dois exemplos de companhias que oferecerem soluções em SaaS: HP SaaS; Oracle SaaS.
PaaS, DaaS, IaaS e TaaS
No mercado também há conceitos derivados do SaaS que são utilizados por algumas companhias para diferenciar os seus serviços. São eles:
– Platform as a Service (PaaS): Plataforma como Serviço. Trata-se de um tipo de solução mais amplo para determinadas aplicações, incluindo todos (ou quase todos) os recursos necessários à operação, como armazenamento, banco de dados, escalabilidade (aumento automático da capacidade de armazenamento ou processamento), suporte a linguagens de programação, segurança e assim por diante;
– Database as a Service (DaaS): Banco de Dados como Serviço. O nome já deixa claro que essa modalidade é direcionada ao fornecimento de serviços para armazenamento e acesso de volumes de dados. A vantagem aqui é que o detentor da aplicação conta com maior flexibilidade para expandir o banco de dados, compartilhar as informações com outros sistemas, facilitar o acesso remoto por usuários autorizados, entre outros;
– Infrastructure as a Service (IaaS): Infraestrutura como Serviço. Parecido com o conceito de PaaS, mas aqui o foco é a estrutura de hardware ou de máquinas virtuais, com o usuário tendo inclusive acesso a recursos do sistema operacional;
– Testing as a Service (TaaS): Ensaio como Serviço. Oferece um ambiente apropriado para que o usuário possa testar aplicações e sistemas de maneira remota, simulando o comportamento destes em nível de execução.
Exemplos de aplicações em cloud computing
Os termos cloud computing e computação nas nuvens são relativamente recentes, como você já sabe, mas se analisarmos bem, veremos que a ideia não é, necessariamente, nova. Serviços de e-mail, como Gmail e Yahoo! Mail; “discos virtuais” na internet, como Dropbox ou OneDrive; sites de armazenamento e compartilhamento de fotos ou vídeos, como Flickr e YouTube. Todos são exemplos de recursos que, de certa forma, estão dentro do conceito de computação nas nuvens.
Note que todos os serviços mencionados não são executados no computador do usuário, mas este pode acessá-los de qualquer lugar, muitas vezes sem pagar licenças de software. No máximo, paga-se um valor periódico pelo uso do serviço ou pela contratação de recursos adicionais, como maior capacidade de armazenamento de dados, por exemplo.
Abaixo há uma breve lista de serviços que incorporam claramente o conceito de cloud computing:
– Google Apps: este é um pacote de serviços que o Google oferece que conta com aplicativos de edição de texto, planilhas e apresentações, ferramenta de agenda, comunicador instantâneo integrado, e-mail com o domínio próprio (por exemplo, contato@infowester.com), entre outros. Todos os recursos são processados pelo Google. O cliente precisa apenas criar as contas dos usuários e efetuar algumas configurações. O Google Apps oferece pacotes pagos cujos valores variam de acordo com o número de usuários;
– Amazon: a Amazon é um dos maiores serviços de comércio eletrônico do mundo. Para suportar o volume de vendas no período de Natal, a empresa montou uma gigantesca estrutura de processamento e armazenamento de dados que acabava ficando ociosa na maior parte do ano. Foi a partir daí que a companhia teve a ideia de “alugar” esses recursos, iniciativa que resultou em serviços como Simple Storage Solution (S3) para armazenamento de dados e Elastic Compute Cloud (EC2) para uso de máquinas virtuais;
– Netflix: serviço que dá acesso a filmes, seriados e documentários a partir de um pequeno valor por mês. Não é necessário efetuar download das produções, tudo é feito por streaming. Além disso, o usuário pode assistir cada item do acervo quantas vezes quiser e, caso interrompa a reprodução do vídeo, pode continuar mais tarde de onde parou;
– Aprex: brasileiro, o Aprex oferece um conjunto de ferramentas para uso profissional, como calendário, gerenciador de contatos, lista de tarefas, armazenamento de arquivos, blog, serviço de e-mail marketing, apresentações, entre outros. Tudo é feito pela Web e, no caso de empresas, é possível até mesmo inserir logotipo e alterar o padrão de cores das páginas;
– Evernote: serviço para criação e armazenamento de notas e informações variadas que funciona como um abrangente banco de dados. Inclui ferramentas para compartilhamento, edição, organização e localização de dados. Há opções de contas gratuitas e pagas.
Nuvem privada (private cloud)
Até agora, tratamos a computação nas nuvens como um sistema composto de duas partes: o provedor da solução e o utilizador, que pode ser uma pessoa, uma empresa ou qualquer outra organização. Podemos entender esse contexto como um esquema de nuvem pública. No entanto, especialmente no que diz respeito ao segmento corporativo, é possível também o uso do que se conhece como nuvem privada.
Do ponto de vista do usuário, a nuvem privada (private cloud) oferece praticamente os mesmos benefícios da nuvem pública. A diferença está, essencialmente, nos “bastidores”: os equipamentos e sistemas utilizados para constituir a nuvem ficam dentro da infraestrutura da própria corporação.
Em outras palavras, a empresa faz uso de uma nuvem particular, construída e mantida dentro de seus domínios. Mas o conceito vai mais além: a nuvem privada também considera a cultura corporativa, de forma que políticas, objetivos e outros aspectos inerentes às atividades da companhia sejam respeitados.
A necessidade de segurança e privacidade é um dos motivos que levam uma organização a adotar uma nuvem privada. Em serviços de terceiros, cláusulas contratuais e sistemas de proteção são os recursos oferecidos para evitar acesso não autorizado ou compartilhamento indevido de dados. Mesmo assim, uma empresa pode ter dados críticos por demais para permitir que outra companhia responda pela proteção e disponibilização de suas informações. Ou, então, a proteção oferecida pode simplesmente não ser suficiente. Em situações como essas é que o uso de uma nuvem privada se mostra adequado.
Uma nuvem privada também pode oferecer a vantagem de ser “moldada” com precisão às necessidades da companhia, especialmente em relação a empresas de grande porte. Isso porque o acesso à nuvem pode ser melhor controlado, assim como a disponibilização de recursos pode ser direcionada de maneira mais eficiente, aspecto capaz de impactar positivamente a rotina corporativa.
Empresas como Microsoft, IBM e HP oferecem soluções para nuvens privadas. As organizações interessadas devem, todavia, contar com profissionais ou mesmo consultoria especializada na criação e manutenção da nuvem, afinal, uma implementação mal executada pode interferir negativamente no negócio.
Os custos de equipamentos, sistemas e profissionais da nuvem privada poderão ser elevados no início. Por outro lado, os benefícios obtidos a médio e longo prazo, como ampla disponibilidade, agilidade de processos e os já mencionados aspectos de segurança compensarão os gastos, especialmente se a implementação for otimizada com virtualização, padronização de serviços e afins.
Nuvem híbrida (hybrid cloud)
Para a flexibilização de operações e até mesmo para maior controle sobre os custos, as organizações podem optar também pela adoção de nuvens híbridas. Nelas, determinadas aplicações são direcionadas às nuvens públicas, enquanto outras, normalmente mais críticas, permanecem sob responsabilidade de sua nuvem privada. Pode haver também recursos que funcionam em sistemas locais (on premise), complementando o que está nas nuvens.
Perceba que nuvens públicas e privadas não são modelos incompatíveis entre si. Não é preciso abrir mão de um tipo para usufruir do outro. Pode-se aproveitar o “melhor dos dois mundos”, razão pela qual as nuvens híbridas (hybrid cloud) são uma tendência muito forte nas corporações.
A implementação de uma nuvem híbrida pode ser feita tanto para atender a uma demanda contínua quanto para dar conta de uma necessidade temporária. Por exemplo, uma instituição financeira pode integrar à sua nuvem privada um serviço público capaz de atender a uma nova exigência tributária. Ou então, uma rede de lojas pode adotar uma solução híbrida por um curto período para atender ao aumento das vendas em uma época festiva.
É claro que a eficácia de uma nuvem híbrida depende da qualidade da sua implementação. É necessário considerar aspectos de segurança, monitoramento, comunicação, treinamento, entre outros.
Esse planejamento é importante para avaliar inclusive se a solução híbrida vale a pena. Quando o tempo necessário para a implementação é muito grande ou quando há grandes volumes de dados a serem transferidos para os recursos públicos, por exemplo, seu uso pode não ser viável.

Renata CollinsBlog Google+ | Twitter | FB | Pinterest | Youtube | WP

sexta-feira, 1 de maio de 2015

DevOps – Conceitos

O que é DevOps?
DevOps é o alinhamento do time de desenvolvimento com o time de operações, em relação à processos, ferramentas e responsabilidades, visando acelerar as entregas em produção com um elevado grau de qualidade.
Enquanto o desenvolvimento ágil aproximou as equipes de desenvolvimento do negócio, reduzindo os gaps entre essas áreas, o DevOps traz agilidade para as entregas reduzindo os gaps entre desenvolvimento e operações.
image
Na prática DevOps aproxima as práticas de desenvolvimento ágil com testes e implantação – fazendo um bom uso da automação para tal.
DevOps é uma metodologia de desenvolvimento de software que explora a comunicação, colaboração e integração entre desenvolvedores de software e profissionais de TI (Tecnologia da Informação).DevOps é a reação à interdependência entre desenvolvimento de software e operações de TI. Pretende ajudar organizações a produzir software e serviços rapidamente. (Wikipedia)
size_810_16_9_cientista-dados
Por que é importante para você?
Durante muito tempo, as grandes empresas puderam se dar ao luxo de colocar em produção poucas atualizações de seus principais software durante o período de um ano. Ainda é comum que sistemas de alta importância recebam menos que 1 ou 2 grandes atualizações. Porém a pressão sobre TI para entregar mais inovação para o negócio, vem mudando esse jogo.
Empresas que liberam novas versões de software frequentemente podem precisar das considerações ou orientações de um DevOps. O Flickr desenvolveu capacidades de DevOps para suprir uma necessidade do negócio de realizar dez implementações por dia, este ciclo diário de implementações será muito maior em organizações que produzem aplicações multi-foco ou multi-funções. É conhecido como implementação contínua ou entrega contínua[8] e é frequentemente associado com a metodologia Lean Startup.Grupos de trabalho, associações de profissionais e blogs estão tratando do tema desde 2009.
Os DevOps auxiliam empresas no gerenciamento de lançamento de novas versões, ao padronizar ambientes de desenvolvimento. Eventos podem ser acompanhados com maior facilidade, assim como o controle de processos documentados e emissão de relatórios granulares. Empresas com problemas no processo de liberação/implementação de novas versões, normalmente possuem automação, mas querem maior flexibilidade para gerenciar e conduzir esse processo – sem precisar editar tudo na linha de comando. Idealmente, essa automação deve ser disparada por recursos não operacionais, em ambientes específicos que não estejam “em produção”. O desenvolvedor ganha maior controle sobre o ambiente, e a infraestrutura maior entendimento sobre os aplicativos.
Processos simples se tornam claramente articuláveis, através do DevOps. O objetivo é automatizar a maior quantidade possível de processos operacionais.
Integrações DevOps visam a entrega de produtos, testes de qualidade, desenvolvimento de características e releases de manutenção, de modo a incrementar a confiança e segurança, desenvolvimento rápido e ciclos de desenvolvimento. Muito das ideias (e pessoas) envolvidas com DevOps vieram do movimento de Desenvolvimento ágil de software.

Renata CollinsBlog Google+ | Twitter | FB | Pinterest | Youtube | WP

sábado, 11 de abril de 2015

Falando um pouco sobre usabilidade

O que é a usabilidade
O que é a usabilidade? Porquê e quando investir em usabilidade? Como melhorar o nível de usabilidade do seu produto, aplicação ou website? Porque se deve preocupar com isso? Este artigo pretende dar respostas a estas questões.
O que significa usabilidade?
A usabilidade é um atributo de qualidade dos produtos que permite aferir se uma interface com o utilizador é fácil de utilizar. A palavra “usabilidade” também se emprega para referir o conjunto de métodos destinados a melhorar a usabilidade dos produtos.
A usabilidade é definida em 5 dimensões:
Aprendizagem: Quão fácil é para os utilizadores realizarem tarefas básicas no primeiro contacto que têm com a interface?
Eficiência: Depois dos utilizadores se tornarem experientes na utilização da interface, quão rápido conseguem realizar as tarefas?
Memorização: Depois de um longo período de ausência, quão facilmente conseguem os utilizadores restabelecer o seu nível de proficiência?
Robustez: Quantos erros cometem os utilizadores, quão severos são esses erros, e quão facilmente conseguem recuperar dos erros?
Satisfação: Quão agradável é a utilização do sistema?
Existem outros atributos de qualidade igualmente importantes. Um desses atributo-chave é a utilidade, que se refere à eficácia do design. O sistema permite fazer o que o utilizador pretende? A usabilidade e a utilidade são as duas faces da mesma moeda e têm igual importância. Interessa pouco que algo seja fácil de utilizar se não permite fazer o que se pretende. É igualmente inútil que um sistema permita, hipoteticamente, fazer o que se pretende, mas que não consigamos atingir esse objectivo porque a interface é demasiado difícil de utilizar. A usabilidade e a utilidade podem ser estudadas através das mesmas metodologias.
Renata Collins usability
Porquê investir em usabilidade?
Na web, a usabilidade é um factor crucial de sobrevivência. Se um website é difícil de utilizar, as pessoas desistem. Se a homepage não apresenta, de forma clara, o que a empresa tem para oferecer e o que é que os utilizadores podem fazer no site, as pessoas desistem. Se os utilizadores se perdem num website, desistem. Se a informação contida num website é de difícil leitura e não responde às questões-chave dos utilizadores, eles desistem. Detecta aqui um padrão? É irrealista assumir que os utilizadores vão ler manuais ou perder tempo a tentar perceber como utilizar um website. Existem numerosas alternativas online; desistir e abandonar o site é a primeira defesa que os utilizadores têm quando encontram dificuldades de sua utilização.
A primeira lei do comércio electrónico diz que, se o utilizador não consegue encontrar o produto, então também não consegue comprar o produto.
No que diz respeito às intranets, a usabilidade é sobretudo direccionada para a produtividade dos colaboradores. O tempo que os utilizadores gastam quando estão perdidos na intranet, ou a tentar interpretar interfaces complexas, é dinheiro que está a desperdiçar ao pagar-lhes o salário para não serem produtivos.
A experiência aponta para um custo com a usabilidade a rondar os 10% do orçamento destinado ao design do sistema. Em média, este custo permite mais do que duplicar as métricas de qualidade de um website e praticamente duplicar as métricas de qualidade em intranets. No caso do software aplicacional e produtos físicos, o ganho de introduzir a usabilidade no processo de design é tipicamente inferior – ainda que substancial.
Em projectos internos, considere a duplicação do investimento em usabilidade correspondente à redução para metade dos custos em formação e o aumento para o dobro das transações que os colaboradores realizam por hora. Em projectos para o público em geral, pense na duplicação das vendas, do número de utilizadores subscritores, do número de leads, ou na duplicação de outras métricas tipicamente utilizadas na medição do sucesso de projectos.
A primeira lei do e-commerce é que caso os utilizadores não consigam encontrar o produto, também não o podem comprar.
Como melhorar a usabilidade?
Existem numerosas metodologias para estudar a usabilidade de um sistema, mas podemos afirmar que a mais simples e útil é a realização de testes com utilizadores, que podemos dividir em 3 etapas:
Recrute utilizadores representativos do público-alvo, tal como clientes do seu site de comércio electrónico, ou colaboradores da sua intranet (neste último caso, devem trabalhar fora do departamento que desenha e desenvolve a intranet);
Solicite aos utilizadores que executem tarefas representativas no sistema;
Observe o utilizador, tomando nota dos seus sucessos e das suas dificuldades na utilização do sistema. Não interfira e ajude o utilizador a verbalizar a sua experiência.
É importante realizar os testes com um utilizador de cada vez, e que ele tente resolver autonomamente os problemas com que se pode deparar durante o teste. No instante em que você interferir, ajudando o utilizador ou chamando a atenção do utilizador para algum aspecto da interface, terá contaminado os resultados do teste.
Com 5 utilizadores é tipicamente possível identificar os problemas de usabilidade mais importantes. E é geralmente mais útil e proveitoso realizar vários testes rápidos, em pequena escala, revendo o design e corrigindo os problemas identificados, iterativamente, do que realizar um único teste complexo e dispendioso. O design iterativo é a melhor forma de atingir um bom nível de usabilidade e de qualidade de experiência de utilização. Quantos mais testes rápidos com utilizadores realizar, mais ideias irá obter sobre como melhorar a interface.
Testes com utilizadores e focus groups são coisas bem diferentes. Focus groups são um método pouco eficaz para avaliar a usabilidade. Focus groups têm um papel importante em Marketing Research, mas para avaliar a usabilidade de um sistema, você deve observar de perto os utilizadores a interagirem com o sistema. Ouvir, simplesmente, o que os utilizadores têm a dizer (a sua opinião) pode desorientar mais do que ajudar: é preciso observá-los a realizarem tarefas na prática.
Quando investir em usabilidade?
A usabilidade tem um papel importante em várias fases do processo de design. É por isso que se defende a realização de múltiplas sessões de testes rápidos e de baixo custo. Aqui vão algumas pistas:
Antes de iniciar um novo design, teste o design anterior para identificar os pontos positivos (que deve manter) e os aspectos que dificultam a vida aos utilizadores.
Teste soluções da concorrência. É uma forma simples e acessível de obter dados valiosos sobre alternativas de design em sistemas com funcionalidades semelhantes às do seu produto (no caso das intranets, como é óbvio, torma-se mais difícil testar as soluções da concorrência).
Vá ao terreno e realize um estudo de campo (field study) para aprender como é que os utilizadores agem e resolvem os seus problemas no seu ambiente natural.
Desenhe protótipos em papel da interface (uma ou mais alternativas), e teste-os com utilizadores. Não invista muito esforço na qualidade gráfica dos protótipos iniciais, já que terá que modificar muitas opções de design depois dos testes.
Refina gradualmente a interface, em várias iterações, com base nas ideias recolhidas nos testes, partindo de protótipos em papel de baixa fidelidade gráfica até chegar ao design visual final da aplicação. Teste cada iteração.
Inspecione as opções de design à luz das guidelines de usabilidade estabelecidas.
Uma vez implementado, teste o sistema novamente. A experiência mostra que surgem sempre problemas subtis de usabilidade durante a fase de implementação.
Não adie a realização dos testes com utilizadores até ter o sistema todo implementado. Se o fizer, irá perceber que a grande maioria dos problemas críticos de usabilidade detectados nos testes já não poderão ser corrigidos. Habitualmente, muitos destes problemas são estruturais, e a sua resolução costuma implicar alterações ao nível da arquitectura do sistema.
Onde realizar os testes?
Se realiza pelo menos um teste com utilizadores por semana, compensa investir num laboratório de usabilidade. Para a maioria das empresas, contudo, é mais do que suficiente realizar os testes em salas normais, desde que garanta um ambiente isento de ruído e distrações.
A única forma de conseguir um nível elevado de qualidade na experiência de utilização do seu produto, aplicação ou website é através de testes com utilizadores logo nas primeiras fases do processo de design, e em cada etapa desse processo. O importante é que consiga recrutar os utilizadores, que os coloque frente ao sistema, e que os observe a realizarem tarefas. Um bloco de notas é o único equipamento de que precisa.

sábado, 7 de março de 2015

Design Thinking – Inovação em negócios

Design Thinking é o conjunto de métodos e processos para abordar problemas, relacionados à aquisição de informações, análise de conhecimento e propostas de soluções. Como uma abordagem, é considerada a capacidade para combinar empatia em um contexto de um problema, de forma a colocar as pessoas no centro do desenvolvimento de um projeto; criatividade para geração de soluções e razão para analisar e adaptar as soluções para o contexto. Adotado por indivíduos e organizações, principalmente no mundo dos negócios, bem como em engenharia e design contemporâneo, o design thinking tem visto sua influência crescer entre diversas disciplinas na atualidade, como uma forma de abordar e solucionar problemas. Sua principal premissa é que, ao entender os métodos e processos que designers usam ao criar soluções, indivíduos e organizações seriam mais capazes de se conectar e revigorar seus processos de criação a fim de elevar o nível de inovação.
Assim, ao utilizar métodos e processos utilizados por designers, o design thinking busca diversos ângulos e perspectivas para solução de problemas, priorizando o trabalho colaborativo em equipes multidisciplinares em busca de soluções inovadoras. Dessa forma, busca-se “mapear a cultura, os contextos, as experiências pessoais e os processos na vida dos indivíduos para ganhar uma visão mais completa e assim, melhor identificar as barreiras e gerar alternativas para transpô-las” . Para que tal ocorra, O Design Thinking propõe que um novo olhar seja adotado ao se endereçar problemas complexos, um ponto de vista mais empático que permita colocar as pessoas no centro do desenvolvimento de um projeto e gerar resultados que são mais desejáveis para elas, mas que ao mesmo tempo financeiramente interessantes e tecnicamente possíveis de serem transformados em realidade.
design-thinking
Conceito propõe caminhos para pensar o produto fora dos modelos tradicionais
Muitos de nós somos cobrados no trabalho por desempenhos cada vez mais eficazes e resultados cada vez maiores. A busca por desempenho está aniquilando nossa capacidade de experimentar caminhos diferentes. O medo de não cumprir as metas e não atingir os objetivos nos leva, inexoravelmente, ao caminho mais seguro e confiável dentre os conhecidos e já testados. Tim Brown, CEO da Ideo, ficou famoso em 2009 por compartilhar com o mundo um caminho diferente que tornou a Ideo uma das dez empresas mais inovadoras do mundo. Esse caminho é conhecido como “design thinking”, título do seu livro que vendeu milhares de exemplares em todo o mundo e foi lançado no Brasil pela editora Campus em 2010.
Como designer, Brown descobriu que um bom desenho nem sempre é suficiente para resolver problemas do produto e que muitas vezes nem o próprio produto resolve o problema do cliente. Estudando melhor os produtos que desenhava a pedido de seus clientes, ele percebeu que sua capacidade criativa poderia ir além do desenho e ajudar a repensar o negócio sob a perspectiva do consumidor final. A essência do conceito de design thinking como uma evolução do tradicional processo de design é colocada nos seguintes tópicos:
● Insight: Aprender com a vida alheia. Quando nos deparamos com um problema, devemos nos livrar das amarras impostas pelas soluções baseadas na forma tradicional de pensar. Os insights são descobertas que surgem repentinamente depois de um momento de reflexão e contemplação sobre a situação que queremos resolver. O insight é decorrente de muita observação do comportamento das pessoas e da forma como elas lidam com a situação problema, como improvisam, como reduzem o impacto, como contornam de diversas formas as limitações impostas. Para transformar essas observações em insights, é preciso também se colocar na pele do outro e tentar “viver” o mesmo problema. Essa empatia ajuda o design thinker a explorar as perspectivas de quem está “dentro” do problema, suas interações com o ambiente e suas limitações na visualização de caminhos inovadores.
● Mapa mental: O paradoxo entre o pensamento convergente e divergente. O design thinking é uma jornada por diferentes estados mentais. Nela, é preciso desenvolver o pensamento divergente, um modelo mental de busca de alternativas, caminhos, soluções, respostas, possibilidades que sejam, sempre que possível, criativas, lógicas, estruturadas, estranhas, factíveis, duvidosas, de todo tipo, para então explorar o pensamento convergente, no qual se usam critérios práticos para decidir entre as alternativas, comparando-as umas com as outras e testando algumas delas. Os modelos mentais são muito diferentes, e o maior desafio é considerar os dois lados do cérebro para pensar, ora de forma analítica, ora de forma sintética.
● Prototipagem: Construindo para pensar. Um protótipo é uma versão física de um produto antes de ser fabricado. Ao fazer um protótipo, estamos pensando com as mãos, explorando fisicamente o abstrato, abrindo a mente para novas possibilidades e comparando pontos de vistas diferentes. Muitas coisas surgem a partir de um protótipo, mas não apareceriam numa versão em duas dimensões, no papel. O protótipo pode ser algo malfeito, barato, terminado rapidamente e até improvisado – o que importa é a sua capacidade de aprimorar uma ideia. Coisas intangíveis podem ser prototipadas também. O storytelling da indústria cinematográfica, as experiências simuladas nos ramos de serviços ou as maquetes de projeções do futuro para o desenvolvimento de estratégias organizacionais são bons exemplos.
● Pensamento integrativo: Tirando a ordem do meio do caos. É uma habilidade típica de pessoas que exploram ideias opostas para construir uma nova solução, ao contrário da maioria, que só leva em consideração um modelo por vez. Os pensadores integradores sabem como ampliar o escopo das questões relevantes ao problema e resistem à lógica do “isso ou aquilo” para favorecer a lógica do “isso E aquilo” e veem relações não lineares e multidirecionais como uma fonte de inspiração, não de contradição. Quem se destaca como “pensador integrativo” recebe a desordem de braços abertos, admite bem a existência da complexidade, pois consegue identificar padrões no meio da complexidade e sintetiza novas ideias a partir de fragmentos. Para isso, ele às vezes dá alguns passos atrás para conseguir ver o todo de forma contemplativa, na esperança de que seu cérebro identifique algo que se sobressaia diante da complexidade e do excesso de variáveis que compõe esse todo.
● Pensamento visual: A ciência do guardanapo. Algumas pessoas só conseguem se expressar ou entender a partir de desenhos, gráficos, imagens ou qualquer representação visual que vá além de palavras e números. Muitas grandes ideias de hoje começaram com um esboço de um modelo em um guardanapo de papel numa conversa entre duas pessoas, regada a cerveja ou vinho. Nem é preciso saber desenhar, o importante é conceber uma imagem mental da ideia. É como se fosse uma etapa anterior à do protótipo, só que em duas dimensões apenas.
Através desse conceito e das ferramentas associadas a ele, a Ideo vem ajudando empresas a encontrar soluções para negócios, como formas de aumentar a retenção de clientes, proporcionar experiências inesquecíveis ao saborear um prato ou minimizar o risco de uma excessiva exposição de imagem corporativa. Sempre são situações e desafios que exigem que a solução vá além do óbvio e, de certa forma, surpreenda a ponto de transformar algo extremamente negativo em algo extremamente positivo. Para isso, a Ideo reúne toda a sua capacidade criativa, antes usada para desenhar novos produtos, para agora desenhar novas soluções de negócios, entre elas a forma como esses produtos são usados ou que valor representam.

Renata CollinsBlog Google+ | Twitter | FB | Pinterest | Youtube | WP

quarta-feira, 4 de fevereiro de 2015

Internet das Coisas: entenda o conceito e o que muda com a tecnologia

A “Internet das Coisas” se refere a uma revolução tecnológica que tem como objetivo conectar os itens usados do dia a dia à rede mundial de computadores. Cada vez mais surgem eletrodomésticos, meios de transporte e até mesmo tênis, roupas e maçanetas conectadas à Internet e a outros dispositivos, como computadores e smartphones.
A ideia é que, cada vez mais, o mundo físico e o digital se tornem um só, através dispositivos que se comuniquem com os outros, os data centers e suas nuvens. Aparelhos vestíveis, como o Google Glass e o Smartwatch 2, da Sony, transformam a mobilidade e a presença da Internet em diversos objetos em uma realidade cada vez mais próxima. O TechTudo busca explicar o que realmente pode mudar com a aplicação desse conceito. Confira.
Como surgiu o termo?
A ideia de conectar objetos é discutida desde 1991, quando a conexão TCP/IP e a Internet que conhecemos hoje começou a se popularizar. Bill Joy, cofundador da Sun Microsystems, pensou sobre a conexão de Device para Device (D2D), tipo de ligação que faz parte de um conceito maior, o de “várias webs”.
A Internet das Coisas (do inglês, Internet of Things) é uma revolução tecnológica a fim de conectar aparelhos eletrônicos do dia-a-dia, como aparelhos eletrodomésticos à máquinas industriais e meios de transporte à Internet, cujo desenvolvimento depende da inovação técnica dinâmica em campos tão importantes como os sensores wireless e a nanotecnologia. (Wikipedia)
Em 1999, Kevin Ashton do MIT propôs o termo “Internet das Coisas” e dez anos depois escreveu o artigo “A Coisa da Internet das Coisas” para o RFID Journal. De acordo com o especialista, a rede oferecia, na época, 50 Pentabytes de dados acumulados em gravações, registros e reprodução de imagens.
A limitação de tempo e da rotina fará com que as pessoas se conectem à Internet de outras maneiras. Segundo Ashton, assim, será possível acumular dados do movimento de nossos corpos com uma precisão muito maior do que as informações de hoje. Com esses registros, se conseguirá reduzir, otimizar e economizar recursos naturais e energéticos, por exemplo. Para o especialista, essa revolução será maior do que o próprio desenvolvimento do mundo online que conhecemos hoje.

quarta-feira, 7 de janeiro de 2015

Beacon: o GPS que ajuda sua marca a localizar as melhores oportunidades

Precisão, personalização e praticidade: conheça os beacons, estes pequenos dispositivos de localização via bluetooth que podem fazer grandes coisas pelas suas operações
Se você está pesquisando sobre beacons, certamente deve ter ouvido falar deles por aí. E a tendência é que ouça com uma frequência cada vez maior. Porque, embora muito recente, o termo beacon designa um pequeno dispositivo que vem ganhando cada vez mais destaque, sobretudo nas lojas de varejo. E nós não poderíamos deixar de te contar mais sobre uma novidade que pode oferecer várias oportunidades de negócio.
O que são exatamente os beacons?
A tradução imediata é “farol”. E de fato, os beacons operam como um. Afinal, de acordo com este artigo, um beacon é um minúsculo dispositivo que emite sinais por meio de tecnologia bluetooth low energy, também conhecida como bluetooth 4.0. Os sinais podem ser captados por aplicativos de smartphones e tablets. Desta forma, podem ser interpretados como gatilho para uma determinada ação no app.
OU SEJA, O BEACON É UMA ESPÉCIE DE GPS INDOOR QUE CONSEGUE LOCALIZAR, COM PRECISÃO INCRÍVEL, POR QUAL GÔNDOLA UM CLIENTE CAMINHA DENTRO DE UMA LOJA DE DEPARTAMENTOS, POR EXEMPLO.
Assim, esse pequeno dispositivo consegue enviar ofertas altamente personalizadas a esse cliente, tendo como base o histórico com uma marca e a movimentação pelo ponto de venda.
Como é que funcionam os beacons?
Este artigo do Proxxima dá a palavra a um dos maiores defensores da novidade no Brasil: Sergio Percope, diretor da Pontomobi. De acordo com ele, os beacons trabalham em conjunto com os smartphones dos clientes, que devem estar com Bluetooth ativado – e também devem ter um aplicativo da loja instalado. É o beacon que fala com o cliente, por push notifications. “O aplicativo não precisa estar rodando, mas é nele que estará arquivado todo o histórico do cliente com a loja. E isso, sim, é o que possibilita a oferta de mensagens praticamente individualizadas”, explica Percope.
Outro entusiasta dos beacons é Bruno Ruffo, CEO da Kiddo Labs. Ele afirma que, por serem pequenos, utilizarem o bluetooth low energy e por serem extremamente precisos, os dispositivos possibilitam a distinção entre dois sensores a centímetros de distância. “Agora é possível identificar o consumidor que entra na loja, conhecer o seu trajeto ao caminhar pelas seções e apresentar, baseadas em seus hábitos de consumo, ofertas e informações exclusivas para cada produto com uma agilidade impressionante”, diz Ruffo.
Qual a diferença desse bluetooth low energy?
Em relação ao bluetooth comum, o BLE tem dois grandes diferenciais: o primeiro é que gera ondas de rádio, o que faz com que seja mais poderosa a sua penetração em meios físicos (paredes). E o segundo diferencial é que, como o próprio nome indica, o bluetooth low energy consome bem menos energia – apenas uma fração da bateria dos aparatos.
Mas, o beacon não funcionaria como as ações de bluetooth de antigamente?
Não, porque a tecnologia do beacon é muito mais personalizável. Ainda mais se você comparar com aquelas antigas ações de grandes lojas,em que elas pediam para que os clientes ativassem o bluetooth mas enviavam ofertas aleatórias, sem base alguma em suas preferências.
Afinal, faz muito mais sentido oferecer um rótulo novo de cerveja para alguém que sempre compra a bebida do que para uma senhorinha que só leva vegetais e chás, não?
Algum exemplo de como se utiliza um beacon?
Como muita gente ainda torce o nariz para a tecnologia, ela ainda não é vastamente utilizada. Mas há exemplos muito bacanas de aplicação de beacons: as lojas Apple, por exemplo. Se o cliente, por acaso, se aproxima da seção de iPhones com um aparelho antigo, o sensor dispara uma mensagem sugerindo o upgrade. Pode-se até realizar a compra pelo próprio celular.
Isso em se tratando de varejo, mas há muitos outros usos possíveis para os beacons. O vídeo abaixo mostra algumas dessas aplicações, como um restaurante pode aproveitar da tecnologia, enviando ofertas para clientes e viabilizando o pedido sem que eles tenham que comunicá-lo com os garçons, entre outras (em inglês):
O mesmo vale para cafeterias, supermercados, barbearias, tabacarias, farmácias… Enfim, qualquer estabelecimento comercial que queira sofisticar as relações com seus clientes.
Outra aplicação possível para os beacons diz respeito à circulação dentro de edificações. Sim, nos lugares onde o GPS não funciona direito, os dispositivos possibilitarão essa geolocalização indoor. Será possível até triangular os sinais para obter um posicionamento exato dentro de um estabelecimento. Já imaginou entrar em um prédio, escola, clube e ter um guia virtual na sua mão para encontrar os lugares que procura?
Um outro uso para os beacons se relaciona ao conceito de internet das coisas, que abordamos neste artigo. Muito resumidamente, a internet das coisas é a conexão que se estabelece entre geladeiras, luzes, ar condicionados, televisões e demais aparelhos. Os beacons, assim, agiriam como facilitadores, para configurar um ambiente de acordo com a pessoa que lá está.

Screen-Shot-2014-11-12-at-11.53.17-AM-1280x840

sexta-feira, 2 de janeiro de 2015

Scrum: Agilidade em projetos

Scrum é uma metodologia ágil para gestão e planejamento de projetos de software. No Scrum, os projetos são dividos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um Time Box dentro do qual um conjunto de atividades deve ser executado.
Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que são chamadas de Sprints no caso do Scrum.
Renata Collins Scrum2
As funcionalidades a serem implementadas em um projeto são mantidas em uma lista que é conhecida como Product Backlog. No início de cada Sprint, faz-se um Sprint Planning Meeting, ou seja, uma reunião de planejamento na qual o Product Owner prioriza os itens do Product Backlog e a equipe seleciona as atividades que ela será capaz de implementar durante o Sprint que se inicia. As tarefas alocadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog.
A cada dia de uma Sprint, a equipe faz uma breve reunião (normalmente de manhã), chamada Daily Scrum. O objetivo é disseminar conhecimento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho do dia que se inicia.
Ao final de um Sprint, a equipe apresenta as funcionalidades implementadas em uma Sprint Review Meeting. Finalmente, faz-se uma Sprint Retrospective e a equipe parte para o planejamento do próximo Sprint. Assim reinicia-se o ciclo. Veja a ilustração abaixo:
Renata Collins Scrum1
Cerimônias
No Scrum há 4 cerimonias a saber:
Sprint Planning Meeting: É uma reunião onde os três papéis do Scrum estão presentes onde o Product Owner explica para o Development Team o detalhamento de cada produto e o Development Team estima o esforço de cada produto através da técnica Planning Poker. O resultado dessa reunião será de uma lista priorizada dos produtos e o Development Team irá se comprometer a entregar o que ela julga ser capaz, sem sofrer nenhum tipo de pressão do Product Owner ou de qualquer outra pessoa. A Definição de Pronto de cada produto deverá ser estabelecida nesta etapa, uma vez que durante a Sprint Review Meeting cada produto será confrontado com a Definição de Pronto de cada produto. Para saber mais sobre a técnica Planning Poker, acesse aqui.
Daily Scrum Meeting: É uma reunião diária feita somente entre os membros do Development Team com duração de 15 minutos, e é recomendado que seja feito no mesmo local. Cada membro precisa responder três perguntas: o que você fez da última reunião até agora? o que você fará até a próxima reunião? há algum impedimento que impeça suas atividades? Caso haja algum impedimento, o Scrum Master precisa ser acionado. Tanto o Scrum Master quanto o Product Owner podem participar da reunião, no entanto, não podem influenciar e devem estar apenas de corpo presente, sem falar uma única palavra, salvo o Scrum Master, caso o Development Team esteja violando algum processo do Framework Scrum.
Sprint Review Meeting: É a reunião onde todos os papéis participam e o Development Team apresenta as entregas dos produtos funcionando para o Product Owner, onde este poderá aceitar ou não. O Product Owner, se desejar, poderá convidar outras pessoas para participar desta reunião. E cada produto será confrontado com a Definição de Pronto realizada durante o Sprint Planning Meeting.
Sprint Retrospective Meeting: É uma reunião realizada após o término de cada Sprint entre os membros do Development Team de lições aprendidas, onde serão abordados o que foi mal e o que precisa ser melhorado para a próxima Sprint e o que foi bem e que precisa ser mantido para a próxima Sprint.
Artefatos
No Framework Scrum há 4 artefatos a saber:
Product Backlog: É a lista de produtos que o projeto precisará entregar, muitas das vezes os produtos são descritos em forma de estórias (Users Stories), como por exemplo: “Como professor gostaria de acessar o sistema de notas online para que possa consultar as notas dos meus alunos em qualquer lugar que eu esteja.”
Sprint: É o período de tempo que leva de 2 a 4 semanas para serem desenvolvidos os produtos planejados para a Sprint corrente.
Sprint Backlog: São os produtos selecionados pelo Development Team e na ordem priorizada pelo Product Owner na qual o Development Team se compromete à entregar na Sprint corrente.
Burndown Chart: É o gráfico de acompanhamento diário do andamento das atividades durante a Sprint. No eixo Y do gráfico é o indicativo dos pontos e no eixo X é o indicativo do tempo.
Renata CollinsBlog Google+ | Twitter | FB | Pinterest | Youtube | WP