• Nenhum resultado encontrado

Este experimento controlado realizou o desenvolvimento de três aplicações iguais, por três times distintos. Cada time adotou, por sorteio, um dos seguintes métodos: Scrum, XP e um método híbrido de Scrum com XP. Em seguida foi realizado um survey com profissionais experientes em TVD visando coletar a opinião da indústria sobre o processo de desenvolvimento de aplicações para TVD.

Os times envolvidos foram nivelados de forma homogênea, de acordo com seu grau de conhecimento e experiência sobre as tecnologias utilizadas. Esse nivelamento minimiza as variáveis que influenciam nos resultados, permitindo sua comparação.

Os resultados obtidos fornecem indícios de que os métodos ágeis investigados podem auxiliar no desenvolvimento de aplicações para TVD, pois, de modo geral, sua avaliação foi positiva (acima da média). Dentre os métodos investigados, o método Híbrido (Scrum junto com XP) foi aquele que obteve melhor desempenho sobre as variáveis quantitativas (tempo) e qualitativas (adequação), respondendo, desta forma, às questões de pesquisa (Q1 e Q2).

Porém, ainda existem pontos de melhoria que devem ser adaptados aos métodos ágeis para suprir demandas específicas dessa plataforma.

Dentre os pontos de melhoria levantados destacaram-se as necessidades de apoio às atividades de coleta de requisitos de mídia e definição de fluxo e sincronismo de mídias. Para isso, é necessário que tais conteúdos sejam devidamente coletados como requisitos da aplicação. Devido à sua especificidade, tais características não são previstas nas metodologias levantadas na literatura, fazendo-se necessário uma atenção especial no processo de desenvolvimento.

Dentro das limitações deste experimento, os resultados obtidos fornecem indícios da possibilidade de refutar as Hipóteses Nulas H0 e H1 e as Hipóteses alternativas H3 e H4, corroborando com as Hipóteses alternativas H2 e H5, apresentadas no início do presente capítulo. No entanto, tais resultados não são absolutos. Dependendo do contexto do time de desenvolvimento e da necessidade do projeto de software, é possível que o desempenho dos métodos obtenha resultados diferentes.

Vale ressaltar que os times envolvidos neste primeiro experimento eram relativamente inexperientes com as linguagens NCL, Lua e as demais ferramentas utilizadas para desenvolver aplicações para TVD. Diante disso, é provável que times mais experientes contabilizem valores absolutos menores sobre o tempo de desenvolvimento. No entanto, é provável que a diferença entre os métodos mantenha-se proporcional aos valores apresentados neste experimento.

A experiência e conhecimento dos desenvolvedores da indústria que participaram do survey foram fundamentais para coletar uma perspectiva profissional a respeito do desenvolvimento de aplicações para TVD, oferecendo dados complementares a este experimento. Através do survey foi possível constatar que não existe um consenso sobre um método de desenvolvimento preferido pelos desenvolvedores profissionais. A diversidade dos métodos utilizados, associada à elevada quantidade de desenvolvedores que não utiliza qualquer método de desenvolvimento, reforça os indícios que os métodos disponíveis na literatura não oferecem suporte suficiente para

serem adotados, fomentando a necessidade de um método que atenda às peculiaridades do desenvolvimento de aplicações para TVD.

O survey apontou que a grande variedade de documentos utilizados para representar aplicações para TVD também pode indicar que não existe um documento preferido. Os documentos utilizados são tradicionais na indústria de software, como documentos de requisitos e técnicas de prototipagem de baixo nível de fidelidade, mostrando uma lacuna que pode ser preenchida por um documento específico, customizado para aplicações de TVD.

A experiência prática dos participantes do survey sobre desenvolvimento de aplicações para TVD, juntamente com os resultados deste experimento e a revisão da literatura, forneceram indícios que possibilitaram a especificação e a formalização do método XDTv apresentado no próximo capítulo.

___CAPÍTULO___

5

5..

5. O

M

ÉTODO

XDT

V

"Minuto de queixa é minuto perdido, arruinando talentos preciosos para a solução do problema." Chico Xavier

método eXtreme Digital Television (XDTv) foi especificado através da análise, formalização e estruturação de boas práticas existentes no desenvolvimento de software. Para isso, conforme apresentado anteriormente, foram coletados dados de três diferentes perspectivas: a) levantamento bibliográfico; b) experimentos controlados; e c) survey com desenvolvedores experientes.

O XDTv pode ser classificado como um método ágil, híbrido e customizado. Trata-se de um método ágil, pois segue a filosofia estabelecida pelo Manifesto Ágil (BECK et al., 2001). Híbrido, pois agrega técnicas utilizadas por métodos já existentes na engenharia de software. Customizado, pois seu modelo de processo, ciclo de vida e artefatos são adaptados com o objetivo de auxiliar no trato das peculiaridades inerentes ao desenvolvimento de aplicações para TVD, tais como: coleta de requisitos multimídias, rapidez no desenvolvimento, agilidade na alteração de requisitos e auxilio na comunicação de profissionais com diferentes perfis, conforme apresentado no Capítulo 1. Diante disso, o método XDTv estabelece os seguintes requisitos:

 Auxiliar nas atividades de planejamento, coleta e especificação de requisitos e implementação;

 Auxiliar na implementação da aplicação;

 Auxiliar na velocidade do desenvolvimento do projeto;

 Oferecer um ciclo de vida que permita antecipar a identificação de falhas durante as atividades desenvolvidas; e

 Oferecer um modelo de processo capaz de se adaptar a possíveis alterações de requisitos de modo a não inviabilizar a entrega do projeto ou extrapolações do seu orçamento.

Visando atender aos requisitos supracitados, a especificação do método XDTv apresenta as seguintes seções: 5.1) artefatos específicos, sendo um protótipo de baixo nível de fidelidade (Protótipo de Aplicações para TV - PATv), e um modelo utilizado para especificar detalhes da implementação das aplicações multimídia (Modelo de Fluxo e Sincronismo de Mídias - MFSM); 5.2) papéis/atores envolvidos e suas atribuições; e 5.3) modelo de processo e o ciclo de vida do método, responsáveis por estruturar suas atividades.

Conforme apresentado nos Capítulos 1 e 2, segundo Sommerville (2011), existem quatro atividades básicas, comuns a todos os processos de software: 1) Especificação; 2) Desenvolvimento; 3) Validação; e 4) Evolução. O método XDTv pretende atuar principalmente nas atividades de Especificação e Desenvolvimento, considerando que a atividade de desenvolvimento contempla o planejamento e a implementação do software.

Na presente tese, a atividade de Validação não é abordada em todo seu potencial. Está previsto, apenas, o teste de aceitação junto ao usuário. As demais práticas, como: testes unitários e desenvolvimento dirigido a testes necessitam de pesquisas específicas, que estão fora do escopo da presente tese. Em Tekcan et al. (2012) é proposta uma abordagem para geração de casos de testes automáticos para TVD, viabilizando a verificação funcional baseada no perfil do usuário, com o objetivo de reduzir o tempo dos testes.

Existem pesquisas com foco na elaboração de estratégias eficientes para a realização de testes de software em aplicações para TVD. Em Araújo et al. (2011) é proposto um padrão de suíte de testes de conformidade para

aplicações declarativas Nested Context Language (NCL), disponível em: http://testsuite.gingancl.org.br. Em Silva (2010) é proposto o ambiente Xtation, cujo principal atrativo é realizar a validação confiável de aplicações para TVD.

Autores ressaltam que a atividade de teste está entre as mais onerosas atividades inerentes ao processo de desenvolvimento de software (ABRANTES; TRAVASSOS, 2012). Foi constatado em Marques Neto (2011) que existem dificuldades em adotar práticas de testes unitários e programação orientada a testes (test-first) para o desenvolvimento de aplicações multimídia.

Visto que as atividades de testes demandam profissionais especializados e implicam em mais tempo de dedicação ao processo de desenvolvimento (SOMMERVILLE, 2011), apesar de ser uma atividade relevante para o contexto de TVD, o método XDTv não especifica atividades relacionadas a testes unitários e desenvolvimento dirigido a testes, por considerar uma atividade específica, fora de seu escopo. No entanto, não impede que tais atividades, desenvolvidas em outros trabalhos (ARAÚJO et al., 2011), (SILVA, 2010) possam ser incorporadas ao método XDTv.

A atividade de Evolução também está fora do escopo da presente tese. Normalmente, as aplicações executadas sobre plataformas tradicionais (PC, Web, entre outras) são utilizadas constantemente por diversos anos, e com o passar do tempo, é esperado existam mudanças no contexto onde o software tradicional é utilizado, seja no âmbito empresarial ou pessoal, necessitando assim de ajustes (evolução) para atender as atuais regras de negócio. Conforme apresentado no Capítulo 1, aplicações para TVD possuem curto tempo de vida, pois estão associadas à exibição do conteúdo audiovisual da TV que pode durar poucos minutos e ser veiculado durante poucos dias, principalmente para aplicações voltadas às campanhas publicitárias. Dessa forma, a fase de Evolução de software em aplicações de TVD não possui a mesma demanda que as demais plataformas tradicionais.

Segundo Sommerville (2011), constantes modificações e a entrega incremental de novos requisitos inerentes à fase de Evolução podem acarretar em falhas ao longo do ciclo de vida do software. Por esse motivo, métodos

iterativos, que possuem constantes integrações de novas implementações de requisitos, são ideais para aplicações que possuem um ciclo de vida curto.