Um papel define o comportamento e as responsabilidades de um profissional ou grupo de profissionais que participam da elaboração e do desenvolvimento do projeto. O comportamento é representado através das atividades que cada papel deve desempenhar ao longo do projeto.
Normalmente, as responsabilidades estão associadas aos artefatos que cada papel deve produzir e manter ao longo das atividades que realiza. Na prática, um mesmo papel pode ser desempenhado por mais de uma pessoa, assim como, uma mesma pessoa pode assumir vários papéis ao longo do projeto.
Abaixo, estão relacionados os papéis previstos na MDS agrupados em 3 áreas de atuação:
Responsável pela criação do modelo de banco de dados, seguindo as melhores práticas de normalização do banco, e assim permitindo a definição do projeto de banco de dados, que inclui a criação de tabelas, relacionamentos entre elas, índices, dados e etc, a fim de viabilizar a melhor maneira de armazenar, recuperar e excluir as informações gravadas no banco.
Responsável pela organização de branches, merges e versionamento de código e definição e execução de rotinas de deploy.
Responsável por auxiliar os projetos de desenvolvimento de software quanto a mensuração do tamanho funcional do projeto. Ele é responsável por definir o tipo de contagem e aplicar a técnicas de contagem.
Responsável por identificar os atores/donos dos processos de negócios aplicando o ciclo do Gerenciamento de Processo de Negócio que consiste em definir o planejamento e estratégia do processo de negócio, realizar o mapeamento/modelagem do processo para dar base para análises de produtividade, identificação de falhas, desperdícios e gargalos nos processos de negócio com foco no atendimento ao cliente. Com este mapeamento e aplicação de algumas técnicas ele consegue implantar melhorias nos processos para atender a missão, visão e valores da área.
Ele ainda é responsável por gerenciar e monitorar os processos de negócios e propor melhorias a fim de refinar o processo.
Responsável por identificar os problemas e necessidades do cliente referente ao sistema em desenvolvimento ou em manutenção, propondo uma solução sistemática e detalhamento de todos os requisitos do sistema (Funcionais, Não funcionais e Restrições do projeto). Conduz o levantamento das informações necessárias para análise e validação do sistema junto ao cliente e a equipe técnica de desenvolvimento do projeto.
Responsável por definir a abordagem de teste e assegurar sua correta implementação a fim de encontrar defeitos no software. Isso inclui identificar as técnicas, ferramentas e diretrizes apropriadas para implementar os testes de software para validar a entrega do produto de software a cada iteração.
Responsável por estabelecer a estrutura geral de cada visão de arquitetura: a decomposição da visão, o agrupamento dos elementos e as interfaces entre esses principais agrupamentos. Portanto, comparado aos outros papéis, a visão do arquiteto de software é ampla, e não detalhada.
Responsável por assegurar a realização do planejamento, execução e monitoramento do projeto. Especialista na identificação e compreensão de problemas e oportunidades. Isso inclui a capacidade de articular as necessidades que são associadas ao problema-chave a ser resolvido ou a oportunidade a ser realizada.
Responsável por desenvolver e testar componentes de acordo com os padrões adotados para o projeto, para fins de integração com subsistemas maiores. Quando é necessário criar componentes de teste, como drivers ou stubs, para possibilitar a realização dos testes, o desenvolvedor também é responsável por desenvolver e testar esses componentes e os subsistemas correspondentes.
Responsável pelo projeto da interface do usuário e à concepção do protótipo da mesma. É responsável pelo levantamento dos requisitos de interface, incluindo requisitos de usabilidade, pela construção de protótipos, pelo envolvimento de usuários finais nas revisões de usabilidade e pelo fornecimento das informações necessárias para que os implementadores possam realizar o desenvolvimento das interfaces especificadas.
Responsável por disponibilizar o ambiente e a infraestrutura geral de Gerenciamento de Configuração para a equipe de desenvolvimento do produto. A função da gerencia de configuração é oferecer suporte à atividade de desenvolvimento de produtos para que os desenvolvedores e integradores tenham espaços de trabalho adequados para criar e testar seus trabalhos e, dessa forma, permitir que todos os artefatos fiquem disponíveis para inclusão na unidade de implantação, conforme necessário. O gerente de configuração também deve assegurar que o ambiente facilite a revisão do produto e também é responsável por redigir o Plano de Gerenciamento de Configuração.
Responsável por realizar o planejamento do projeto de desenvolvimento de software, a fim de identificar os riscos, traçando planos de ação para cada um deles, realizando o controle de custos do projeto, gerenciando pessoas e tratando de impedimentos para o sucesso e bom andamento do projeto. Ele também é responsável pela gestão do tempo e comunicar a situação do projeto para todos os interessados.
Responsável pelo êxito do esforço de teste. O papel envolve defesa da qualidade e dos testes, planejamento e gerenciamento de recursos e resolução de problemas que representam um obstáculo para o esforço de teste.
Responsável por:
Responsável por elaborar o material de suporte para o usuário final, como manuais do usuário, textos da ajuda, notas de release e outros.