Collaborative Requirements Engineering: Bridging the Gulf Between Worlds Alistair Sutclife Tiago Soares Gonçalves Professor: Jaelson Castro Outubro/2010 Introdução • Design de métodos e processos | modelos e representações e ferramentas possuem um importante influência no resultado da Engenharia de Requisitos (ER) [Rolland’s research] – Visão da pesquisa: Processos executados por indivíduos ou times • E uma visão colaborativa desse processo? • Objetivo do trabalho : Seguir um método de abordagem para ER com o foco na natureza da colaboração e comunicação entre equipes e stakeholders • Colaboração – Ponto de vista e negociação entre stakeholders e gerenciamento do processo de ER: Modeling languages, RE methods... – HOJE: Atenção para o trabalho colaborativo entre times ER, trabalho em equipe, computer supported collaborative work Introdução • ER – Processo multidisciplinar – – – – Psicologia Sociologia Antropologia Linguística? • Análise e compreensão de REQs em linguagem natural ou formalização destes • Socially oriented discourse theories of language have received less attention. Objetivo do artigo • Uma teoria do discurso da linguagem, , common ground [5], é usado como motivação método de engenharia/design para ER colaborativa, • Avaliar como contribuições de diferentes representações (modelos) podem fazer para melhorar a compreensão mútua com as equipes de ER. Common ground • Conversa, compreensão mútua e comum durante relação social ou dicursão, conhecimento mútuo, base acordada…. • Teoria da análise do dicurso de Clark [5] – The common ground theory or Clark’s linguistic theory of discourse [5] describes the process by which mutual understanding is achieved though the process structure of human-human discourse” Common ground • Gerado a partir de 3 fontes de conhecimento: 1. Conhecimento detido pelos participantes sobre o outro durante a conversa 2. Conhecimento que vem do ambiente onde o diálogo acontece: artefatos do ambiente 3. Conhecimento compartilhado baseado em convenções sociais • Diferentes camadas de conversas – Superfície = Expressão explícita = direto assunto – Camada de conhecimento tácito = mais profundo para interpretrações Common ground Common ground Como conseguir um conversa efetiva? Effective conversation RE Representations and Communication Modalities Síncrono – diálogos criam compreensão Assíncrono – tempo para reflexão sobre o RE Representations and Communication Modalities • Investigação do papel de diferentes documentos em ER. Desde representações ER pode experimentar múltiplas interpretações [11, 24] : • Common ground é gerado por conversas entre stakeholders, acrescido de compreensão mútua de informações expressas em representações/modelos em ER • Quanto mais acessível a representação melhor apoia a formação da base comum de conhecimento. RE Representations and Communication Modalities RE Representations and Communication Modalities RE Representations and Communication Modalities • storyboards e esboços são meios eficazes de promover a compreensão mútua. No entanto, estas representações são propenso a interpretações ambíguas para o entendimento entre as partes interessadas podem entrar em conflito. • modelos informais podem reduzir a ambigüidade, possibilitando mais fácil análise, enquanto que os modelos formais podem eliminar a ambigüidade de raciocínio automatizado, porém com a desvantagem de mais difícil compreensão e acesso limitado através de grupos de interessados. •… • Nenhuma representação unicamente será suficiente para apoiar o desenvolvimento de uma base comum, mas sim, uma combinação é necessária para suportar diferentes atividades e fases do processo de requisitos RE Activities, Representations and Common Ground • Activities in the RE road map [16] are reviewed from a common ground perspective while investigating the role for appropriate representations. • • • • • Elicit and Summarize Analyse and Reflect Negotiate and Agree Validate Communicate Communication Requirements Elicit and Summarise • Elicitation commences with little common ground between the users, domain experts and requirements engineer. • This task involves not only capturing information but also making sure that there is a shared understanding about domain facts and user goals. • Representations play an important part in summarising information so it can be discussed and checked by all parties. • The conversation has to progress towards a mutually agreed project: realisation of the users’ goals. • Hence common ground has to be established between abstract and concrete views, which causes a tension that runs through all RE activities. Analyse and Reflect Concreto abstrato Analyse and Reflect Concreto Informal models enable abstract viewpoints to be debated; but models may hide ambiguities and, worse still, assertions may go unchallenged. abstrato Negotiate and Agree • Negotiating, prioritising and achieving mutually agreed requirements all focus on the process of establishing common ground between stakeholders. • Representations have a special role to play in this activity since common ground in conversation is limited by working memory to about five topics or ideas [1, 32]. • The representation becomes an external extension to our memory. • Árvores de decisão Validate and Communicate • These activities have very different implications for common ground: 1. Validation is the process of establishing that the requirements specification and proposed system design satisfy users’ requirements – Mock-ups interativos, storyboards 2. Verification addresses checking and proving the correct internal behaviour of the specified – concerns only the software specialists – formal models and specifications – not accessible to users. • Support both concrete and abstract views of requirements Validate and Communicate • These activities have very different implications for common ground: 1. Validation is the process of establishing that the requirements specification and proposed system design satisfy users’ requirements – Mock-ups interativos, storyboards 2. Verification addresses checking and proving the correct internal behaviour of the specified – concerns only the software specialists – formal models and specifications – not accessible to users. • Support both concrete and abstract views of requirements Managing RE Conversations ADVISES Case Study a decision-support system for analysis of epidemiology problems that served two stakeholder groups: academic researchers and public health analysts. ADVISES Case Study a decision-support system for analysis of epidemiology problems that served two stakeholder groups: academic researchers and public health analysts. Conclusões • The contributions of this chapter have been to develop Rolland’s vision of method engineering from the perspective of discourse theory and natural language. • Application of Clark’s common ground as a framework for critiquing representations and techniques throws light on their relative contributions to one of the fundamental problems in RE: how to reconcile abstract and concrete views in system development, so that a mutual understanding of requirements, the software design and domain constraints emerges