Estruturar uma área de desenvolvimento de sistemas envolve Metodologia de Gestão
Estruturar uma área de desenvolvimento de sistemas envolve Metodologia de Gestão
Aqui entraremos na organização e gerenciamento do dia-a-dia. Serão definidas as principais rotinas para a área.
Serão especificados os controles necessários e não falaremos de "comando-controle" e sim de como administrar e gerenciar as atividades de forma organizada.
É importante que as pessoas tenham clareza sobre quais atividades possuem uma data limite (por prazo fiscal/legal), possuem um limite de tempo (por alguma questão contratual) e os controles que precisam ser respeitados.
Sistema de controle de versão (Git, GitHub, CVS) e fluxo para o código e entregáveis
Um primeiro ponto importante é definir a forma de armazenar, versionar e controlar (ter histórico) as alterações de código-fonte.
Existirão versões de homologação e produção? Como será o gerenciamento de branchs?
Neste tópico também pode ser discutida a rotina de integração (CI-Continuous Integration) e entrega (CD-Continuous Deploy).
Fluxo de trabalho (workflow)
Qual é o fluxo esperado para uma atividade do desenvolvimento?
A pessoa puxará as suas tarefas de uma lista priorizada? Entregará a tarefa finalizada para quem?
Quando surgirem as dúvidas, quem será acionado?
E os bugs?
Qual será a rotina utilizada para bug?
É importante classificar o bug para saber a urgência e a prioridade.
Meios de comunicação
Quais meios serão utilizados? Esta definição é muito importante principalmente em times remotos assíncronos.
Qual será o protocolo de comunicação para as emergências? E o que define uma emergência?
Recomendados pelo LinkedIn
SCRUM
SCRUM é um framework para ajudar na forma de conduzir a rotina. Existe definição da teoria (transparência, inspeção, adaptação), valores, time (papéis), eventos e artefatos.
É uma ótima forma para iniciar a organização e gestão do desenvolvimento. Exige o envolvimento de pelo menos 3 pessoas.
Estudar o SCRUM GUIDE e o manifesto ágil são requisitos obrigatórios para adotar este framework.
Um ponto importante no SCRUM é o direcionamento para times auto gerenciáveis. Outro aspecto é o trabalho é agrupado por caixas de tempo (sprints) de no máximo 1 mês.
Kanban
É um método evolutivo para gerenciamento através de quadro e cartões. Você pode começar com um quadro simples e ir evoluindo conforme a necessidade.
Cada atividade é um cartão e a entrega ocorre quando o cartão chega ao final do quadro.
Time Sheet
Será necessário controlar as horas trabalhas pelas pessoas e em quais atividades? Este tempo será utilizado para métrica de custo e lucratividade?
Deixe as regras claras e defina as ferramentas que serão utilizadas.
Como serão tratadas as metas e métricas? (SLA, SLO, SLI)
Será utilizado SLA (service level agreement - acordado), SLI (service level indicators - realizado) e SLO (service level objective - objetivo)?
São números importantes para avaliar o tempo de resposta.
Tudo isto precisa ser minimamente definido para que as pessoas possam produzir resultados.
Vamos continuar esta conversa? Deixe o seu comentário ou envie uma mensagem!
#desenvolvedores, #dev, #devs, #gestaodeprojetos, #erp, #desenvolvedor, #gestaodeti, #tecnologiadainformação