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