Participantes do Processo de Desenvolvimento de Software Eveline Alonso Veloso PUC-Minas
Bibliografia YOURDON, Edward. Análise Estruturada Moderna. Rio de Janeiro: Campus, 1992. Capítulo 3.
Participantes do Processo de Desenvolvimento de Software Usuários Gerentes Auditores Analistas de Requisitos Arquitetos de Software Programadores Testadores Analistas de Suporte Pessoal de Operação
Usuários Participantes mais importantes do processo de desenvolvimento de software. Grupo de pessoas para o qual o sistema é construído; utilizará o sistema desenvolvido. Sistema surge da solicitação formal de seus futuros usuários. O usuário nem sempre é o cliente.
Usuários O analista de requisitos deve realizar entrevistas/reuniões; diretamente com os futuros usuários do sistema; sob pena de não conseguir especificar adequadamente os requisitos desse sistema. Intermediários podem não conhecer os verdadeiros requisitos do sistema. Após as entrevistas/reuniões, é aconselhável que o analista de requisitos produza documentações/atas formais.
Tipos de Usuários Por tipo de função: Usuário Operacional Usuário Supervisor Usuário Executivo Por nível de experiência em tecnologia da informação: Amador Novato “Arrogante” Familiarizado com TI
Usuários Operacionais Normalmente, terão contato diário com o sistema; irão operar o sistema. Preocupados com aspectos relacionados às: interfaces de usuário (telas e relatórios); visão física do sistema; têm, em geral, dificuldades para realizar abstrações; funcionalidades do sistema.
Usuários Operacionais Possuem visão local detalhada das tarefas que realizam; mas não do funcionamento de todo o sistema. O sistema fará parte das tarefas que eles realizam atualmente manualmente. Freqüentemente, demonstram medo de serem substituídos pelo sistema; dificultando, às vezes, seu processo de especificação e modelagem.
Usuários Supervisores Gerenciam um grupo de usuários operacionais; sendo responsáveis por seu desempenho. Usuários de nível gerencial. Muitas vezes, são os intermediários entre o analista de requisitos e os usuários operacionais.
Usuários Supervisores Nem sempre conhecem bem o trabalho dos usuários operacionais; e as tarefas que o sistema deve contemplar. Podem ou não ter visão local do sistema. Supervisores e usuários operacionais podem ter objetivos diferentes. Supervisores podem ter como objetivo: redução do número de usuários operacionais; aumento, com o sistema, da produtividade de seu setor.
Usuários Executivos Visão global e abstrata. Preocupações estratégicas; e de longo prazo. Na maioria das vezes, nunca foram usuários operacionais; não conhecem detalhadamente a operação do sistema; não definem requisitos; não estão diretamente envolvidos.
Usuários Executivos Dão suporte ao projeto. Representam a autoridade financeira do projeto. Estabelecem prazos.
Usuários – Níveis de Experiência em Tecnologia da Informação Amador: Nunca utilizou um computador; ou o utiliza rara e restritamente. Não compreende as técnicas de modelagem. Novato “Arrogante”: Possui alguns conhecimentos em tecnologia. Pode se preocupar demais com a solução tecnológica.
Usuários – Níveis de Experiência em Tecnologia da Informação Novato “Arrogante”: Pode dar diversos palpites sobre a forma de modelar o sistema; sem, no entanto, conhecer adequadamente as técnicas de modelagem. Familiarizado com TI: Possui conhecimentos avançados em tecnologia. Pode se preocupar demais com a solução tecnológica.
Gerentes de Projetos Responsáveis pelo projeto de desenvolvimento do sistema; e pela alocação de recursos de toda a equipe técnica no desenvolvimento desse sistema. Interface do projeto. Em geral, para cada projeto há um gerente de projeto: na organização desenvolvedora de software; e outro na organização cliente. Controlam os recursos do projeto.
Outros Gerentes Definem: objetivos; prioridades; prazo; orçamento. Pode haver conflitos entre os diversos níveis gerenciais. Decidem sobre a continuidade; ou interrupção do projeto de desenvolvimento do sistema.
Auditores Compreendem: Identificam problemas. auditores internos; auditores externos; grupo de garantia da qualidade. Identificam problemas. Devem ter postura isenta e imparcial. Garantem o desenvolvimento dos sistemas de acordo com padrões: externos; da própria empresa.
Analistas de Requisitos Especificam o problema dos usuários. Atuam como mediadores; entre os diversos participantes de um projeto. Devem possuir: aptidões interpessoais; conhecimento de tecnologia; raciocínio lógico e abstrato; criatividade; capacidade de mediação.
Analistas de Requisitos Em um projeto de desenvolvimento de sistema, os analistas de requisitos lidam com diferentes pessoas. Devem ficar atentos se: a linguagem utilizada é familiar a essas pessoas; os modelos e documentos apresentados são familiares a essas pessoas; e estão sendo compreendidos por elas.
Arquitetos de Software Recebem o resultado do trabalho do analista de requisitos. Utilizam os requisitos do usuário; para criar um projeto arquitetural do sistema; que servirá como base para o trabalho dos programadores.
Arquitetos de Software Constante interação entre o arquiteto de software e o analista de requisitos. Verificam se os requisitos especificados são viáveis. Se os requisitos não forem tecnicamente viáveis; o analista de requisitos pode ter que negociar com o usuário uma mudança nos requisitos.
Programadores Codificam o sistema; Conhecem mais da tecnologia; a partir do trabalho do arquiteto de software. Conhecem mais da tecnologia; e menos do negócio do cliente. Muitas vezes descobrem erros e ambigüidades no trabalho do analista de requisitos. Interagem com o analista de requisitos quando existe a necessidade de realizar alguma correção nos modelos de análise.
Testadores Testam os componentes de código desenvolvidos a procura de erros; inclusive erros de não-conformidade do produto com seus requisitos.
Analistas de Suporte Pouco contato com o usuário. Às vezes, o sistema apresenta alguma restrição; por causa do ambiente de operação. Exemplos: DBA; Analista de Desempenho; Analista de Redes; etc.
Pessoal de Operação Técnicos responsáveis por: backup; atualizações de versões; instalação de ferramentas; manutenção dos equipamentos; controle de impressão; etc.