Como aplicar SCRUM em um projeto de Identidade e Acesso ?
Autor: Alfredo Santos | Publicado: 2014-10-27T14:19:00-02:00


Projetos de Identidade
e Acesso (IAM) são considerados projetos complexos pois exigem diversas
atividades para se encontrar em pleno funcionamento, como por exemplo a
instalação dos produtos, levantamento de dados, integrações e outras
configurações.

Em um projeto
tradicional, seguiríamos uma sequência similar a esta:



Levantamento e desenho
Instalação de produto
Configurações
Criação de X conectores
Criação de X fluxos de trabalho
Testes
Homologação
Produção




Imagine agora que no
momento de Homologação seja identificado que um fluxo de trabalho ou um
conector não é mais necessário para o negócio.

Considere também que
um conector ou um fluxo de trabalho poderia ter dado ganhos maiores para o
negócio se estivesse em produção antes.

Vamos aplicar um
framework de desenvolvimento ágil (SCRUM) para realizar entregas mais precisas
e rápidas.

SCRUM é um framework
de desenvolvimento ágil interativo e incremental. Seu desafio é sair da
abordagem sequencial de desenvolvimento e utilizar times auto-organizados e
multidiciplinares.



No SCRUM temos os
seguintes papéis:

Dono do Produto – Que
é a pessoa responsável por controlar as demandas de negócio em cima do produto
que será gerado pelo trabalho;

ScrumMaster – Responsável
por garantir o processo SCRUM e por eliminar qualquer impedimento no projeto;

Time de
desenvolvimento – Responsável por criar os incrementos do produto.



Na dinâmica Scrum
temos um Backlog do Produto que teria as funcionalidades de negócio esperadas e
temos esta sequencia de processo:



Sprint Planning – Etapa onde são
     analisados itens priorizados do Backlog para serem trabalhados em um
     Sprint de trabalho. A lista a ser trabalhada é conhecida como Sprint
     Backlog.
Sprint – É o período de desenvolvimento em
     si que não deve passar de um mês.
Daily Scrum – Reunião diária de no máximo
     15 minutos onde se é discutido o que foi feito no dia anterior, o que será
     até o próximo e quais são os impedimentos se houverem.
Sprint Review – Onde é apresentado o resultado
     do desenvolvimento no Sprint.
Sprint Retrospective – Onde é revisado o
     processo buscando melhorias.




Considerando isso,
como podemos encaixar um projeto de IAM em um modelo SCRUM?



Vamos separar
primeiramente as principais atividades de um projeto de IAM:

Levantamento
Desenho de processos
Instalação de produtos
Configuração de conectores
Configuração de fluxos de trabalho




Destas atividades,
vamos separar a instalação de produtos
para uma atividade com início, meio e fim não associada ao SCRUM, ela deve
ocorrer antes do processo SCRUM.



Após isso, vamos a
elaboração do Backlog do Produto, onde o Dono do Produto deve listar as
necessidades de negócio, exemplos:

Gerenciar contas de usuários no ERP
Revalidar acessos de usuários
Gerenciar contas de usuários no sistema X
Gerenciar contas de usuários no sistema Y




Sendo que o Backlog de
Produto é uma lista viva que pode crescer conforme as necessidades de negócio e
nesse ponto, o levantamento e desenho de processos relacionado as atividades da
lista devem ter ocorrido.



Após isso vamos para o
Sprint, que começa com o Sprint Planning.

No Sprint Planning são
analisadas as atividades priorizadas do Backlog de Produto, no nosso exemplo
vamos considerar:

Gerenciar contas de usuários no sistema X
Gerenciar contas de usuários no sistema Y




Ou seja, Gerenciar
contas de usuários no ERP não é o assunto mais urgente para o negócio e não
será tratado agora.



O time de
Desenvolvimento analisa estes tópicos e confirma se os mesmos cabem no Sprint
(Ex. 30 dias) e desmembram nas atividades técnicas que devem ser desempenhadas
para criar este incremento de produto, por exemplo:

Configurar o fluxo de criação de contas no
     sistema X
Configurar o fluxo de criação de contas no
     sistema Y
Configurar o fluxo de exclusão de contas
     no sistema X
Configurar o fluxo de exclusão de contas
     no sistema Y
Configurar o conector do IAM ao sistema X
Configurar o conector do IAM ao sistema Y
Realizar testes unitários
Realizar testes integrados




Terminado o Sprint
Planning, o desenvolvimento/configuração começa, executam os Daily Scrum
Meetings e no termino o Sprint Review e Sprint Retrospective.



Ao término de uma
Sprint se inicia outra, onde novamente são analisados itens do Backlog do
Produto priorizado. E também ao termino de uma Sprint, é possível liberar em
produção os fluxos e conectores produzidos, dando retorno mais rápido ao
negócio.



Concluindo, SCRUM pode
ser uma abordagem interessante para dar um retorno mais rápido ao negócio. No
nosso exemplo, se a empresa não adotasse SCRUM, teria que aguardar o
desenvolvimento de todos os fluxos e conectores para ter acesso ao produto.




Conheça mais do SCRUM
em SCRUM.org