Skip to content

Latest commit

 

History

History
99 lines (52 loc) · 7.68 KB

nossa-organizacao.md

File metadata and controls

99 lines (52 loc) · 7.68 KB

Nossa organização

Horizontalidade como princípio

A Instruct visa ser uma empresa horizontal, concentrando a tomada de decisão do dia-a-dia o máximo possível com cada colaborador. Posições de hierarquia tendem a burocratizar o desenvolvimento de atividades e a acumular responsabilidades que podem ser compartilhadas. Desta forma, qualquer colaborador pode se encaixar como pessoa de responsabilidade, referência em determinado assunto e/ou acumulando experiência sobre processos.

Em uma estrutura horizontal o líder não deixa de existir. A posição dele deixa de ser a de centralizador de informações e de tomador de decisões e passa a ser a de coordenador/ajudante. A responsabilidade de decisão passa a ser de todos os envolvidos e neste cenário o líder atua dando forma à decisão da equipe. Desta forma é viável que existam diversos líderes posicionados nas diversas tecnologias que a Instruct utiliza.

Times como unidades de organização

As pessoas na Instruct são agrupadas em times, multidisciplinares e capazes de atuar em diversas demandas ou projetos ao longo do tempo. A troca de experiências entre os colaboradores de diferentes especialidades contribui para expandir os seus conhecimentos e traz melhorias contínuas aos processos.

Não há espaço para pessoas que não conseguem cooperar com a equipe ou que preferem se isolar, buscando individualidade. O engajamento de todos dentro do time é essencial.

Os times trabalham como unidades de atendimento, desta forma, deve-se evitar ao máximo que uma atividade no time pertença totalmente apenas a um colaborador específico e não possa ser eventualmente repassada a outro membro.

O resultado das atividades, sejam elas de escopo fechado ou de entregas contínuas, são de responsabilidade de todo o time, devendo esse trabalhar para manter o conhecimento necessário organizado e o mais disseminado possível entre os membros. Assim, o time precisa garantir os seus serviços funcionando e gerenciar tempo e prazos.

Os times na Instruct devem se auto-organizar na execução de suas tarefas e contam com apoio externo no recebimento de atividades priorizadas, refinamentos, encontros diários e entregas.

Como nasce um time

Inicialmente identificamos os serviços e produtos que desenvolvemos na empresa e os agrupamos primariamente por similaridades de escopo e funcionalidades técnicas em um determinado time.

Agregar o que faz sentido tecnicamente andar junto e ser cuidado por um mesmo grupo de pessoas.

Além de analisar possíveis similaridades técnicas, quando um time recebe uma nova demanda avaliamos o domínio de conhecimento necessário e também a disponibilidade de tempo que essa demanda irá demandar do time, sem prejudicar o que já está em andamento.

Caso os times atuais não tenham condições de incorporar uma nova demanda, será avaliada a viabilidade de aumentar a quantidade de membros de um dos times ou criar um time novo.

Comunicação dentro do time

A comunicação entre os colegas é fundamental para o bom desempenho de todo o time e para isso buscamos manter um ambiente aberto para interação entre todos os membros do time.

Cada time tem um canal privado e somente membros do time estarão no canal além da gestão.

Informações relevantes de produtos e serviços devem estar no Portal, assim como em documentação de código, e nunca no canal do time.

A troca técnica entre seus colegas, independente dos domínios de conhecimento, enriquecem sua bagagem e ampliam sua visão sistêmica. Não é preciso esperar para acontecer. Se tem alguma dúvida, pergunte ao time.

No canal do time se discute tudo referente aos seus serviços e produtos.

Comunicação entre times

Buscamos também identificar serviços e produtos que são compartilhados, ou seja, são utilizados por outros serviços e produtos e devem ter seu uso padronizado para outros times.

Existem diversos canais públicos que são os locais de discussão de tudo que é comum e compartilhado por todos.

Composição de um time

Ao perceber a necessidade de novos colaboradores em um time, avaliamos o perfil necessário e, com o time, realizamos a contratação de um novo colaborador.

Alocado e ambientado ao seu time, o colaborador passa a atuar nas diversas atividades que o time atende. Este colaborador não será compartilhado com outros times nem atuará em atividades que não sejam deste.

Quando necessário, um time pode possuir ao menos um mantenedor. Este profissional apoia tecnicamente o time e tem uma visão mais ampla dos diversos serviços e produtos, orientando o time na utilização dos padrões técnicos da Instruct.

Eventualmente, o time pode necessitar de habilidades e conhecimentos específicos para alguma atividade particular que nenhum membro tenha experiência. Visando o crescimento profissional, essa ausência não impede que o time busque meios para adquirir o novo conhecimento necessário para a execução da tarefa.

Com o dia-a-dia e as especificidades das atividades de cada time, é comum que alguns colaboradores demonstrem interesse em mudar de time. Para isso existem alguns pontos que precisam ser respeitados:

  • Qual é o motivador para a mudança?
  • Qual será o impacto para o time atual? Ele consegue se manter com a ausência deste colaborador?
  • O time desejado atualmente precisa de novos integrantes?
  • O orçamento destinado para o time desejado é suficiente para acomodar o novo colaborador?

Esta avaliação será realizada pela liderança da empresa sempre com o objetivo de viabilizar o que for melhor para os interesses do colaborador e da empresa.

Estrutura mínima de um time

Cada time deve ter no mínimo dois momentos de ampla interação entre seus membros:

  • Retrospectivas técnicas
  • Planejamento de atividades

Uma retrospectiva técnica é o momento onde o conhecimento mais técnico de implementação e execução dos produtos e serviços devem ser permeados pelo time.

O planejamento de atividades é o momento onde o time deve se organizar, priorizar e distribuir tarefas segundo as demandas recebidas.

Resolvendo problemas e buscando ajuda

Buscamos sempre fazer o melhor trabalho possível e com seriedade, considerando as informações que temos. Muitas vezes, nos deparamos com dúvidas, ambiguidades e falta de clareza sobre como encontrar a melhor maneira de resolver um problema.

Tente primeiro olhar para o processo que envolve o problema, antes de pensar em criar um novo. As pessoas que estão no seu time certamente já tem um histórico e conhecimento e, além da documentação, são fonte valiosa de contexto para entendimento.

Foque nas necessidades de hoje, pois as coisas mudam e evoluem constantemente. Geralmente um problema pode ser resolvido de maneira simples, evitando criar complexidade desnecessária.

Não perca tempo com aquilo que não agrega valor na solução do problema. Filtre as informações e trabalhe com o que é realmente importante.

Se houver necessidade, faça mudanças evolutivas e orgânicas. Mudanças drásticas desequilibram o andamento dos processos e dos times.

Se o seu time fez um planejamento para um determinado projeto, confie no plano enquanto os objetivos permanecem os mesmos. Ele irá guiar as ações durante todo o percurso. Grandes conquistas vêm de pequenos resultados construídos no dia-a-dia.

Seja paciente. Muitas vezes é necessário dar um passo atrás para olhar o problema com distanciamento e então retomar o caminho conforme o plano.

Reflita se você não está potencializando dificuldades e tornando-as maiores do que realmente são!

Se ainda faltam informações, sempre busque por mais informações nos canais de forma aberta para que todos possam colaborar.

Caso você tenha encontrado a solução para a sua dúvida, documente-a.