• No results found

Transforming categories

Depois de modelado o processo Scrum, é necessário identificar a categoria de cada padrão que será integrado, isto é, verificar se ele é organizacional ou de processo, para possibilitar a sua representação por meio dos estereótipos SPEM.

Por não ter sido encontrada na literatura definição clara para padrões organizacionais e de processo que facilite a sua representação por meio de modelos, adotou-se neste trabalho as seguintes definições:

Padrões de Processo: documentam soluções para problemas no processo de

desenvolvimento de software, que prescrevem a criação de uma nova atividade, artefato ou papel no processo.

Padrões Organizacionais: documentam diretrizes que devem ser respeitadas na

execução de uma atividade, cumprimento de um papel ou criação de um artefato no processo de desenvolvimento de software.

Um padrão de processo sugere a criação de uma atividade, papel ou artefato no processo, enquanto um padrão organizacional mostra como realizar uma atividade ou papel no processo. Ressalta-se que existem padrões que se encaixam nessas duas categorias.

A Tabela 4.2 apresenta a categoria dos padrões que serão integrados ao Scrum, tendo na primeira coluna o nome do padrão, na segunda a categoria a qual o padrão foi associado, e na terceira a justificativa pela qual o padrão foi associado à determinada categoria.

Tabela 4.2 – Categoria dos padrões integrados ao Scrum

Padrão Categoria Justificativa

Self Selecting Team Organizacional Sugere que as pessoas devem selecionar a equipe na qual elas querem trabalhar.

Scenarios Define Problem Processo Propõe a criação de casos de uso para extração e esclarecimento dos requisitos.

Small Writing Team Organizacional

Fornece informações sobre como criar casos de uso, sugerindo que eles devem ser criados por no máximo três pessoas.

Breadth Before Depth Organizacional

Fornece informações sobre como desenvolver e refinar casos de uso, sugerindo que os desenvolvedores devem identificá-los antes de começar a refinar cada um deles.

Spiral Development Organizacional

Fornece informações sobre como desenvolver e refinar casos de uso, sugerindo que seu refinamento seja realizado iterativamente.

Face To Face Before

Working Remotely Processo

Propõe a realização de uma reunião presencial no início de projetos geograficamente distribuídos, para que os envolvidos possam se conhecer.

Unity Of Purpose Processo

Propõe a realização da atividade de compartilhamento da visão comum no início do projeto para mostrar aos envolvidos o propósito do projeto.

Standards Linking

Locations Processo

Propõe a realização da atividade de estabelecimento de normas e convenções em projetos geograficamente distribuídos, para possibilitar a comunicação entre as partes do software que está sendo construído.

Lock ‘Em Up Together Processo

Propõe a realização de uma reunião presencial no início do projeto para a criação da arquitetura do produto que será desenvolvido em grupo.

Organization Follows

Location Organizacional

Fornece informações para repartição do trabalho em projetos geograficamente distribuídos, sugerindo que as responsabilidades devem ser atribuídas de forma que as decisões possam ser tomadas localmente.

Code Ownership Organizacional

Fornece informações para atribuição de tarefas no desenvolvimento do software, sugerindo que cada módulo do código deve ser atribuído a um desenvolvedor.

Generics And Specifics Organizacional

Fornece informações para atribuição de tarefas no desenvolvimento do software, sugerindo que os especialistas e principiantes devem implementar, respectivamente, as partes genéricas e as partes específicas do software.

Surrogate Customers Processo

Propõe a criação do papel de substituto do cliente no processo, para suprir a ausência do cliente quando o mesmo não está disponível.

Named Stable Bases Organizacional e

de Processo

Propõe a realização da atividade de integração do software no desenvolvimento, além de estabelecer a freqüência com que essa integração deve ocorrer.

Private Workspace Organizacional Fornece informações de como gerenciar as versões de produtos de trabalho.

Repository Organizacional

Fornece informações de como prover as versões corretas dos produtos de trabalho para os desenvolvedores.

Smoke Test Organizacional

Fornece informações sobre como verificar se a integração das partes do sistema não corrompeu o mesmo.

Application Design is

Bounded By Test Design Processo

Propõe a realização da atividade de criação de planos de teste baseados nos casos de uso.

Architect Controls Product Processo Propõe a criação do papel de arquiteto no processo para definir um estilo de arquitetura ao produto.

Architect Also Implements Organizacional

Fornece informações sobre a execução do papel de arquiteto no processo, sugerindo que ele deve implementar o software junto com os desenvolvedores

Por meio dessa classificação, é possível representar os padrões organizacionais e de processo integrados ao Scrum utilizando o SPEM, pois a categoria do padrão identifica quais estereótipos devem ser utilizados para modelá-los. Assim, os padrões de processo serão modelados utilizando os estereótipos da Figura 4.19.

Figura 4.19 – Estereótipos utilizados para modelar padrões de processo

Para a modelagem de um padrão organizacional, é necessária a utilização de outro estereótipo, o Guia (Guidance), pois essa categoria de padrão fornece informações mais detalhadas sobre o elemento do processo ao qual está associado.

O SPEM permite a adição de novas categorias de guia no processo e, neste trabalho, um novo tipo de guia é definido para representar os padrões organizacionais na modelagem, o estereótipo Padrão Organizacional, cuja notação é mostrada a Figura 4.20.

Figura 4.20 – Notação do estereótipo Padrão Organizacional

Assim, devido às propriedades dos padrões organizacionais e de processo de propor a criação de novas atividades, papéis, artefatos e diretrizes para solucionar problemas de desenvolvimento de software, antes de integrar os padrões, é fundamental modelar o processo Scrum para possibilitar a integração correta das práticas propostas pelos padrões.

Além da classificação dos padrões em categorias, é necessário identificar a disciplina Scrum a qual o padrão a ser integrado se relaciona, como mostra a próxima seção.