domingo, 30 de junho de 2013
Modelo Inicial vs Modelo Atual
Modelo Inicial
- Problemas Encontrados
- A equipe não tinha o conhecimento completo e unificado do negócio.
- Fazer uma plataforma sem ter controle total do escopo e funcionalidades não é viável.
- Como MVP tem-se que pensar em cenários que apresentem ao mesmo tempo simplicidade e relevância.
- A falta de experiência na construção de uma API foi prejudicial.
Modelo Atual
- Foi retirada a camada da plataforma
- O MVP foi desenvolvido apenas para Web
- Para o MVP foi demonstrado em um ponto específico a utilização de Websocket para tratar problemas de latência
- Ao fim, apresentamos a possibilidade de migração da solução para uma plataforma interoperável, utilizando REST e desenvolvendo uma demonstração de aplicação utilizando Android.
segunda-feira, 17 de junho de 2013
terça-feira, 21 de maio de 2013
Replanejamento do Projeto
Devido aos problemas identificados e relatados na última aula de Engenharia de Software, a equipe discutiu os problemas e levantou possíveis soluções para revertermos a atual situação do projeto. Dessa discussão, alteramos a nossa estratégia (adotando sugestões de alguns colegas) e fizemos algumas adaptações ao nosso processo de desenvolvimento.
Estratégia:
- Integrar a aplicação Lookatme com a plataforma Lookat a fim de desenvolver a solução de forma direcionada ao caso específico do Lookatme (próximas 4 ou 5 sprints de desenvolvimento);
- Um vez que a solução esteja mais madura, buscar extrair a plataforma lookat de forma que esta seja genérica o suficiente para atender ao cenário específico do Lookatme e outros novos cenários (3 ou 4 sprints restantes);
- Validação da plataforma com a adequação das aplicações Web (aplicação móvel fica como desejável).
Processo de desenvolvimento:
- Seguindo a cultura Lean Startup, aplicaremos uma metodologia de desenvolvimento ágil, neste caso, o Scrum;
- Estabelecer os papéis do Scrum;
- Estabelecer responsável por integração;
- Trabalhar com sprints de 1 semana;
- Quebrar as atividades em tarefas menores que permitam um melhor acompanhamento do andamento do sprint;
- Mesclar desenvolvimento remoto e presencial para mitigar riscos de atividades mais complexas;
- Estabelecer, previamente, interfaces de partes que serão integráveis a fim de mitigar riscos de integração;
- Manter foco nas funcionalidades mais relevantes para o produto;
- A cada final de sprint validar o produto e o trabalho da equipe a fim de melhorar o processo de desenvolvimento;
- Comprometimento da equipe com o processo;
- Compartilhar ideias e decisões através de ferramentas que permitam o acesso remoto;
- Atividades que exijam integração acarretarão em uma atividade de integração extra associada.
domingo, 21 de abril de 2013
Apresentação do Projeto
As idéias iniciais foram trabalhas e expostas através da seguinte apresentação: lookatme.ppt
A seguir serão apresentados alguns dados relevantes da apresentação.
Prototipagem da aplicação (Abrir imagem grande)
A prototipagem foi criada considerando o MVP proposto pela equipe, assim, pensou-se em funcionalidades que possam demonstrar as potencialidades em torno da plataforma LookAt. Desta forma, a ferramenta LookAtMe oferecerá recursos para interação entre clientes e fornecedores de produtos e serviços. O exemplo apresentado na prototipagem segue (em resumo) a seguinte estória:
Uma pessoa que reside no Brasil resolve passar as férias nos EUA, chegando lá pretende comprar um playstation mas não sabe onde pode encontrar o produto, muito menos onde há os melhores preços, apenas tem o endereço que indicaram a ele onde se concentram as principais lojas de eletrônicos da região. Através da aplicação LookAtMe a pessoa define sua posição atual no mapa e já que pretende procurar a pé pesquisa por um raio de 2km. A pessoa visualiza a qualificação das lojas apresentadas e começa a receber informações destas lojas, escolhendo pela loja que apresenta mais vantagens, observando as notícias, o cliente recebe uma mensagem de uma loja específica, que o informa que sabe que ele está próximo e oferece a ele uma promoção muito boa, o cliente envia uma mensagem para loja para discutir os detalhes da compra.
Foi realizado um estudo inicial de quais serviços da nuvem iremos utilizar para construir a plataforma LookAt. Seguem considerações sobre cada serviço pesquisado:
- Google Maps - Tem uma grande variedade de API's que permitem incorporar as funcionalidades do Google Maps em um site pessoal e/ou aplicativos, e sobrepor dados da solução em sobre os mapas.
- Google OpenID - Login federado com base no padrão OpenID, libera os usuários de ter que configurar contas de logon separadas para diferentes sites e libera os desenvolvedores web site da tarefa de implementar medidas de autenticação de login. OpenID atinge este objetivo, proporcionando um quadro no qual os usuários podem criar uma conta com um provedor de OpenID, como o Google, e usar essa conta para entrar em qualquer site que aceite OpenIDs.
- Graph API - É o núcleo da plataforma facebook, possibilitando ler e escrever dados para o facebook. Ela provê um modo simples de visualizar o social graph (likes, fotos, eventos e páginas) e conexões entre elas (amizades, likes e tags de fotos).
- Authentication - A autenticação possibilita que uma aplicação interaja com a Graph API com a autorização dos usuários do facebook, e ela provê um sistema de sign-in unificado, cruzando sites, celulares e aplicativos desktop.
- Social plugins - Permite que o usuário você veja o que o que os outros gostaram, comentaram ou compartilharam em sites em toda a web.
- Open graph protocol - Possibilita a integração de páginas ao social graph. Estas páginas ganham a funcionalidade de outros objetos que incluem o link de perfis e as novidades de usuários conectados.
A escolha das ferramentas e serviços utilizados no projeto pode sofrer alterações, mas atualmente conta com os seguintes itens.
- Gerenciamento do projeto
- Trello (https://trello.com/)
- Plataforma
- Google Engine (https://developers.google.com/appengine/)
- Serviços a serem integrados
- Google Maps (https://developers.google.com/maps/)
- Facebook (http://developers.facebook.com/)
- Google OpenId (https://developers.google.com/accounts/)
- Criação de artefatos visuais:
- Cacoo(https://cacoo.com/).
domingo, 31 de março de 2013
Análise Inicial
A definição inicial da solução segue a seguinte estrutura:
Para criação de uma solução/produto minimamente viável, nosso projeto será dividido em duas partes:
- A criação de uma máquina social (LOOKAT) que tenha como principal responsabilidade a interação entre clientes e fornecedores de produtos e/ou serviços, com foco na localização.
- O desenvolvimento de uma aplicação (LOOKATME) que demonstre a potencialidade de nossa máquina social LOOKAT.
- LOOKATME - é a aplicação que será desenvolvida como um produto minimamente viável, que apresente as potencialidades da plataforma LOOKAT. A aplicação oferecerá funcionalidades que permitam interação entre clientes e fornecedores de produtos e/ou serviços. Como demonstração de utilização de alguns recursos que serão oferecidos pela plataforma LOOKAT, a aplicação LOOKATME poderá oferecer funcionalidades como (as funcionalidades que serão realmente implementadas ainda não foram definidas):
- Clientes
- Search - Os clientes a partir de um serviço de localização poderá encontrar fornecedores de produtos e/ou serviços. Para filtrar o que o cliente irá enxergar, ele informará o que busca e os limites da área geográfica que procura.
- Listen - A partir do momento que o cliente informar seu interesse ele passará a "ouvir" as ofertas na região que busca.
- Offer Information - oferecer informações que permitam posteriormente traçar seu perfil de consumidor.
- See Network Recommendation - visualizar resultados a partir de recomendação de outros clientes.
- Produtos e/ou Serviços
- Talk - estarão se anunciando constantemente para quem quiser "ouvir".
- Analyze Region - terá resultados (inicialmente básicos) sobre região que mais os procuram, possibilitando até mesmo traçar o perfil dos consumidores.
- See In Real Time - através do serviço de localização poderão visualmente identificar quem está "ouvindo" suas ofertas naquele momento.
- See Network Influence - ver a influência da rede, permitindo posteriormente estratégias para marketing viral por exemplo.
- LOOKAT - representa a máquina social que oferecerá recursos utilizados para construção da aplicação LOOKATME. Essa plataforma utilizará como principal recurso a localização dos usuários, para isso, será utilizado o google maps, além do google maps outras máquinas sociais também serão utilizadas para construção da solução. A definição das máquinas sociais a serem utilizadas será feita no decorrer do projeto, para exemplificar, segue algumas possíveis máquinas sociais: Facebook, Twitter Google OpenID, Recommendation, etc.
- IPS - Será processada todas informações coletadas a partir da interação entre as máquinas sociais utilizadas, possibilitando a implementação das funcionalidades oferecidas na aplicação LOOKATME, deve-se destacar que as informações processadas serão oferecidas de uma forma que permita a interoperabilidade, assim, poderemos, por exemplo, oferecer as informações sobre recomendação a partir documentos JSON. Essa forma de interoperabilidade permitirá que outras aplicações sejam feitas futuramente, como, por exemplo, LOOKATBUS, LOOKATTAXI, LOOKATDOCTOR, etc.
- Hulks - Serão todos que vão interagir através das possíveis aplicações, no foco de nossa solução, os Hulks são representados pelos clientes e fornecedores de produtos e serviços.
sexta-feira, 29 de março de 2013
Definições do Projeto
Sobre o Negócio:
Registro de Material:
Para o gerenciamento no desenvolvimento de diagramas, fluxogramas, mapa mental será usada uma ferramenta on-line chamada Cacoo(https://cacoo.com/).
O quê?
Um plataforma web para aproximar clientes de produtos e serviços, de forma integrada e aberta com outras máquinas sociais.
Para quê?
Para fornecer serviços de busca de produtos e serviços por localização, recomendação e qualificação da rede, consulta de informações de consumo e opinião por cliente (preservando a identidade dos compradores) de forma integrada com outras plataformas (mashups).
Para quem?
Clientes
e fornecedores de serviços e/ou produtos
Como?
Ainda sendo amadurecido.
Ferramentas:
Hospedagem na Nuvem
A plataforma da aplicação será hospedada no Heroku (https://www.heroku.com/)
Controle de Versão
Para gerenciar o controle de versão será usado o SVN.
Hospedagem do Projeto
O projeto será hospedado no Google Code(https://code.google.com/p/ lookatmeproject/ ). Pois já nos fornece uma plataforma para códigos abertos.
Registro de Material:
Para o gerenciamento no desenvolvimento de diagramas, fluxogramas, mapa mental será usada uma ferramenta on-line chamada Cacoo(https://cacoo.com/).
Licença:
As licenças do projeto serão:
- OpenSource
- Licença do Creative Commons:
- Attribution-NonCommercial-NoDerivs (CC BY-NC-ND) - Permite que os outros façam o download de suas obras e compartilhem-nas desde que deem crédito a você, não as alterem ou façam uso comercial delas.
Planejamento de Atividades:
- Para o acompanhamento das atividades do projeto será usada uma ferramenta chamada Trello(https://trello.com/ ). Onde basicamente serão colocadas as atividades das sprints semanais e o responsável por cada atividade.
- Iremos adotar o sistema de trabalho remoto, onde a maioria do acompanhamento será pela ferramenta dita no item anterior. Quando necessário serão marcadas reuniões via conferência. P.S.: pelo planejamento ainda não vimos a necessidade de reuniões presenciais.
- Estamos organizando as atividades pela sua independência. Para que nenhum integrante da equipe fique "amarrado" e totalmente responsável por uma parte específica do projeto.
Assinar:
Postagens (Atom)