Giter Site home page Giter Site logo

iot.starter's Introduction

IoT Starter

Em todo o mundo, estima-se atualmente que há dezenas de BILHÕES de dispositivos inteligentes baseados em processadores e conectados de alguma forma à Internet, incluindo computadores de diversos tamanhos (mainframes, estações gráficas, micros desktops, laptops, notebooks), além de tablets, celulares, smart watches, pagers, etc.

Com a chegada da tecnologia IoT que envolve a Internet of Things, antes de 2020 essa quantidade de dispositivos inteligentes conectados irá mais que dobrar. Isso representa um mercado de US$ 6 trilhões a ser desenvolvido nos próximos anos, um desafio para as empresas e profissionais da informação.

A partida foi dada e inicia-se uma verdadeira guerra de cachorros grandes que tentam abocanhar uma boa fatia deste mercado. Todos querem ser o primeiro a criar um sistema operacional que possa integrar todos esses dispositivos de forma organizada e segura. O grande problema é que ninguém sabe bem como fazer, pois as especificações desse mercado não são tão claras como as do mercado de micros, em que se faz software com telas bonitas, interagindo com teclado e mouse. A diferença principal é que a tecnologia IoT precisará interagir diretamente com a natureza, em tempo real. São sensores de temperatura, de presença, acelerômetros, giroscópios, motores girando para frente e para trás. E a gente no meio.

Além disso, os cachorros grandes que são as grandes corporações que dominam o mercado, tem a inércia natural de quem quer defender o seu ativo e ganha pão atual, o que impede grandes rupturas nos modelos de negócios existentes. Para se desenvolver a verdadeira e genuína IoT, será preciso utilizar o conhecimento intensivo, com mão de obra especializada. Por isso, espera-se que empresas menores - médias, pequenas e micros, tenham um papel relevante em criar as soluções "fora da caixa" que irão impulsionar o verdadeiro mundo das coisas inteligentes e conectadas.

Estamos então falando de milhares de novos negócios, provavelmente capitaneados por profissionais de conhecimento intensivo. Tudo geralmente começa com alguém tendo uma ideia, a princípio diferente e revolucionária. Pode ser um indivíduo, um pequeno ou médio empresário ou até mesmo uma equipe de uma grande empresa. Mas para levar a "ideia" adiante, há que se encontrar um ou mais investidores que queiram apostar no negócio e bancar os custos iniciais.

Como minimizar os riscos ao se investir em IoT? Como obter retorno do projeto? Como satisfazer os tomadores de decisão que irão investir no negócio? Geralmente identifica-se as seguintes fases em um projeto desse tipo.

  • Plano de Negócio
  • Escolha do Time
  • Escolha da Metodologia
  • Prova de Conceito
  • Escolha do Starter Kit
  • Protótipo Piloto
  • Produção Comercial

Plano de negócio

Antes mesmo de se iniciar um plano de negócio formal, sempre haverá uma série de discussões sobre a "ideia" original. Brainstorms envolvendo os principais interessados são importantes, de forma a avaliar livremente a extensão do mercado a ser explorado pelo produto. Nessa hora, uma pesquisa sobre "ideias" semelhantes já existentes será uma atitude normal e sensata, pois a concorrência pode desestimular os investidores, ao reduzir o retorno financeiro do novo produto.

Supondo-se que a "ideia" passe nos primeiros questionamentos, ela ganha força e seduz cada vez mais, facilitando o convencimento de indivíduos, empresários e investidores envolvidos. Nesse momento, recomenda-se iniciar o planejamento da equipe que deverá levar adiante a iniciativa. Nesse estágio inicial, convém ouvir a opinião de especialistas, pois eles podem ser bastante úteis para identificar atalhos no caminho a ser percorrido.

A formalização de um Business Plan foge do escopo deste texto, mas é prática bastante difundida e diversas receitas podem ser facilmente encontrada na Internet. Um documento com números e prazos deve ser gerado para posicionar a todos sobre as etapas do trabalho, bem como permitir correções de rota ao longo do caminho.

Escolha do Time

Logo após o plano de negócios ser aprovado, é fundamental eleger o time que irá trabalhar. É preciso envolver um gerente executivo, capaz de coordenar os membros da equipe. Em seguida, precisa-se nomear os atores que irão representar, perante a equipe, os papéis de investidores e usuários. Os pontos de vistas desses atores são complementares e frequentemente conflitantes. Satisfazer plenamente a ambos, sem concessões, será provavelmente o principal desafio do time e condição básica para o sucesso do empreendimento.

Claro, seleciona-se o time de desenvolvedores que pode eventualmente contar com especialistas em conhecimento intensivo em áreas diversas como arquitetura de hardware e software, programação, web design, redes, etc.

Pode haver acúmulo de cargos, ou seja, um membro do time poderá exercer mais de um papel. Mas deve-se ter sensibilidade para evitar sobrecargas, ou seja, alguém atuando como investidor, usuário e desenvolvedor poderá decepcionar a si mesmo e comprometer o resultado final da equipe.

Para dimensionar uma equipe eficaz, o CEO da Amazon Jeff Bezos, sugere empregar uma regra bastante simples: A regra das duas pizzas. Quando for reunir a equipe ou considerar a quem convidar para a próxima reunião, avalie quantas pessoas você poderá alimentar com duas pizzas - esta é a quantidade de pessoas que você deve convidar.

A razão para manter uma equipe enxuta em tarefas de conhecimento intensivo, como são os projetos de IoT, tem sido motivo de estudos desde 1913, quando o professor francês Maximilien Ringelmann mostrou que a produtividade individual dos membros da equipe diminui, à medida que ela aumenta de tamanho. Batizado de Efeito Ringelmann, esse e outros estudos chegaram ao consenso que para maximizar a produtividade, o tamanho da equipe não deve chegar a dois dígitos.

Metodologia

Qual a metodologia que melhor aproveita o time envolvido na concepção, projeto, desenvolvimento e gerenciamento de uma iniciativa IoT? Como conduzir o trabalho de forma contínua e suave?

As maiores software houses de hoje em dia utilizam-se de metodologias específicas para potencializar e integrar os times que trabalham em projetos de conhecimento intensivo. Basta acompanhar a evolução de empresas como Apple, Google e Microsoft, entre outras para identificar um elo comum: a rápida e eficiente entrega ao mercado de produtos com alta qualidade. Como elas são capazes de estar sempre surpreendendo a todos com produtos inovadores? Como extrair a máxima eficiência das equipes e ainda ter máquinas de Coca-Cola e mesas de ping-pong nos escritórios? Como mesclar a produção de funcionários que trabalham em casa com aqueles que comparecem aos escritórios em locais e fusos horários diferentes ao redor do mundo?

O Projeto & Desenvolvimento (P&D) de iniciativas IoT, por estar intimamente ligado à criação e construção de Sistemas de Informação (SI), deve empregar uma metodologia que combine conceitos e ferramentas que ajudem o time a focar em sua missão, mesmo com participantes distribuídos geograficamente e no tempo. As metodologias empregadas na indústria de software tornam eficazes seus times que lidam com conhecimento intensivo. Desta mesma forma, a tecnologia IoT poderá entregar e integrar novos negócios para produzir dispositivos inteligentes e conectados.

Prova de Conceito

Tudo certo pra começar? Qual o próximo passo? Partir para o projeto e construção do produto final? Afinal, o tempo está correndo e os investidores beliscam nossos calcanhares, cobrando os primeiros resultados.

Revisemos as etapas realizadas até agora:

  • Fomos convencidos de que uma ideia sobre IoT seria capaz de seduzir uma clientela de usuários;
  • Conseguimos elaborar um plano de negócios com números e prazos que foi bem aceito por investidores;
  • Envolvemos um gerente executivo que concordou em liderar um time enxuto e bem treinado;
  • Selecionamos uma metodologia para potencializar o conhecimento intensivo do time de especialistas e capaz de estabelecer um fluxo de trabalho contínuo e eficaz;

Qual o próximo passo para garantir o sucesso da iniciativa IoT? Há de haver muita calma nessa hora, pois muitas direções e alternativas podem confundir, como na entrada de um labirinto. Essa é a hora da Prova de Conceito (PC) do produto, para validar não só uma versão preliminar que atenda a requisitos básicos de usuários e investidores mas também permita dar partida ao processo de desenvolvimento.

Antes de mais nada, qual seria o principal conjunto de cenários a considerar? Não se deve incluir toda a complexidade de uma só vez ao produto. Além disso, fabricar o produto seria a única tarefa que falta para viabilizar o negócio? Foi revisado o ciclo de atividades que envolve o negócio? Construir a linha de produção é realmente o gargalo do novo negócio? O mercado está ávido para comprar o novo produto? Haveria divulgação/marketing que provocasse a demanda para coincidir com o início da produção?

Na fase de prova de conceito não é necessário ter o produto completo, com todas as especificações e condições de contorno incluídas. O objetivo é gerar um embrião. Como a metodologia utilizada pelo time reavalia o trabalho em períodos com duração de uma ou duas semanas, todos já esperam evoluir os resultados intermediários em sequencia. Dessa forma, o time terá oportunidade de adicionar funcionalidades e ao mesmo tempo eliminar bugs, de forma a evoluir em quantidade e qualidade o novo embrião.

Haveria alguma forma de se queimar etapas e avançar mais rapidamente? Esse seria o momento ideal para se avaliar a possibilidade de utilização de um starter kit, ou seja, uma ferramenta para acelerar o desenvolvimento do produto e validar os conceitos primordiais da iniciativa IoT.

Escolha do Starter Kit

Como fazer para se iniciar rapidamente o trabalho de Projeto & Desenvolvimento (P&D) da iniciativa IoT?

O Starter Kit é vital para acelerar e consolidar a implantação do workflow que vai colocar em funcionamento o time de profissionais. A partir da sua simples instalação, cria-se o ponto de partida e a consequente necessidade de disparar tarefas com as primeiras mudanças. Nesse instante, essa sequencia de tarefas já deverá estar definida, tendo em vista a aplicação da metodologia escolhida por todos.

Partindo da definição de IoT que são dispositivos inteligentes baseados em processadores e conectados de alguma forma à Internet, deve-se escolher primeiro uma plataforma para o produto, formada por uma CPU e uma interface de rede. Alguns exemplos de plataformas bastante utilizadas hoje em dia são as ARMs de Arduino, Netduino e Raspberry PI, entre outras. Estas micro CPUs, já dotadas de interface de rede nos modelos mais modernos, tem componentes com alto grau de integração (VLSI) e custo de hardware reduzido.

Deve-se também levar em consideração que o hardware e software utilizados na plataforma destino do produto são geralmente dimensionados para comportar apenas o necessário para a iniciativa IoT projetada. Em grande parte dos casos, há necessidade de se adicionar algum hardware customizado à CPU, por exemplo na forma de placas ou shields acoplados ao barramento Arduino.

Simulando o workflow do time de especialistas que vai trabalhar no projeto, constatamos que a maior parte do seu tempo será dedicada a programar e testar um software aplicativo que estará sendo executado na plataforma destino, interagindo com o hardware customizado. Chega-se portanto à conclusão que é fundamental contar com um sistema de desenvolvimento externo, instalado em um microcomputador, que proporcione os seguintes recursos:

  • compilador para a linguagem de programação que irá gerar código para a aplicação na plataforma destino;
  • utilitários para carregar o código executável e depurá-lo no produto;
  • uma biblioteca de software de comunicação, através da interface de rede, incluindo conexão à Internet;
  • uma biblioteca de software com utilitários do Starter Kit, para armazenamento em disco, por exemplo.
  • uma biblioteca de software com módulos desenvolvidos e customizados especialmente para a iniciativa IoT, como codecs de infravermelho ou controladores de motores.

A etapa da Prova de Conceito acelera bastante com a utilização de um Starter Kit como ponto de partida. A maior vantagem é de se colocar a equipe para trabalhar, imediatamente após a instalação do Starter Kit. Assim, o workflow do time P&D se inicia e pode prosseguir normalmente, com a adição de funcionalidades na sequencia prevista pela metodologia, até se chegar ao protótipo piloto.

Há de se considerar também os serviços IoT da Microsoft, entre outros, que oferecem facilidades para conexão de dispositivos na nuvem. Com eles, você pode alugar micros, servidores e outros recursos para rapidamente adicionar gateways, armazenagem de dados e envio de comandos entre dispositivos IoT e recursos virtuais da nuvem. Ganha-se portanto escalabilidade, enxertada diretamente em seu ciclo de negócios.

Protótipo Piloto

O que mudar, quando se chega ao protótipo piloto? O starter kit embrião foi bem tratado, cresceu e ganhou as funcionalidades projetadas para equipar uma nova versão do produto. Após ser aprovado nos testes alfa e beta, foi promovido a cabeça de série. O que ainda falta?

Falta apresentá-lo aos clientes reais.

Chega a hora de soltar o recém formado no mundo para ver como ele se comporta. Para isso, deve-se pensar em toda a cadeia produtiva, incluindo não só o treinamento dos usuários mas principalmente do canal de marketing e suporte ao produto. São eles que irão estar próximos aos usuários finais e causar a primeira impressão.

A cada nova versão, o time poderá ampliar as funcionalidades do produto. Deve-se também aproveitar as oportunidades trazidas pela realimentação do mercado, de forma a aprimorar a qualidade de funcionamento, garantindo o enriquecimento contínuo da experiência do usuário.

Produção Comercial

Parabéns! Se você chegou nesta etapa, começará então a escrever uma nova estória. Como se sabe, as iniciativas de IoT de sucesso costumam exigir resposta rápida para solucionar as questões de segurança e escalabilidade, a curto e médio prazos.

Referências

####1. John Greenough e Jonathan Camhi (Business Insider)

Here's why some are calling the Internet of Things the next Industrial Revolution

For more than two years, BI Intelligence has closely tracked the growth of the IoT. Specifically, we've analyzed how the IoT ecosystem enables entities (i.e. consumers, businesses, and governments) to connect to, and control, their IoT devices in 16 environments, including manufacturing, the connected home, transportation, and agriculture.

In a new report from BI Intelligence, we discuss all of the components of the IoT ecosystem, including its devices, analytics, networks, and security. We also provide estimates and forecasts on the burgeoning IoT market, including device growth, amount invested, and potential return on investment.

Here are some key points from the report:

  • In total, we project there will be 34 billion devices connected to the internet by 2020, up from 10 billion in 2015. IoT devices will account for 24 billion, while traditional computing devices (e.g. smartphones, tablets, smartwatches, etc.) will comprise 10 billion.

  • Nearly $6 trillion will be spent on IoT solutions over the next five years.

  • Businesses will be the top adopter of IoT solutions. They see three ways the IoT can improve their bottom line by 1) lowering operating costs; 2) increasing productivity; and 3) expanding to new markets or developing new product offerings.

  • Governments are focused on increasing productivity, decreasing costs, and improving their citizens’ quality of life. We believe they will be the second-largest adopters of IoT ecosystems.

  • Consumers will lag behind businesses and governments in IoT adoption. Still, they will purchase a massive number of devices and invest a significant amount of money in IoT ecosystems.

2. Rachel Gillett (FastCompany)

The Two Pizza Approach To Productive Teamwork

If you're looking for more effective teamwork, Amazon's CEO Jeff Bezos suggests implementing a very simple trick: the Two Pizza Rule.

When putting together your team or considering who to invite to your next meeting, consider how many people you could feed with two pizzas—that's how many people you should invite.

While Bezos's approach puts team numbers somewhere between five and eight people, other thoughts on the matter suggests cutting down the numbers in different ways.

According to Mark de Rond, an associate professor of Strategy and Organization at the Judge Business School, University of Cambridge, various studies over the years have shown that people tend to prefer teams of four or five members.

And for J. Richard Hackman, the Edgar Pierce Professor of Social and Organizational Psychology at Harvard University, the rule of thumb is "no double digits."

3. Ingo Scholtes (IEEE Software Blog)

From Aristotle to Ringelmann: a large-scale analysis of team productivity and coordination in Open Source Software projects

This is where Maximilien Ringelmann, a French professor for agricultural engineering, who would later - astonishingly - become one of the founders of social psychology, enters the story. Around 1913, Maximilien Ringelmann became interested in the question how the collective power of draught animals, like horses or oxen pulling carts or plows, changes as increasingly large teams of them are harnessed. He answered the question based on a data-driven study. Precisely, he asked increasingly large teams of his students to jointly pull on a rope, measuring the collective force they were able to exert. He found that the collective force of a team of students was less than the sum of forces exerted by each team member alone, an effect that became later known as the "Ringelmann effect". One possible explanation for the finding are coordination issues that make it increasingly difficult to tightly synchronize actions in an increasingly large team. Moreover, social psychology has generally emphasized motivational effects that are due to shared responsibility for the collective output of a team, a phenomenon known by the rather unflattering term "social loafing".

Changing our focus from draught oxen to developers, let us now consider how all of this is related to software engineering. Naturally, the question how the cost and time of software projects scale with the number of software developers involved in the project is of major interest in software project management and software economics.

Using a data set of 58 OSS projects with more than 580,000 commits contributed by more than 30,000 developers, in this article we provide a large-scale analysis of the relation between size and productivity of software development teams. Our findings confirm the negative relation between team size and productivity previously suggested by empirical software engineering research, thus providing quantitative evidence for the presence of a strong Ringelmann effect.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.