Gerenciando Processos com Kanban
Autor: Alberto Medeiros | Publicado: 2012-08-23T09:48:00-03:00




"Antes de começar o post quero deixar bem claro que o post não irá falaro que é Kanban ou quais práticas o mesmo sugere e é composto, afinal o Kanban é uma metodologia bem robusta que possui váreas áreas do conhecimento envolvida onde não dá pra ser resumido em apenas um post."




Bom um grande problema que temos hoje nas equipes de desenvolvimento de softwares é a questão dos processos, manutenções e correções essas demandas sempre aparecem de forma a desorganizar a equipe de modo a virar algo descontrolado, embora ocorra com várias equipes de vários seguimentos pouco tem-se feito, pensado ou comentado.

Em minha experiência nas empresas por onde passeis essas demandas eram feitas de forma leviana onde em muitos casos a equipe que realizavam manutenção era a mesma que estava&nbsp;imbuída&nbsp;em um projeto qualquer, ou seja, um ou vários esforços sempre eram deslocado para que a demanda fosse sanada gerando um efeito nem sempre desastroso no projeto em que estavam mas, sempre haviam atrasos nas entregas.

De forma clara e&nbsp;RADICAL&nbsp;quero deixar claro 2 coisas antes de começar a falar sobre gerenciamento de processos com Kanban:



A equipe que desenvolve não pode realizar&nbsp;manutenção caso esteja em um projeto.
É necessário sim ter uma equipe de desenvolvimento


Existirá casos que a empresa não mudará o seu conceito e não contratará uma equipe pra manutenção, aconselho em um caso extremo desse separa alguém da equipe pra fazer essas tarefas, contudo sempre realize um rodízio para que este não fique desmotivado afinal mesmo adotando metodologias e novos&nbsp;padrões&nbsp;processos é algo muito desmotivador pra um programador.



Em primeiro lugar sugiro adotar algum sistema de Tracker, pra suas demandas onde cada demanda será cadastrada de forma a gera identificadores para elas, sendo assim tudo que será feito poderá ser mapeado e documentado de forma a servir para relatórios&nbsp;métodos&nbsp;de métricas e etc.





Então vamos lá, sugiro que sera criado em primeiro lugar metas semanais ou bi semanais para os processos de manutenção, ou seja, a cada semana seja trassada uma meta de entrega para os&nbsp;responsáveis&nbsp;por realizar a manutenção sendo assim sempre no inicio da semana ou a cada duas semanas será feita uma reunião para levantar o que será feito e entregue Exemplo.



Segunda feira:&nbsp;


Levantar as tarefas reportadas e cadastradas no bug tracker.
Priorizar as tarefas, para serem entregas por ordem&nbsp;








Terça a quinta




Desenvolver, testar, homologar com os cliente e publicar os arquivos&nbsp;
Incrementar mais pendências que sempre irão aparecer, claro que este incremento deve ser feito com ordem e priorização.


Sexta&nbsp;


Reunião com o responsável pra rever o que foi feito&nbsp;




Tendo em vista que as tarefas serão cadastradas previamente, o que é importante o programador ter uma meta a seguir durante um espaço de tempo ou seja, uma visão não conduzirá as tarefas de forma desordenada afinal tem uma meta a bater, também será levado em consideração as prioridade feitas pelos cliente ou stakeholders que nesse caso servirá para a ordenação em que serão feitas as tarefas.




Vamos agora ao Kanban, é importante que os passos para o desenvolvimento estejam bem definidos como o Kanban denomina o WIP "Work in Progress", um modelo de Kanban que pode ser usado é este:











Como podemos ver o nosso quadro tem processos bem definidos e é altamente intuitivo, o quadro é composto pelos seguintes&nbsp;status:




Backlog - &nbsp;&nbsp;Termo usado em qualquer literatura de engenharia de software, que&nbsp;
significa&nbsp;&nbsp;em seu entendimento mais básico o conjunto de tarefas ou&nbsp;requisitos&nbsp;levantados, neste caso irão conter apenas o que foi levantado para o nosso ciclo de manutenção.
Analise - Um status com grande importância no processo de desenvolvimento, afinal quase 50% dos problemas reportados pelos clientes são problemas de mau uso ou desconhecimento da ferramente, neste caso, a analise pode ser um status tanto de aprovação da demanda como a própria analise que é sugerida na engenharia de software padrão.
Iniciado e Parado - Neste status a tarefas é compreendida como algo que foi iniciado e está em desenvolvimento, porém, em muitos casos a tarefa pode ser impedida por outra ou por falta de conhecimento necessário para ser&nbsp;prosseguida, nesse caso sugiro criar um status como neste quadro para tarefas que não podem&nbsp;prosseguir&nbsp;por algum motivo.
Teste - Neste status temos a tarefa desenvolvida e funcionando aparentemente, bastando a equipe de teste&nbsp;realizar&nbsp;os teste&nbsp;propriamente&nbsp;dito. Em muitos casos o gerente irá identificar que neste ponto do desenvolvimento haverá um gargalo, sugiro não acumular tarefas em teste afinal, o desenvolvedor poderá pegar esta tarefa novamente ou seja irá para o que está fazendo pra retomar algo que já deveria está homologado.
Aceito - O conceito de aceito é&nbsp;basicamente homologar com o cliente, em muitos casos essa formalidade não será necessária porem, aconselho a fazer sempre que possível, pois isso agrega valor a equipe que terá um respaldo do patrocinador afinal o mesmo terá contato com o que foi desenvolvido.
Produção - &nbsp;Status de cada tarefa, diferente de tarefas de projetos uma demanda de manutenção refere-se a algo que já está em produção, ou seja, ao finalizar todo os processos anteriores com sucesso, esta tarefa deverá ser colocada em ambiente de produção.





Seguindo este processo a sua equipe controlará os processos de forma mais fácil, e dependendo da maturidade da mesma poderá ser auto organizada, mas, dês de já quero deixar claro esse processo embora tenha dado certo comigo e com alguns colegas de profissão não quer dizer que seja a bala de prata que irá resolver todos os seus problemas, o mais importante a ser entendido é que Kanban é uma metodologia que precisa ser seguida e precisa ser aceita pela organização para que seja aproveitada da melhor forma.



Espero que tenham gostado, fico a disposição para responder os comentários.



Att.