## # A tibble: 12,299 x 17
##    task_number summary     priority raised_by_id assigned_to_id authorised_by_id
##    <chr>       <chr>          <dbl> <chr>        <chr>          <chr>           
##  1 1735        Flag RI on…        1 58           58             6               
##  2 1742        Allow RI P…        1 58           42             6               
##  3 1971        Fix Invali…        2 7            58             6               
##  4 2134        New rows i…        5 50           42             6               
##  5 2251        Applicatio…       10 46           13             6               
##  6 2283        Remove Llo…        1 13           13             58              
##  7 2400        RI Meta_Fi…        5 13           13             6               
##  8 2451        Settlement…        5 13           58             6               
##  9 2475        Write self…        6 13           13             6               
## 10 2499        Seach cont…        5 1            26             58              
## # … with 12,289 more rows, and 11 more variables: status_code <chr>,
## #   project_code <chr>, project_breakdown_code <chr>, category <chr>,
## #   sub_category <chr>, hours_estimate <dbl>, hours_actual <dbl>,
## #   developer_id <chr>, developer_hours_actual <dbl>, task_performance <dbl>,
## #   developer_performance <dbl>

O que são os dados

## Rows: 12,299
## Columns: 17
## $ task_number            <chr> "1735", "1742", "1971", "2134", "2251", "2283",…
## $ summary                <chr> "Flag RI on SCM Message Summary screen using me…
## $ priority               <dbl> 1, 1, 2, 5, 10, 1, 5, 5, 6, 5, 2, 1, 3, 1, 1, 8…
## $ raised_by_id           <chr> "58", "58", "7", "50", "46", "13", "13", "13", …
## $ assigned_to_id         <chr> "58", "42", "58", "42", "13", "13", "13", "58",…
## $ authorised_by_id       <chr> "6", "6", "6", "6", "6", "58", "6", "6", "6", "…
## $ status_code            <chr> "FINISHED", "FINISHED", "FINISHED", "FINISHED",…
## $ project_code           <chr> "PC2", "PC2", "PC2", "PC2", "PC2", "PC9", "PC2"…
## $ project_breakdown_code <chr> "PBC42", "PBC21", "PBC75", "PBC42", "PBC21", "P…
## $ category               <chr> "Development", "Development", "Operational", "D…
## $ sub_category           <chr> "Enhancement", "Enhancement", "In House Support…
## $ hours_estimate         <dbl> 14.00, 7.00, 0.70, 0.70, 3.50, 7.00, 7.00, 7.00…
## $ hours_actual           <dbl> 1.75, 7.00, 0.70, 0.70, 3.50, 7.00, 7.00, 7.00,…
## $ developer_id           <chr> "58", "42", "58", "42", "13", "13", "43", "58",…
## $ developer_hours_actual <dbl> 1.75, 7.00, 0.70, 0.70, 3.50, 7.00, 7.00, 7.00,…
## $ task_performance       <dbl> 12.25, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00…
## $ developer_performance  <dbl> 12.25, 0.00, 0.00, 0.00, 0.00, 0.00, NA, 0.00, …

Entendendo os dados

Qual a distribuição das estimativas? Dos tempos de tarefa? Os tamahos de time? Quantos projetos temos? O que mais lhe parece relevante de explorar antes de começar a trabalhar com perguntas sobre as estimativas e tempos de tarefa das pessoas que trabalharam nas tarefas que os dados descrevem?

## # A tibble: 10,266 x 17
## # Groups:   task_number [10,266]
##    task_number summary     priority raised_by_id assigned_to_id authorised_by_id
##    <chr>       <chr>          <dbl> <chr>        <chr>          <chr>           
##  1 10000       CCC System…        1 26           13             58              
##  2 10001       BMS suppor…        3 46           42             <NA>            
##  3 10002       Allow matc…        5 65           65             58              
##  4 10003       Client Mee…        1 66           58             58              
##  5 10004       Sort out C…        5 26           26             <NA>            
##  6 10005       Remaining …        3 26           26             58              
##  7 10006       Decide (an…        3 26           26             <NA>            
##  8 10007       Meeting wi…        1 58           58             58              
##  9 10008       EROS Repla…        1 58           58             58              
## 10 10009       Live Serve…        1 43           43             43              
## # … with 10,256 more rows, and 11 more variables: status_code <chr>,
## #   project_code <chr>, project_breakdown_code <chr>, category <chr>,
## #   sub_category <chr>, hours_estimate <dbl>, hours_actual <dbl>,
## #   developer_id <chr>, developer_hours_actual <dbl>, task_performance <dbl>,
## #   developer_performance <dbl>

Estimativas

## # A tibble: 3 x 3
##   category    varianca desvio_padrao
##   <chr>          <dbl>         <dbl>
## 1 Development     654.          25.6
## 2 Management      554.          23.5
## 3 Operational     195.          14.0

Na figura acima os dois triângulos representam o 25 e o 75 percentil, o X representa a mediana e o losango a média. Para todas as categorias, metade das estimativas se concentram na faixa entre 1 e 8 horas. Existem estimativas muito grandes que deslocam a média das estimativas para cima. Por conta de valores extremos, a varianca das estimativas é maior para as categorias desenvolvimento e manutencao. A distância interquartil percebida no gráfico parece semelhante para todas as categorias.

Tempos

## # A tibble: 3 x 3
##   category    varianca desvio_padrao
##   <chr>          <dbl>         <dbl>
## 1 Development    1371.          37.0
## 2 Management      902.          30.0
## 3 Operational    4101.          64.0

Na figura acima os dois triângulos representam o 25 e o 75 percentil, o X representa a mediana e o losango a média. É possível perceber que existem pontos bem maiores nesse gráfico comparando com o gráfico anterior. As métricas robustas a valores extremos não se alteraram muito, no entanto é possível perceber que os valores extremos deslocaram a média e alteraram bastante a varianca e desvio padrão nas categorias de desenvolvimento e operacional.

Tamanhos dos times

## # A tibble: 3 x 3
##   category    varianca desvio_padrao
##   <chr>          <dbl>         <dbl>
## 1 Development     14.5          3.81
## 2 Management      10.2          3.19
## 3 Operational     10.1          3.18

Os times de desenvolvimento tendem a mais numerosos Os tamanho dos times varia mais para as tarefas de desenvolvimento.

Projetos

## # A tibble: 3 x 2
## # Groups:   category [3]
##   category        n
##   <chr>       <int>
## 1 Development  8220
## 2 Management   2105
## 3 Operational  1974

Existem 8220 projetos de Desenvolvimento. 2105 de Manutencão e 1974 de operacional.

Outras perguntas

Desenvolvedor que mais trabalhou?

## `summarise()` has grouped output by 'developer_id'. You can override using the `.groups` argument.

A média está representada na linha preta. 10 desenvolvedores trabalharam bem acima da média. ## Duas perguntas

Consideremos que o erro em uma estimativa é a diferença entre a estimativa e o tempo que a tarefa de fato tomou. O erro absoluto é o módulo do erro.

Como é a distribuição do erro nas estimativas de diferentes subcategorias de tarefas? Se quiser, use também as categorias nos dados.

Em todas as categorias existe uma grande quantidade de acertos na previsão (erro zero). O erro na categoria Operacional tem uma cauda mais longa. Essas pontos extremos equilibram a média em um valor equiparável com as outras categorias.

Como se comparam as distribuições de tempo (real) das tarefas entre os diferentes times? Há times com tarefas consideravelmente maiores?

Alguns poucos projetos são bem mais mais exigidos do que outros. A distribuicão de categoria de tarefa é bem variada entre projetos. A média está bem deslocada por conta de pontos extremos.