Compreender por que certos recursos não são entregues muitas vezes pode ser um desafio. A gestão pode culpar as equipas técnicas, enquanto as equipas técnicas apontam o dedo para a gestão. Enquanto isso, o lado empresarial fica preso no meio, tentando identificar a causa raiz enquanto busca resultados, independentemente das circunstâncias. Este cenário normalmente surge após um crescimento significativo da empresa ou quando problemas anteriores, antes fáceis de resolver, foram negligenciados ao longo do tempo. É um equívoco comum pensar que todos os problemas em uma empresa de tecnologia são puramente técnicos; isso está longe de ser verdade.
Neste artigo, descreverei áreas dentro da organização de uma empresa que podem prejudicar significativamente a entrega de recursos. Também sugerirei instruções para investigar para identificar as causas raízes, que podem então ser escaladas ou resolvidas dentro do seu nível de autoridade.
É crucial compreender nosso ambiente de trabalho antes de implementar quaisquer alterações ou melhorias. Embora muitos livros esclarecedores tenham sido escritos sobre esse assunto, nem todas as abordagens serão adequadas para todas as empresas. Isto não é um reflexo de ter feito algo errado, mas sim um reconhecimento da natureza única de cada empresa.
Uma observação importante é que os insights compartilhados aqui estão principalmente relacionados ao desenvolvimento de software e são mais aplicáveis a empresas ou departamentos com 50 ou mais funcionários.
Em primeiro lugar, entenda o tamanho e a estrutura da sua empresa. Identifique os vários departamentos e esclareça as expectativas de cada um. Avalie se todos esses departamentos são necessários. Crie um diagrama da estrutura organizacional, detalhando cada departamento e suas funções, garantindo que você entenda o que eles fazem e por que existem. Freqüentemente, cada departamento consiste em várias equipes – inclua-as também em seu diagrama, mas não as descreva por enquanto, apenas continue com os nomes das equipes.
À medida que as empresas crescem, as estruturas organizacionais podem tornar-se complexas, dificultando o acompanhamento do progresso. Nessa complexidade, você pode perder de vista a lógica original por trás da criação de determinados departamentos ou equipes. Algumas equipes podem ter sido criadas para resolver problemas que não são mais relevantes. Aqui está como pode parecer em alto nível.
Depois de ter um diagrama claro de sua estrutura organizacional, o que vem a seguir?
A seguir, é essencial mapear a hierarquia de seus funcionários. Compreender quem se reporta a quem e porquê é crucial. Os gestores de linha precisam comunicar de forma eficaz com os seus subordinados, quer gerem uma grande unidade de negócios ou uma pequena equipa. A comunicação deve ser clara, seja em linguagem técnica ou comercial, pois lidar com ambas pode ser desafiador. Em empresas maiores, podem existir gestores diretos e funcionais com áreas de responsabilidade distintas, que devem estar claramente representadas no seu diagrama hierárquico.
Uma hierarquia de funcionários não apenas esclarece as linhas hierárquicas, mas também ajuda a identificar setores verticais dentro da organização. Verticais são estruturas hierárquicas que servem como recursos compartilhados entre vários departamentos, como designers, RH, DevOps e até mesmo desenvolvedores. Embora os setores verticais possam ser muito benéficos, às vezes podem tornar-se gargalos, especialmente quando os desenvolvedores trabalham em projetos diferentes e se reportam a gerentes que não estão familiarizados com as metas de negócios ou com os desafios técnicos. Como resultado, os desenvolvedores não recebem feedbacks adequados e os gerentes não têm um contexto adequado. Portanto, compreender a hierarquia é vital para identificar e analisar potenciais problemas ou priorização das tarefas. No final você terá algo assim.
Anotação
CEO – CEO
CPO – Diretor de Produto
CTO – Diretor Técnico
COO – Diretor Operacional
HD — Chefe de Design
PO - Dono do Produto
HE - Chefe de Engenharia
HS – Chefe de Vendas
HM - Chefe de Marketing
D – Desenvolvedor
PM - Gerente de Produto
TL – Líder Técnico
EM — Gerente de Engenharia
S - Gerente de Vendas
M - profissional de marketing
Compare sua estrutura organizacional com suas linhas hierárquicas para obter insights sobre o envolvimento de cada funcionário em diversas atividades. Além disso, alinhar a sua estrutura organizacional com a hierarquia dos funcionários pode ajudar a determinar se os indivíduos estão trabalhando nos mesmos departamentos e equipes e em direção a um objetivo comum. O modelo de mapeamento depende totalmente de você, mas poderia ser assim.
É importante definir claramente a área de atuação de cada equipe. Se uma equipe trabalha com código, especifique os serviços que ela usa e os que possui. Surpreendentemente, muitas vezes podem ser diferentes. Determine se a equipe opera exclusivamente dentro de um departamento ou se é uma equipe de plataforma que trabalha nos principais recursos utilizados por outras equipes sem alterá-los diretamente.
Criar uma tabela pode ser muito útil, com as seguintes colunas: nome da equipe, departamento, lista de serviços próprios, lista de serviços gerais que a equipe pode modificar, mas não possui (idealmente, não deveria haver tais serviços) e uma breve descrição . Esta tabela irá ajudá-lo a examinar se várias equipes estão trabalhando na mesma base de código, levando a conflitos, ou se há falta de clareza em relação às suas áreas de responsabilidade. Também pode revelar se uma equipe está principalmente corrigindo bugs ou se envolvendo em várias tarefas sem um foco claro.
Este nível de detalhe é crucial para identificar sobreposições, conflitos e lacunas nas responsabilidades da equipe, garantindo uma colaboração mais tranquila e uma execução mais eficiente do projeto.
Além de descrever as equipes, é fundamental entender as posições gerais dos colaboradores e preparar uma descrição detalhada de suas responsabilidades. Muitas vezes, o que a gestão prevê pode diferir significativamente do que os funcionários estão realmente fazendo. A indústria de desenvolvimento de software possui uma variedade de posições e as expectativas podem variar muito de empresa para empresa. Por exemplo, a função de um Gerente de Engenharia pode diferir amplamente, sem mencionar funções como Gerentes de Entrega, Cientistas de Dados, Arquitetos, Líderes Técnicos e assim por diante. Em algumas empresas, pode-se esperar que uma única pessoa desempenhe múltiplas funções.
Definir expectativas claras para cada posição é essencial. Essa clareza não só ajuda a monitorar as atividades de maneira adequada, mas também garante que os funcionários entendam o que se espera deles e o que está fora do seu escopo. Isso se aplica a todos os cargos dentro da organização. Definições claras de funções ajudam a evitar sobreposições, reduzir a confusão e garantir que todos trabalhem em prol de objetivos comuns de maneira eficiente e organizada.
Até agora, você deve ter uma compreensão clara da estrutura da sua empresa, da hierarquia dos funcionários e de suas responsabilidades. Embora as coisas possam parecer confusas, o objetivo é primeiro compreender o estado atual antes de fazer qualquer alteração. Agora é hora de descrever seu processo de entrega de recursos — como os recursos de negócios passam da ideia inicial à produção.
Por favor, não se concentre aqui nos aspectos técnicos como CI/CD, mas no fluxo do negócio para os desenvolvedores, assumindo que os desenvolvedores escrevem o código e o implantam diretamente na produção. O objetivo é identificar quaisquer problemas em seu processo, desde a empresa até a equipe, e ver até que ponto os funcionários se alinham com ele.
Considere estes aspectos:
Lembre-se de que cada nível de gestão e de relatórios acrescenta complexidade e incerteza, independentemente da direção. Em última análise, o seu diagrama de processo deve responder a uma pergunta simples: “Como?”
Você pode brincar com os modelos e ajustá-los às suas necessidades. Aqui está um exemplo de processo de entrega de alto nível, sem atores-chave que regulam a entrega, mas com prazos.
Se você não tiver certeza de como criar este diagrama, considere usar BPMN (Business Process Model and Notation) ou um formato mais simples, como retângulos e linhas, para garantir clareza e compreensão entre todas as partes interessadas. A chave é tornar o processo claro e compreensível.
Depois de mapear a estrutura da empresa, a hierarquia dos funcionários, as responsabilidades das equipes e dos cargos e o processo de entrega, compartilhe todas as suas descobertas com a organização e realize uma pesquisa, de preferência anônima. Esta linha de base destaca como sua empresa opera. Embora você mesmo possa ter preparado esta visão geral ou delegado algumas tarefas, é provável que desenvolvedores, designers e analistas não estejam diretamente envolvidos. O feedback deles é crucial para avaliar a precisão de suas descobertas.
Peça aos funcionários que avaliem a qualidade da sua documentação. O que eles pensam sobre o processo de entrega? Reflete verdadeiramente como as coisas são feitas? Onde eles veem impedimentos?
Espere uma variedade de reclamações e feedback que o ajudarão a refinar suas descobertas para melhor corresponderem à realidade das operações da empresa. Este feedback é vital, pois o contexto muitas vezes se perde em vários níveis de hierarquia, e a coleta de informações de todos os níveis fornecerá uma imagem mais clara e precisa da organização.
Agora que você tem uma descrição abrangente de como sua empresa ou seus departamentos operam, você pode começar a analisar e buscar possíveis problemas. Esta linha de base fornece um ponto de partida claro para a compreensão e resolução de problemas.
Aqui estão algumas áreas nas quais focar:
Ao final, você poderá preparar uma lista de problemas reais que sua empresa tem, é algo em que você estará trabalhando. Priorize-os desde os críticos que exigem interação imediata até melhorias “boas para se ter”.
Você pode estar se perguntando: “Tudo isso parece ótimo, mas como posso realmente melhorar as coisas?” Essa é uma boa pergunta, e a resposta honesta depende dos problemas específicos que você identifica e das necessidades do seu negócio. No entanto, um conselho crucial é evitar tentar mudar tudo de uma vez. Em vez disso, implemente pequenas mudanças de forma incremental, avalie os resultados e repita. Lembre-se de que a abordagem ágil funciona não apenas no desenvolvimento de software, mas pode ser aplicada a qualquer tipo de mudança organizacional.
Aqui estão algumas etapas para orientar seu processo de melhoria:
Seguindo essas etapas, você pode fazer mudanças incrementais e informadas que melhoram gradualmente a eficiência e a eficácia da sua organização.
O objetivo foi destacar questões comuns que podem surgir em qualquer empresa ou departamento. Evitei intencionalmente recomendar estruturas ou abordagens específicas porque cada empresa tem objetivos e estruturas únicas e é crucial decidir o que funciona melhor para você.
Novamente, é fácil colocar a culpa nos desenvolvedores, mas lembre-se, eles podem não ter conhecimento das prioridades de negócios ou serem bloqueados por processos de entrega pouco claros. Às vezes, a própria empresa cria bloqueadores inconscientemente. Espero que este artigo ajude a dar os primeiros passos em direção à melhoria.