Como aplicar SCRUM em um projeto de Identidade e Acesso ?

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:

  1. Levantamento e desenho
  2. Instalação de produto
  3. Configurações
  4. Criação de X conectores
  5. Criação de X fluxos de trabalho
  6. Testes
  7. Homologação
  8. 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:
  1. Configurar o fluxo de criação de contas no sistema X
  2. Configurar o fluxo de criação de contas no sistema Y
  3. Configurar o fluxo de exclusão de contas no sistema X
  4. Configurar o fluxo de exclusão de contas no sistema Y
  5. Configurar o conector do IAM ao sistema X
  6. Configurar o conector do IAM ao sistema Y
  7. Realizar testes unitários
  8. 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