Metodologias Ágeis Para Desenvolvimento De Aplicações Móveis
Transcrição
Metodologias Ágeis Para Desenvolvimento De Aplicações Móveis
Metodologias Ágeis Para Desenvolvimento De Aplicações Móveis Agile Methodologies For Mobile Applications Development Helcio Alves Barbosa Júnior1 Shayenne Michelle Ribeiro Santos2 Nelson Ribeiro de Carvalho Júnior3 Resumo: Este artigo trata de Metodologias Ágeis para Desenvolvimento de Aplicações Moveis. Este tema tem representado uma tarefa desafiadora tendo-se em vista às exigências específicas e limitações técnicas de desenvolvimento de software voltado para as plataformas móveis. Devido a uma série de fatores que torna sua execução e aproximação diferenciada em relação ao desenvolvimento de aplicações tradicionais.Poucosabese as metodologias existentes atualmente podem se adequar a estes projetos. Realizou-se uma pesquisa do tipo bibliográfica para esclarecer este tema. O estudo permitiu analisar a abordagem Mobile-D, uma metodologia especifica para desenvolvimento de aplicações móveis, e relaciona-lo com o MASAN e o Scrum. Palavras-Chaves: Mobile-D, Desenvolvimento Ágil, Dispositivos móveis, MASAM, Scrum. Abstract: This paper adresses to the Methodologies for Mobile Applications Development. This theme has been posing as a challenging task towards the specific needs and constraints of software development focusing mobile platforms. Due to a series of factors which hinders the approach and execution quite different from traditional application development. Little is known if the current methodologies can adapt themselves to those projects. A research was made in order to enlighthen this issue. This study allowed to analyse the Mobile-D approuch, a methodology specified to the development of monile applications, and relate it to MASAN and Scrum. Keywords: Mobile-D, Agile Development, Mobile Devices, MASAM, Scrum. 1 Introdução Constitui-se como tema deste artigo as metodologias ágeis utilizadas no desenvolvimento de aplicações para dispositivos móveis como smartphones e tablets. No final dos anos 90, com a popularização dos aparelhos celulares digitais e um pouco mais tarde o desenvolvimento das tecnologias de transmissão de dados nestes dispositivos, quando uma atenção maior estava se manifestando em torno de aplicações voltadas para o uso em dispositivos moveis. Esta tendência ganhou força 1 Graduando do curso de Sistema de Informação - Faculdade Inforium de Tecnologia - Belo Horizonte / MG - E-mail: [email protected] 2 Graduando do curso de Sistema de Informação - Faculdade Inforium de Tecnologia - Belo Horizonte / MG - E-mail: [email protected] 3 Mestre em Modelagem Matemática e Computacional pelo Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG) e Prof. da Faculdade Inforium de Tecnologia - Belo Horizonte / MG - E-mail: [email protected] Revista Pensar Tecnologia, v.4, n.2, jul. 2015 juntamente com a melhora exponencial dos recursos de hardware destes dispositivos. Os dispositivos móveis como smartphones e tablets nos dias de hoje tem feito parte das ferramentas de trabalho de muitos profissionais em diversas áreas, e seus aplicativos, tem oferecido alternativas para estações de trabalho e muitas aplicações utilizadas no ambiente corporativo. Com isso, é de se esperar que o desenvolvimento de software voltado para as plataformas móveis traz consigo uma série de fatores que torna sua execução e aproximação diferenciada em relação ao desenvolvimento de aplicações para o desktop e para a web, modalidades estas consideradas tradicionais. Estas divergências estão principalmente no ambiente de desenvolvimento e nas técnicas envolvidas no processo, já que os dispositivos móveis possuem diversas versões de sistema operacional, tamanho de tela, capacidades de hardware, além do fato de que, diferentemente das aplicações desktop e web possuem limitações. A definição do tema foi feita tendo em vista como o mercado de dispositivos móveis tem crescido nos anos e como o volume de novas tecnologias, novos dispositivos e novos recursos a serem explorados tem se expandido com este crescimento da demanda por aplicações móveis. O objetivo geral é apresentar as metodologias que podem ser utilizadas para desenvolvimento de aplicações para dispositivos móveis. Existem atualmente diversas metodologias e formas de se conduzir um projeto de desenvolvimento, são objetivosespecíficos definir e conceituar as metodologias abordadas neste artigo, levando em consideração seus riscos e benefícios, uma vez que há tamanha dinamicidade neste mercado. A pergunta norteadora deste estudo é no sentido de investigar se as metodologias de desenvolvimento existentes atualmente se aplicam avertente móvel de desenvolvimento. No esforço de elucidar a discussão acerca desta questão, este artigo procurou fazer uma comparação entre três destas metodologias, levando-se em consideração a presença no mercado e no círculo acadêmico, são elas: o Scrum, Revista Pensar Tecnologia, v.4, n.2, jul. 2015 Mobile D e o Mobile Application Software Development Based on Agile Methodology (MASAM). Para compreensão deste tema dividiu-se este artigo em cinco seções. A seção 1, esta introdução, e indicativa de estudo; a seção 2 apresenta a abordagem teórica; a seção 3 aborda Desenvolvimento de Aplicações Móveis; a seção 4 elabora a discussão referente às metodologias examinadas; a seção 5 tece as conclusões do artigo. 2 Abordagem teórica sobre Metodologias para Desenvolvimento de Aplicações Móveis O desenvolvimento de software voltado para as plataformas móveis traz consigo uma série de fatores que torna sua execução e aproximação diferenciada em relação ao desenvolvimento de aplicações para o desktop e para a web, modalidades estas consideradas tradicionais. Estas divergências estão principalmente no ambiente de desenvolvimento e também nas técnicas envolvidas no processo, uma vez que os dispositivos móveis possuem diversas versões de sistema operacional, tamanho de tela, capacidades de hardware, além do fato de que, diferentemente das aplicações desktop e web possuem limitações. De acordo com Spataru (2010) estas limitações existem em dois tipos: limitações em evolução e inerentes. As limitações em evolução são, por exemplo, a largura de banda, que apesar de ser de certa forma limitada atualmente, com a evolução das tecnologias aplicadas, esta limitação pode deixar de existir em um futuro próximo. Por outro lado, limitações inerentes como tamanho diminuto da tela, capacidade reduzida de inserção de dados (uso de tela sensível ao toque), capacidade de memória, poder de processamento e reserva limitada de energia. Além destas limitações citadas, existe também o fato de que as aplicações móveis fazem parte de um modelo de negócio particular como afirma Maurer (1999) que prevê alta competitividade e alta distribuição através das chamadas app stores, lojas virtuais mantidas atualmente pelos mantenedores dos sistemas operacionais móveis como o Google e a Apple Computers ou grandes empresas do ramo como o Amazon e a Nokia. Conforme Glissmann (2005) e Hammershoj (2010) estes fatores Revista Pensar Tecnologia, v.4, n.2, jul. 2015 requerem um elo com as praticas de desenvolvimento para auxiliar na produção de softwares capazes de competir neste ambiente. O ritmo acelerado deste mercado define a necessidade de ter processos leves que facilitem as mudanças e a adoção de novas tecnologias. No ano de 2003, introduziu-se uma discussão a respeito da pertinência dos métodos ágeis para a satisfação dos objetivos do desenvolvimento de aplicações móveis (ABRAHAMSSON, 2003). Mais tarde, Abrahamsson (2005) mostrou através do mapeamento entre temas do Ágil e diversas facetas observadas pelo desenvolvimento de software móvel. Este mapeamento feito por Abrahamsson permitiu que fosse entendido o porque dos métodos Ágeis serem uma solução competente na implementação de processos de desenvolvimento de software na vertente móvel conforme pode ser visto na tabela 1. Tabela 1. Mapeamento entre temas do ágil e o desenvolvimento de software móvel. Característica ideal do Ágil Desenvolvimento de Software Móvel Alta volatilidade do ambiente Ambiente dinâmico: centenas de aparelhos móveis lançados a cada ano Time desenvolvedores pequeno A maioria dos softwares móveis é desenvolvida por micro ou pequenas empresas ou times de desenvolvimento Cliente identificável Número potencialmente infinito de usuáriosfinais Desenvolvimento orientado a objeto Java e C++ utilizadas novos são as principais linguagens A maioria das aplicações existentes são para Software cuja o requisito de segurança é propósitos de entretenimento. Terminais móveis considerado não critico não são confiáveis. Software de nível de aplicação Aplicações móveis são aplicações autônomas Sistemas pequenos O tamanho das aplicações móveis variam mas geralmente possuem menos que 10.000 linhas de código Pequenos ciclos de desenvolvimento Geralmente aplicações móveis e serviços podem se desenvolvidos em um intervalo de 1 a 6 meses. Fonte: Abramhansson (2005). Revista Pensar Tecnologia, v.4, n.2, jul. 2015 3 Desenvolvimento de Aplicações Móveis Entregar um software que satisfaça o cliente em suas expectativas em relação a funcionalidades, prazos e custos ainda é um desafio nos dias atuais. Até pouco tempo, a maioria dos projetos de software eram baseados no modelo de cascata, onde existe uma grande fase de planejamento e documentação, com o objetivo de dar suporte ao desenvolvimento subsequente. Este modelo torna difícil a implantação de mudanças durante o ciclo de vida do software, já que exige uma revisão em todo o planejamento. Metodologias ágeis são uma alternativa as abordagens tradicionais que nasceram em um contexto de desenvolvimento de software muito diferente do atual. O termo “Metodologia Ágil” surgiu em 2001, quando um grupo de profissionais na área de software decidiram se reunir para discutir formas de melhorar as práticas de desenvolvimento. O resultado deste encontro foi a criação do Manifesto para o Desenvolvimento Ágil de Software, onde os princípios chave são: Indivíduos e interações mais que processos e ferramentas, software em funcionamento mais que documentação abrangente, colaboração com o cliente mais que negociação de contratos, responder a mudanças mais que seguir um plano (Agile Alliance, 2001). A base metodológica é fundamental para possibilitar bons resultados e o uso de métodos ágeis no desenvolvimento de software traz vantagens como: cria um ambiente propicio para mudanças durante o ciclo de vida do produto, é mais colaborativo e produtivo, resulta em entregas mais rápidas de produtos e com a qualidade esperada; facilitam o gerenciamento do projeto, uma vez que existe uma maior integração e comprometimento da equipe; minimiza os riscos com o gerenciamento constante do projeto; valoriza a satisfação do cliente. Segundo Pressman (1995), para que um projeto de software seja bem sucedido, é necessário que alguns parâmetros sejam corretamente analisados, como por exemplo, o escopo do software, os riscos envolvidos, os recursos necessários, as tarefas a serem realizadas, os indicadores a serem acompanhados, os esforços e custos aplicados e a sistemática a ser seguida. No entanto, apesar de o desenvolvimento tradicional para desktop ter semelhanças com o desenvolvimento móvel, este ultimo apresenta características que o torna mais complexo como: Revista Pensar Tecnologia, v.4, n.2, jul. 2015 crescente variedade de plataformas (Android, IOS, Windows Mobile, BlackBerry, etc.); diferentes modelos de hardware; resolução e tamanho de tela; memória e processador; comunicação de rede; consumo de bateria, entre outros. Em Abrahamsson (2005), o autor realiza uma comparação entre as características dos métodos ágeis e os recursos de aplicações móveis, com foco na volatilidade do ambiente, quantidade de documentação produzida, quantidade de planejamento envolvido, tamanho das equipes de desenvolvimento, tamanho da aplicação em desenvolvimento, identificação do cliente, e orientação a objetos. Todas estas características tornam os métodos ágeis adequados para o desenvolvimento de aplicativos móveis. Para selecionar as metodologias abordadas neste artigo, foi utilizado como critério: a) se a abordagem pode ser aplicada em projetos de desenvolvimento móvel; b) se faz uso de práticas ágeis; c) se seus conceitos já foram publicados em revistas ou apresentados em conferências internacionais. Como resultado destacouse três abordagens: Mobile-D, MASAM e Scrum. - Mobile-D O Mobile-D foi introduzido em 2004 como uma metodologia de desenvolvimento inspirada nas abordagens Extreme Programming (XP), Crystal Methodologies e Rational Unified Process (RUP). De acordo com (ABRAHAMSSON, et al., 2004), o Mobile-D deve ser usado por uma equipe de no máximo dez desenvolvedores co-localizados, trabalhando com entregas de produto no prazo de dez semanas. O Mobile-D esta estruturado em cinco fases e cada fase implica um sprint, sendo elas: Explore, Initialize, Productionize, Stabilize e System Test & Fix. Cada uma destas fases possuem uma serie de etapas e práticas associadas. As especificações completas do método estão disponíveis em (VTT Electronics, 2006). Durante a fase Explore, a equipe deve gerar um plano e estabelecer as características do projeto. Isto é feito em três etapas: identificar as partes interessadas, definir o escopo e estabelecer o projeto. Na segunda fase, Initialize, a equipe de desenvolvimento e as partes interessadas devem compreender o produto em desenvolvimento e preparar os recursos essenciais para as atividades de produção, como recursos físicos, Revista Pensar Tecnologia, v.4, n.2, jul. 2015 tecnológicos e de comunicação. Isto é feito em três etapas: configuração do projeto, planejamento inicial e dia de avaliação. A terceira fase, Productionize, compreende principalmente as atividades de implementação. Ao final desta fase a maior parte da aplicação deverá estar completa. Esta fase é dividida em três etapas: dias de planejamento, dias de trabalho e dias de lançamento. Em dias de planejamento entre outras tarefas são criados testes de aceitação que serão executados mais tarde, em dias de lançamento. As fases finais, Stabilize e System Test & Fix, apresentam estágios semelhantes a fase Productionize, porém com algumas modificações. Estas duas fases são utilizadas para finalização e testes do produto. Figura 1 representa as fases e etapas do Mobile-D. Revista Pensar Tecnologia, v.4, n.2, jul. 2015 Figura 1. Mobile-D fases e etapas. Fonte: VTT Electronics (2006). A utilização da abordagem Mobile-D em projetos de desenvolvimento tem apresentado vantagens como descoberta e reparação de problemas técnicos mais cedo, baixa densidade de defeitos no produto final e um progresso constante no desenvolvimento (ABRAHAMSSON, et al., 2004). - MASAM Mobile Application Software Development Based on Agile Methodology (MASAM), este método é baseado em Extreme Programming (XP), Rational Unified Process (RUP) e Systems Process Engineering Metamodel (SPEM). A estrutura e a implementação do MASAM apresentam um forte embasamento com o Mobile-D, possuindo pequenas variações. Assim como o Mobile-D, o MASAM segue um ciclo de vida simples, formado por quatro fases, que são: Preparation, Embodiment, Development e Commercialization.Conforme figura 2. Revista Pensar Tecnologia, v.4, n.2, jul. 2015 Figura 2. Fases e atividades do MASAM. Fonte: elaboração do autor. A fase Preparation define uma primeira noção do produto e atribui funções e responsabilidades aos membros da equipe. A fase Embodiment se concentra em compreender as necessidades do usuário e definir a arquitetura do software. A fase Development, corresponde ao desenvolvimento da aplicação e se beneficia de princípios ágeis tradicionais para suprir uma sequencia iterativa de Extreme Programming (XP). A implementação do produto de software é feita através de: Test Driven Development (TDD), Pair Programming, Refactoring e ContinuousIntegration, com um relacionamento íntimo com atividades de teste iterativo. A fase Commercialization se concentra em tarefas de venda do produto (JEONG, et al., 2008). - Scrum O Scrum é uma framework estrutural que vem sendo utilizado desde o inicio da década de 1990, em sua utilização é comum ser combinado com outra metodologia ágil. O Scrum é fundamentado em teoriasempíricas de controle de processo. O empirismo acredita que o conhecimento vem da experiência. No Scrum três pilares apoiam a implementação de controle de processo: transparência, inspeção e adaptação. Revista Pensar Tecnologia, v.4, n.2, jul. 2015 O Scrum é composto pelo Product Owner, o Time de Desenvolvedores e o Scrum Master. O Product Owner é o dono do produto e é a única pessoa responsável por gerenciar o Backlog do produto. O Time de Desenvolvimento, consiste em profissionais que realizam o trabalho de entregar uma versão usável que potencialmente incrementa o produto “Pronto” ao fim de cada Sprint. O Scrum Master é o responsável por garantir que o Scrum seja entendido e aplicado pelo time. O Scrum utiliza iterações com duração entre uma a quatro semanas, chamadas Sprints. A quantidade de Sprint varia de acordo com a complexidade e o tamanho da aplicação. Cada Sprint tem a definição do que deverá ser construído, o plano que irá guiar a construção, o trabalho e o resultado do produto. Durante uma Sprint não são introduzidas modificações o que permite que a equipe trabalhe em um ambiente de curto prazo, mas estável. Ao final da Sprint um produto funcional é entregue e os recursos pendentes são encaminhados para a próxima iteração. A Figura 2 apresenta as fases do Scrum.Para acompanhar o andamento do projeto e prever o progresso são utilizadas técnicas como o burndown, burnup, entre outras.. As especificações completas do método estão disponíveis em (Guia do Scrum, 1991). Figura 2. Fases do Scrum. Fonte: Adaptado de “Agile Software Development with Scrum”, (2002). Revista Pensar Tecnologia, v.4, n.2, jul. 2015 Scharff e Verma (2010), realizaram um estudo a respeito da eficácia do Scrum em projetos de desenvolvimento de aplicações móveis. Neste estudo eles avaliaram a adoção do Scrum e as dificuldades encontradas pelas equipes que o utilizam pela primeira vez. Os autores propõem a usar o Scrum para desenvolvimento de aplicações móveis assumindo que os aplicativos móveis são simples, centrados em atividades, com número restrito de ações e desenvolvidos por pequenas equipes em curtos períodos. 4 Discussão: análise das metodologias examinadas As metodologias analisadas neste artigo, oferecem diferentes conjuntos de práticas que procuram atingir um o objetivo de auxiliar no desenvolvimento de um produto de software para dispositivos móveis em um curto período de tempo. Apesar de todas elas apresentarem um contato que convergem em relação ao desenvolvimento ágil, elas deixam em aberto como lidar com situações específicas do ambiente em que habitam as aplicações móveis. Outro aspecto é a falta de evidências acerca da aplicabilidade das metodologias em um cenário nãoacadêmico, e também o fato de que algumas destas metodologias terem sido criadas em uma época onde alguns dos termos chave do desenvolvimento móvel simplesmente não existiam ou não eram difundidos ou remetiam a tecnologias ainda não disponíveis no mercado. Termos como serviços baseados em localização, app stores, iOS, Android, NFC, entre outros. No intuito de validar se as metodologias realmente suprem as necessidades do ambiente móvel, foi necessário umas análise mais minuciosa das possibilidades oferecidas por cada método. Para tal, dividimos a discussão em três diferentes áreas que representam cada aspecto do ambiente das aplicações móveis: a) Ambiente de negócio, b) Ambiente operacional e c) Adequação à evolução do ambiente das aplicações móveis. a) Ambiente de negócio As metodologias ágeis, de forma geral, têm como seus principais valores o foco no produto que está sendo desenvolvido, a capacidade de resposta rápida e eficiente no surgimento de mudanças e principalmente na aproximação com o Revista Pensar Tecnologia, v.4, n.2, jul. 2015 cliente. As metodologias ágeis ao serem implementadas, permitem adaptar processos e praticas para irem de encontro com as necessidades do desenvolvimento móvel. Os aplicativos móveis precisam ser desenvolvidos de forma rápida e com custo minimizado para que tenha sucesso num mercado onde ao invés de um público bem definido, existem milhões de usuários em potencial e uma oferta de milhões de outros produtos, muitas vezes explorando a mesma necessidade a qual o software desenvolvido procura atender. Quanto as metodologias analisadas, nenhuma apresentou de forma concreta e especifica adequabilidade quanto a este no que se diz respeito ao desenvolvimento móvel. Elas focam no ganho proveniente a utilização de suas vantagens em relação as metodologias tradicionais (não-ágeis) e quando necessário cobrir algum aspecto especifico, os autores incluem práticas de outros frameworks, até mesmo de métodos de desenvolvimentos não-ágeis com base no planejamento e controle de qualidade por meio de estatísticas. b) Ambiente operacional No que tende a Ambiente operacional, as metodologias analisadas afirmam ter capacidade de tratar das necessidades e limitações do desenvolvimento de aplicações móveis. No entanto, de acordo com as publicações referenciadas de cada metodologia, as propostas apresentadas tem seus benefícios através de processos e práticas, não levando em consideração problemas que possam surgir em tempo de implementação que sejam atrelados às limitações do desenvolvimento de software móvel. Diante disto, se conclui que as práticas ágeis enquanto atendem prontamente o aspecto de negócio do desenvolvimento, deixam a desejar na tarefa de disponibilizar um framework de implementação do produto, se limitando ao máximo em prover uma linha de base na área de design de aplicações para auxiliar na criação de um produto compatível com o mercado. a) Adequação à evolução do ambiente das aplicações móveis. A evolução de tudo que envolve computação móvel (software, hardware e modelos de negócio) trouxe enormes avanços nos últimos anos. Contudo, a aplicabilidade do mapeamento feito por Abrahamsson (2005) é um pouco tanto Revista Pensar Tecnologia, v.4, n.2, jul. 2015 controverso nos dias de hoje. Citando algumas diferenças que podem ser citadas são: - software móvel ainda é desenvolvido por times pequenos, mas também fazem parte da estratégia de negócio de grandes grupos corporativos; - os principais sistemas operacionais (iOS, Android, Windows RT) possuem kits de desenvolvimento disponibilizados pelos próprios desenvolvedores dos sistemas e disponibilizados para a comunidade; - as aplicações agora incluem monitores cardíacos e aplicativos de mobile banking que precisam seguir padrões rígidos para entrar em serviço e não podem ser classificados como não-critico; - as aplicações não são mais apenas autônomas, muitas aplicações interagem com outros sistemas; - as aplicações não são mais exatamente pequenas por definição. De modo geral, observa-se que os frameworks atuais de desenvolvimento ágil, tem cada vez mais utilizado práticas adaptadas de metodologias baseadas em planejamento como elaboração e armazenamento de documentação de projeto e registros. Atualmente consta-se que há uma tendência das metodologias ágeis de combinar práticas leves de desenvolvimento com pesadas metodologias de controle de qualidade. Metodologias publicadas recentemente tem focado em estratégias inteligentes ao definir quais práticas ágeis utilizar e em quais situações, levando em consideração suas vantagens e desvantagens. 5 Conclusão As metodologias ágeis apesar de serem as mais adequadas para o desenvolvimento de aplicações móveis no que tange processos e tendências de negócio, não apresentam de forma clara um benefício palpável em relação as limitações de recurso impostas pela plataforma. Estas limitações ao que tudo indica, devem ser superadas através de técnicas específicas de domínio da parte de desenvolvimento. Como foi visto na discussão, a documentação científica que associa os temas ágeis e as características das aplicações móveis que existe atualmente já não Revista Pensar Tecnologia, v.4, n.2, jul. 2015 representa de forma precisa o cenário atual. A evolução das tecnologias e o aumento da importância dos dispositivos móveis, principalmente após o lançamento do Android e do iOS, e também com a popularização dos smartphones e tablets a demanda por aplicação móveis cresceu exponencialmente, alterando o cenário de estudo. Os smartphones e tablets estão aos poucos deixando de serem simples ferramentas de comunicação e assumindo o lugar de principais equipamentos de computação para o usuário final. Por isso, a compreensão do contexto e das estratégias de engenharia de software voltadas para a plataforma móvel é deve ser o principal fator encorajador de novas pesquisas. Atualmente existem poucas publicações a respeito do assunto, e a maioria das que existem não possuem vantagens comprovadas de forma empírica e devidamente documentada. A pesquisa voltada a engenharia de software móvel colabora não só para a melhora dos processos de desenvolvimento, como também ajuda a produzir aplicações melhores, o que mostra que a condução de uma pesquisa baseada em evidências é de suma importância para abranger o conhecimento neste campo que cresce a cada ano. REFERÊNCIAS ABRAHAMSSON, P., et al. New Directions on Agile methods: a comparative analysis. In: International Conference on Software Engineering. Portland, Oregon: 2003. p. 244-254. ABRAHAMSSON, P., et al. Mobile-D: an agile approach for mobile application development. In: Conference on Object Oriented Programming Systems Languages and Application; Companion to the 19th annual ACM SIGPLAN conference on Object-Oriented Programming Systems, Languages and Applications. Vancouver: 2004. p. 174-175. ABRAHAMSSON, P. Mobile Software Development: the Business Opportunity of Today. In: Proceedings Of The International Conference On Software Development. Reykjavik: 2005. p. 20-23. Agile Alliance (2001). Agile Software Development Manifesto. Disponivel em: <http://agilemanifesto.org/>. Acesso em: 24 ago 2014. Revista Pensar Tecnologia, v.4, n.2, jul. 2015 GLISSMANN, S., et al. Proposition of an M-Business Procedure Model for the Development of Mobile User Interfaces. In: Proceedings of the Fourth International Conference on Mobile Business. Sydney, Australia: 2005. p. 308-314. HAMMERSHOJ, A.; SAPUPPO, A.; TADAYONI, R. Challenges for Mobile Application Development. In: International Conference on Intelligence in Next Generation Networks. Berlin: 2010. p. 1-8. JEONG, J.; LEE, H.; SHIN, S. Development Process of Mobile Application SW Based On Agile Methodology. In: 10th International Conferenceon Advanced Communication Tech. 2008. p. 362-366. MAURER, F., et al. Software Process Support Over the Internet. In: International Conference on Software Engineering. 1999. p. 642-645. Normas da ABNT: Citações e Referências Bibliográficas. Disponivel em: <http://www.leffa.pro.br/textos/abnt.htm#5.16.4>. Acesso em: 20 nov. 2014. PRESSMAN, R. S. Engenharia de Software. São Paulo: Makron Books, 1995. SCHARFF, C.; VERMA, R. Scrum to Support Mobile Application Development Projects in a Just-in-Time Learning Context. In: Of the ICSE Workshop Chase. 2010. p. 25-31. SCHWABER, K; BEEDLE, M. Agile Software Development with scrum. New Jersey:Prentice Hall, 2002. SCHWABER, K.; SUTHERLAND, J. Um Guia Definitivo Para o Scrum: As Regras Do Jogo. Disponível em: <http://www.scrumguides.org/docs/scrumguide/v1/Scrum-Guide-PortugueseBR.pdf>. Acesso em: 25 out. 2014. SHIRATUDDIN, N.; SARIF, S. MD-Matrix: Mobile Application Development Tool. In: Of the International MultiConference of Engineers and Computer Scientists. 2008. SPATARU, A. Agile Development Methods for Mobile Applications. 2010. Dissertação de Mestrado. University of Edinburgh. VTT Electronics. (2006). Portal of Agile Software Development Methodologies. Disponível em: <http://virtual.vtt.fi/virtual/agile/mobiled.html> .Acesso em: 26 out. 2014. YAMAKAMI, T. Business Model Engineering Analysis On Mobile Client-Side Software Platform Strategies. In: 7th International Conference on Mobile Business. 2008. p. 59-64. Revista Pensar Tecnologia, v.4, n.2, jul. 2015