Groupware Protocolos e Artefatos de Coordenação em CSCW Cleidson de Souza cdesouza@ufpa.br Tecnologia computacional para auxiliar o trabalho cooperativo Mas Como o trabalho cooperativo é executado? Como as pessoas trabalham em conjunto? Como a tecnologia existente facilita (ou dificulta) este trabalho? Conceitos, técnicas, abordagens, considerações gerais sobre o trabalho cooperativo. pag. 2 Protocolos e Artefatos de Coordenação Exemplos pag. 3 Em ambientes colaborativos complexos, a articulação ou coordenação da atividades requer artefatos especializados que quando usados no contexto das convenções, protocolos e procedimentos locais permite uma redução na complexidade do trabalho de cooperação facilitando o trabalho em grupo. Schmidt, Kjeld and Carla Simone: 'Coordination mechanisms: Towards a conceptual foundation of CSCW systems design', Computer Supported Cooperative Work: The Journal of Collaborative Computing, vol. 5, no. 2-3, 1996, pp. 155-200. pag. 4 Descrição de um bug (bug report) em desenvolvimento de software; Pedaços de papel entre controladores de trafégo aéreo (paper flight strips); Tabelas de horários (schedules) e prontuários eletrônicos em hospitais; Tabelas (time tables) no transporte urbano (metrô de Londres); Cronogramas em projetos de desenvolvimento de software; Tabelas de classificação usadas em repositórios; Etc, etc etc.
Exemplo 1 pag. 5 Bug Reports Relatório que descreve um problema a ser consertado durante a atividade de desenvolvimento de software, ou um novo requisito a ser implementado; Este relatório deve ser escrito pra cada novo problema ou requisito; Ele pode ser manual ou implementado através de uma ferramenta: Bug Report pag. 6 Bugzilla, TRAC, Rational ClearQuest, etc. Bug Reports Ferramentas de bug-tracking geralmente são associadas a ferramentas de controle de versão; Desta forma, é possível identificar que linhas de código são responsáveis por corrigir um determinado problema ou implementar uma nova funcionalidade: pag. 7 pag. 8 Alterações no código podem criar outros problemas; Testes de regressão; Geralmente usadas no processo de manutenção;
Bug Reports Bug Reports - Protocolo pag. 9 Estudo de campo com o time MVP Software para auxílio a trafégo aéreo desenvolvido pela NASA / Ames: Usado por alguns aeroportos; 10 ferramentas diferentes; Vários processos diferentes compartilhados entre as ferramentas; Desenvolvedores (25) e time de verificação e validação (6); Escrevem código; Testam o código; Mantém o manual das ferramentas; pag. 10 Time de teste identifica um problema Preenche um bug report com informações sobre ferramenta, processos, parâmetros do processo e aeroporto; Desenvolvedor usa esta informação pra repetir o problema e assim poder corrigi-lo; Preenche no bug report informações sobre: o projeto desenvolvido pra corrigir o problema; como testar o software para verificar que o problema foi corrigido; O manual da ferramenta: precisa ser modificado ou não? Bug Reports - Protocolo Gerente usa a informação do bug report Para verificar que a mudança no código não afeta a arquitetura do sistema; Time de teste usa esta informação Para gerar as matrizes de teste de regressão; Para verificar se é necessário ou não atualizar o manual; Bug Reports Um bug report facilita a coordenação das atividades deste time de desenvolvimento de software Permite que cada membro trabalhe individualmente, mas que receba as informações necessárias a seu trabalho; Flexibilidade na ferramenta de apoio; Dependência entre artefatos torna os bug reports mais importantes; pag. 11 pag. 12
Exemplo 2 Uma dentre as inúmeras tecnologias utilizadas por controladores de trafégo aéreo para permitir o desempenho de suas atividades: Segurança; Colaboração; Etc. pag. 13 pag. 14 pag. 15 Complementar ao radar. pag. 16 A flight strip é um documento público para os membros do time, uma representação do histórico de controle de uma aeronave e do trabalho para controlá-lo. Informação sobre rota (origem, destino, e pontos intermediários), altitude atual e anterior, etc.
Minutos antes de um avião entrar no espaço aéreo de um centro de controle, uma strip é impressa com informações básicas. O controlador pega a strip na impressora e o posiciona na sua área de trabalho. Este ato serve como uma checagem da informação do avião. Inconsistências perigosas podem ser identificadas neste processo. pag. 17 pag. 18 A organização das strips tem um significado para os controladores. A simples colocação de uma strip entre as outras requer atenção e funciona como um esquema de segurança. O layout das strips informa aspectos interessantes do trabalho: o estado do trafego aéreo; conflitos que podem surgir; Etc. pag. 19 Aeronaves passam de uma setor para outro, portanto strips passam de um controlador para outro. Controladores monitoram seus colegas: pag. 20 observando rapidamente anotações nas strips ; ouvindo conversas no telefone; observando rapidamente a disposição das strips ; Através de interação física (prox slide); Habilidade difícil de ser aprendida;
pag. 21 A idéia de que o computador deva sempre automatizar tarefas manuais tediosas é falsa. O computador não deve organizar automaticamente estas strips. Um sistema computacional deve ser flexível para seus usuários. De um modo geral, o que deve e o que não deve ser automatizado? pag. 22 Exemplo 3 Exemplo 4 Prontuários Médicos pag. 23 E daí? Contém informação sobre um paciente: sintomas, medicação (tipo e dosagem), efeitos colaterais, etc; Tabelas de alocação do metrô de Londes (time tables) pag. 24 Próxima aula
Conclusões Leituras pag. 25 É necessário entender como a coordenação é feita para o projeto de ferramentas de groupware; Válido também para outros aspectos tecnológicos (não somente o desenvolvimento de software); Frequentemente, artefatos são desenvolvidos ou adaptados para facilitar a cooperação. Mas, estes artefatos são acompanhados de um protocolo. Mecanismos de coordenação = artefato + protocolo; pag. 26 Esta aula: Mackay, W. (1999) Is Paper Safer? The Role of Paper Flight Strips in Air Traffic Control. ACM TOCHI, vol 6, n. 4, pp. 311-340. de Souza, C. R. B., D. F. Redmiles, et al. (2003). "Breaking the Code", Moving between Private and Public Work in Collaborative Software Development. International Conference on Supporting Group Work (GROUP'2003), Sanibel Island, Florida, USA. pag. 27 Leituras Próxima Aula: Dourish, P. and V. Bellotti (1992). Awareness and Coordination in Shared Workspaces. Conference on Computer- Supported Cooperative Work (CSCW '92), Toronto, Ontario, Canada, ACM Press. Heath, C. and P. Luff (1992). "Collaboration and Control: Crisis Management and Multimedia Technology in London Underground Control Rooms." Computer Supported Cooperative Work 1(1-2): 69-94.