Seguidores

quarta-feira, 12 de março de 2025

Abordagens para identificação de problema durante a utilização do MASP

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

  1. Escolher a Linguagem-Alvo: Por exemplo, Python, Java, JavaScript ou outra.
  2. Aplicar as Perguntas: Realize entrevistas, questionários ou autoavaliações com indivíduos ou equipes.
  3. 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.
  4. 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

Entendendo a Metáfora "Home Office é Moto Boy"

UCEM L-pI.219 (199) Revisão VI - Caso de uso da IA para estudar

  Lição 219  Eu não sou um corpo. Eu sou livre.  Pois ainda sou como Deus me criou. Lição anterior Escolher outra lição Próxima lição Texto ...