INTRODUÇÃO
Contexto
Home Office de qualquer especialidade, que tenha interesse em fazer estimativas de seu conhecimento sobre determinado Serviço, durante o planejamento.
Objetivo
O objetivo deste post é apresentar um exemplo de estimativa de conhecimento sobre uma tecnologia.
Abordagem Utilizada
T-Shirt Size e a Série de Fibonacci são abordagens que, quando combinadas, podem ser usadas para estimar o conhecimento de indivíduos ou equipes sobre um tema específico, como uma tecnologia.
Vamos ver como isso pode ser aplicado:
O Conceito de T-Shirt Size
T-Shirt Size é uma técnica de estimativa que utiliza categorias simples (como tamanhos de camisetas) para quantificar o nível de conhecimento ou complexidade. Por exemplo:
- MP (Muito pequeno)
- P (Pequeno)
- M (Moderado)
- B (Bom)
- A (Avançado)
- E (Especialista)
O Papel da Série de Fibonacci
A Série de Fibonacci (1, 2, 3, 5, 8, 13...) é frequentemente usada para estimar valores em contextos ágeis devido à sua natureza não-linear.
Os números representam incrementos proporcionais, permitindo captar a complexidade crescente (ou o esforço necessário) para atingir cada nível.
Ao combinar os dois, cada tamanho da T-Shirt Size pode ser mapeado para um valor da Série de Fibonacci, ajudando a estabelecer um grau quantitativo de conhecimento.
Isso cria uma métrica padronizada que ajuda a comparar e priorizar o aprendizado.
Exemplo: Estimando o Conhecimento sobre uma Tecnologia
Imagine que você quer estimar o conhecimento de uma equipe sobre a tecnologia Kubernetes.
Aqui está como seria a aplicação:
Passo 1: Definir os níveis de conhecimento (T-Shirt Size):
- MP (1): Nunca ouviu falar de Kubernetes.
- P (3): Tem uma noção básica, mas nunca o utilizou na prática.
- M (8): Consegue realizar configurações simples e explicar conceitos fundamentais.
- B (21): Experiência prática na configuração e gerenciamento de clusters.
- A (55): Consegue integrar Kubernetes em arquiteturas mais complexas e solucionar problemas críticos.
- E (144): Especialista em Kubernetes, capaz de otimizar clusters e criar ferramentas personalizadas.
Passo 2: Realizar uma avaliação individual ou em grupo.
Faça perguntas para mapear o nível de conhecimento atual, como:
- "Você já trabalhou com clusters de Kubernetes?"
- "Consegue explicar como funciona o controle de deployments?"
Passo 3: Atribuir os níveis Fibonacci.
Cada membro ou equipe é classificado em um tamanho T-Shirt (MP até E).
O tamanho é convertido no valor correspondente da Série de Fibonacci:
Exemplo: se a maioria está no nível M (8), você sabe que o conhecimento é moderado.
Passo 4: Planejar a evolução do conhecimento.
Use o número Fibonacci como referência para mensurar o esforço necessário para subir de nível.
Por exemplo:
- M (8) para B (21) exige mais esforço e tempo do que de MP (1) para P (3).
Benefícios:
- A T-Shirt Size proporciona clareza e simplicidade para categorizar níveis de conhecimento.
- A Série de Fibonacci traz uma perspectiva quantitativa para mensurar o avanço.
- Ao combinar as duas, você tem uma ferramenta escalável e padronizada para identificar gaps de conhecimento e planejar treinamentos.
Essa abordagem pode ser adaptada para outras tecnologias ou até mesmo áreas específicas. O que você acha?
Exemplo: Conhecimento de linguagem de programação
Vamos construir uma lista de perguntas específicas para linguagens de programação, baseadas nos níveis de T-Shirt Size e Série de Fibonacci.
Estas perguntas podem ajudá-lo a estimar o conhecimento individual ou em equipe sobre qualquer linguagem de programação.
Aqui está um exemplo detalhado:
1. Nível MP (1): Muito Pequeno
- Você já ouviu falar sobre essa linguagem de programação?
- Sabe para que tipos de projetos ou tarefas ela é comumente utilizada? > Exemplo: "Você já ouviu falar sobre Python? Sabe que ele é frequentemente usado em aprendizado de máquina, automação e desenvolvimento web?"
2. Nível P (3): Pequeno
- Você conhece a sintaxe básica da linguagem, como declarar variáveis e funções?
- Já experimentou escrever um pequeno programa ou script simples usando essa linguagem? > Exemplo: "Você sabe como declarar uma variável em JavaScript ou criar uma função simples em Python?"
3. Nível M (8): Moderado
- Você consegue explicar os principais conceitos da linguagem, como estruturas de controle (loops, condicionais) e tipos de dados?
- Já desenvolveu um programa funcional de complexidade média usando essa linguagem?
- Sabe como usar bibliotecas ou pacotes para adicionar funcionalidades? > Exemplo: "Você sabe trabalhar com listas e dicionários em Python? Já usou bibliotecas como Pandas ou NumPy?"
4. Nível B (21): Bom
- Você tem experiência prática em projetos reais usando essa linguagem?
- Consegue depurar (debugar) problemas em código complexo?
- Sabe aplicar os paradigmas de programação suportados pela linguagem, como programação funcional ou orientada a objetos? > Exemplo: "Você consegue desenvolver e depurar aplicações web usando frameworks como Flask ou Django no Python?"
5. Nível A (55): Avançado
- Você é capaz de integrar a linguagem em soluções mais complexas e arquiteturas maiores, como microserviços ou sistemas distribuídos?
- Já contribuiu para bibliotecas, frameworks ou projetos de código aberto relacionados à linguagem?
- Consegue otimizar o desempenho de programas e aplicar práticas avançadas de engenharia de software, como testes automatizados e CI/CD? > Exemplo: "Você já integrou Python em uma arquitetura de microsserviços ou desenvolveu ferramentas personalizadas para um problema específico?"
6. Nível E (144): Especialista
- Você domina os aspectos internos da linguagem, como funcionamento do interpretador ou compilador?
- Consegue criar e documentar bibliotecas e frameworks do zero?
- Já ministrou treinamentos, publicou artigos ou palestras sobre essa linguagem? > Exemplo: "Você compreende como funciona o garbage collector do Python? Já criou um framework próprio ou ministrou cursos sobre a linguagem?"
Estratégia de Aplicação
- Escolher a Linguagem-Alvo: Por exemplo, Python, Java, JavaScript ou outra.
- Aplicar as Perguntas: Realize entrevistas, questionários ou autoavaliações com indivíduos ou equipes.
- Mapear os Resultados: Classifique cada pessoa ou equipe no nível correspondente (MP a E) e use os números Fibonacci para estimar a "distância" até o próximo nível.
- Definir um Plano de Evolução: Planeje treinamentos, cursos ou práticas para ajudar a elevar o conhecimento progressivamente.
Essa abordagem oferece uma visão estruturada e eficiente para estimar e planejar o aprendizado sobre linguagens de programação.
Se a pessoa não consegue responder afirmativamente a pelo menos uma das perguntas de um determinado nível, ela é classificada nesse nível ou em um nível anterior, conforme sua familiaridade.
As perguntas são projetadas para avaliar aspectos fundamentais e práticos do conhecimento.
Se a resposta for negativa, é um indicativo de que há lacunas a serem trabalhadas antes de avançar para o próximo nível.
Por exemplo, se alguém responder "não" às perguntas do nível M (Moderado), como "Você já desenvolveu um programa funcional usando essa linguagem?", essa pessoa provavelmente está classificada no nível P (Pequeno) até que ganhe mais prática.
CONCLUSÃO
Essa abordagem oferece clareza para identificar o ponto de partida e planejar o progresso de forma incremental e adaptada.
Veja como aplicar essa abordagem para planejar a evolução para o próximo nível neste post:

Nenhum comentário:
Postar um comentário