• Nenhum resultado encontrado

7 Avaliação dos Protótipos

8.1 Contribuições Obtidas

Um aspecto importante da pesquisa em ambientes colaborativos diz respeito a estudos de caso em contextos concretos de uso contínuo do ambiente. Entretanto, para que tais observações sejam possíveis é necessário que esses ambientes sejam desenvolvidos e, sobretudo, utilizados na prática. Diversos fatores concorrem para a falta de utilização desses ambientes colaborativos adequados ao trabalho colaborativo de equipes de desenvolvimento de software. Entre eles, está a falta de uma cultura que valorize o potencial da colaboração em uma área onde o trabalho que gera modelos e implementações é, aparentemente, realizado por indivíduos isolados que interagem com suas ferramentas CASE, transformando uma representação de software em uma nova representação, até que o produto planejado passa a existir. De fato, os ambientes de desenvolvimento de software tradicionais procuram oferecer para cada usuário a idéia de que os objetos sendo manipulados são alterados apenas pelas ações imediatas e locais que estão sendo realizadas.

No nosso entendimento, essa sensação de isolamento é falsa, exceto em projetos muito reduzidos e de curta duração. Em projetos da indústria, o que se observa é que os desenvolvedores estão continuamente estabelecendo comunicação entre si, em

pequenos grupos que se concentram em uma determinada tarefa. Para confirmar essa afirmação basta observar qualquer sala onde o desenvolvimento de software esteja ocorrendo. Existem diversas incertezas e mudanças que obrigam o desenvolvedor a consultar a opinião de colegas mais experientes, mais bem informados ou que, simplesmente, possam oferecer novos dados sobre o problema em questão. Em diversas situações, as dúvidas se referem aos sistemas legados, mantidos ou em desenvolvimento, e as rotinas, classes ou componentes de software que estão sendo continuamente atualizados e adaptados. Dessa forma, nota-se que o trabalho individual gera influência no trabalho de outros, mesmo que isso não seja percebido ou valorizado pelos participantes. O apoio à percepção, construído com a abordagem apresentada, torna essa influência evidente na forma de informação de percepção que pode ser utilizada pelos desenvolvedores para coordenar melhor suas atividades e localizar fontes de informação.

A alteração da cultura se dá pela conscientização e educação dos desenvolvedores para o potencial de agir como um grupo, em que cada membro está ciente das ações dos demais. Mas de uma maneira pragmática, existe a necessidade de demonstrar essas possibilidades e de verificar as condições em que essas vantagens podem vir a surgir. Disto resulta a necessidade de construir uma diversidade de propostas de ambientes colaborativos e de colocá-los em prática. Essa necessidade se intensifica a medida que novas práticas de desenvolvimento, como o desenvolvimento globalizado e os processos ágeis distribuídos, passam a exigir a interação entre indivíduos e equipes que tem como meio principal de interação e de trabalho o computador.

A proposta desta abordagem para a construção de ambientes de desenvolvimento de software serve de guia para a construção de ambientes colaborativo dentro da perspectiva de transparência. Diversas decisões de projeto foram incorporadas à ACT, cuja divisão em componentes de software interligados favorece a implementação e a reutilização desses componentes. Com isso, foi atingido o objetivo de facilitar a programação e reutilização de mecanismos de apoio à percepção e à colaboração. Com essa abordagem, foi possível incentivar alunos a desenvolver protótipos que foram integrados com sucesso nos ambientes Odyssey e Eclipse.

utilizados no desenvolvimento de software. A abordagem proposta se concentra naqueles documentos estruturados que tem relação com o “espaço de software”, o ambiente artificial que é modificado pelos desenvolvedores de software. Em situações de distribuição, como é o caso do desenvolvimento de software globalizado, a percepção de modificações é importante para a coordenação de elementos dessas equipes distribuídas. Diversos ambientes colaborativos com apoio à percepção foram revisados nesta tese e foi identificado então um domínio de aplicação com alto potencial para reutilização de software. A abordagem proposta oferece uma alternativa para construção de ambientes nesse domínio estudado.

O ambiente Odyssey, desenvolvido no contexto do projeto Odyssey, foi estendido para comportar as modificações geradas pelos protótipos desenvolvidos, dando então origem ao apoio à percepção do OdysseyShare. Inicialmente, foi desenvolvido apoio para a integração visual de áreas de trabalho, implementando o apoio para mecanismos de percepção de área de trabalho. Em seguida, foi realizada a inclusão de funcionalidades de troca de mensagens (bate-papo) e de indicadores de estados dos participantes. Essas primeiras alterações constituíram o núcleo do

OdysseyShare, que foi posteriormente complementado pela proposta de máquina de

processos e do repositório de componentes. Em uma segunda etapa, procurou-se investigar informações relacionadas com as operações sobre os artefatos. Foram então desenvolvidos os protótipos Ariane, MAIS e GAW que implementam o apoio para mecanismos de percepção de produto e percepção de grupo.

Foram produzidos como contribuições desta pesquisa:

• A definição de uma abordagem para a integração de apoio para a colaboração em

cenários reais de desenvolvimento de software, envolvendo pequenas equipes (2 a 6 pessoas) que trabalhem em tempo integral ou parcial dentro de condições de distribuição geográfica ou temporal. A estratégia visa orientar as equipes na construção e seleção dos mecanismos de colaboração e na operação do apoio;

• A proposta de uma metodologia para planejamento e observação de cenários e

estudos de caso que ofereceram dados mais concretos sobre os efeitos do apoio à colaboração sobre o trabalho dos participantes;

observação dos efeitos do apoio à colaboração nesses ambientes, com base em um conjunto de técnicas adaptadas ou inéditas para a coleta e injeção dos eventos necessários para obter e apresentar informações pertinentes à colaboração e especificação de interfaces de componentes para cada mecanismo de apoio à colaboração adotado.

• Uma análise do domínio de conhecimento relativo ao desenvolvimento distribuído de

software e da família de aplicações propostas para esse domínio, dentro do aspecto de apoio à percepção;

• A construção de protótipos com base na abordagem proposta; • A realização de observações sobre a usabilidade dos protótipos.

São contribuições da arquitetura ACT para a colaboração transparente: (a) os eventos semânticos, (b) a combinação de mecanismos de apoio à percepção e (c) a possibilidade de reutilização desses mecanismos.