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