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"

Dashboard de Produtividade Pessoal T1E14: RESOLVIDO BugCT1-5 Erro 400 no login

INTRODUÇÃO Post anterior:  Dashboard de Produtividade Pessoal T1E13: BugCT1-5 Erro 400 no login O objetivo deste post é apresentar um prompt...