Postmortem de Projetos: Aprendendo com os erros

Por: em 11/04/08 na(s) categoria(s): Artigo, Dicas, Software


Software é escrito por humanos, então fica óbvio que nenhum projeto de software é perfeito. Não importa se você está fazendo software para aviões, robôs ou uma locadora, erros serão cometidos. Mas não estou falando apenas de bugs, as falhas de programação.

Erros podem ser cometidos na escolha de tecnologias como linguagem de programação, plataforma, ferramentas, base de dados, arquitetura e vários outros pontos. Ao contrário do que se prega, criar software não é como montar carros de passeio em série e sim montar um carro único, com características que agradem o cliente. De projeto em projeto, existem lições a serem aprendidas e o postmortem é justamente isso, mas de forma organizada e raramente feito.

O desenvolvedor consegue ver os problemas porque tudo estoura na mão dele. O gerente entubou mudanças de requisitos e o escopo tornou-se movediço? Quem trabalha no sábado é o desenvolvedor. A documentação está incompleta? Lá vai o desenvolvedor parar sua tarefa principal, que é “converter aquela pasta de documentos, planilhas, cronogramas, atas de reunião e anotações em cadernos” em algo realmente útil, para encontrar como fazer. Atrasou? “O que você faz entre meia noite e seis da manhã?”

Um postmortem de projeto deveria fazer parte da cultura das empresas que criam software, mas só as que realmente estão buscando qualidade incorporam essa prática. Uma fonte excelente é o website www.gamasutra.com, que fala sobre o desenvolvimento de jogos. Eles possuem uma coluna que virou até livro e mostra porque alguns estúdios fazem tanto sucesso e outros somem do mapa: eles estão constantemente se auto-avaliando e documentando, logo após a entrega.

Para quem está começando, uma sugestão é escrever um documento simples com: pontos positivos/realizações, dificuldades/problemas e recomendações. Nada chique nem rebuscado. Detectou que a empresa precisa de uma pessoa para criar a parte visual, coloque o problema gerador disso:
- O desenvolvimento gastou 40% do seu tempo com html e css, ao invés de concentrar em regras de negócio.
Nas recomendações, coloque a sugestão para solucionar ou pelo menos tenha menor impacto futuro:
- É necessário um profissional especializado em interface e prototipação de tela, aplicando-se webstandards. Isso irá liberar o desenvolvimento na solução de bugs de sistema.

Para saber um pouco mais sobre o assunto, recomendo a leitura do artigo The Project Postmortem: An Essential Tool for the Savvy Developer. As recomendações dele vão direto ao ponto, mas obviamente, nem todas serão aplicáveis à sua rotina.

Moral do Post:

- Um bom profissional, de qualquer área, aprende com os próprios erros.
- Um excelente profissional aprende com os próprios erros, documenta-os e compartilha essas lições com outros.
- Um postmortem pode ser algo formal, uma reunião com pauta e documentação, um processo da empresa.
- Não gosta de formalidade? Sem problemas: faça num restaurante, num bar ou um churrasco, mas converse sobre o assunto, discuta os marcos, pontos positivos e o que não foi tão bom. O importante é falar sobre o assunto e depois, é claro, documentar, mesmo que num e-mail.
- E como bem diz o artigo acima: deve haver um plano de ação. De que adianta falar sobre o assunto se ninguém se mexe para fazer algo a respeito. Se a gerência não leva isso a sério… a empresa não merece você como profissional.

Fonte: Bicalho´s Memory About Fraked Up Projects

  • carlosgaucho

    Bom artigo.
    A empresa que trabalho está quase confirmando que ela não merece um profissional como eu :P

  • claudioct

    [quote="Ricardo Bicalho"]Ao contrário do que se prega, criar software não é como montar carros de passeio em série e sim montar um carro único[/quote]
    Eu estava conversando com minha equipe sobre isto nesta semana, cada Projeto dentro da Fábrica funciona como uma célula “praticamente autônoma” com suas regras, onde o Gerente decide até (caso o Cliente não tenha Requisitado especificamente) se usará Designe Patterns, Testes Unitários e outras tecnologias.
    ______________________________________________

    “É uma cilada Bino”

  • xultz

    Eu acho que o mais difícil de um processo assim é convencer às pessoas que admitirem os erros é uma coisa benéfica e não demérito, mas a vaidade humana é sempre mais forte. Eu estou trabalhando agora num projeto de hardware, que está entupido de erros de conduta, e como resultado o projeto está atrasadíssimo e eu estou consertando todos os erros encontrados até aqui, mas o mais difícil é o engenheiro chefe admitir qualquer um deles.

  • http://yawara.br.com Ubiratan.apo

    Eu prefiro o termo “Lições aprendidas” a “Postmortem”, mas isso é questão de gosto.

    O problema à resistência ao Postmortem é que as pessoas devem reconhecer seus erros, e passar essa barreira não é nada fácil, mas após isso, se as lições forem realmente aprendidas, as pessoas passam a dar valor ao processo e passam a exigi-lo.

    yawara.br além da tecnologia.

  • danielmb

    Ótimo, adorei o artigo. pode-se empregar isso até em trabalhos da faculdade. hehehehhee

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Não tenho como assinar, eu não tenho BLOG

  • http://www.worldorg.net flaviotomazio

    Mais um ótimo artigo. O Ricardo tem que escrever um livro.

    WorldOrg

    • carloshp

      [quote=flaviotomazio]Mais um ótimo artigo. O Ricardo tem que escrever um livro.

      WorldOrg[/quote]

      Concordo em gênero, número e grau. É uma pena que o formato atual do MeioBit não facilite ter algo como uma “coluna” com artigos afins arrumados cronológicamente para categorizar este e outros artigos. [hint]Quase justifica criar um “Daily WTF?-Brazil” para aglomerar estas e outras experiências[/hint].


      Tecnologia deve ser o meio, não o fim.

    • xzerorj

      Concordo em gênero número e grau, principalmente porque nós que somos da área nos identificamos muito com os casos que ele coloca na coluna. Interessante seria podermos enviar algumas situações, reais ou não, para discutirmos em aberto para compararmos as posturas dos outros profissionais, o acha? E aí Bicalho? Topa?

  • jwjosefy

    Ricardo, você poderia por gentileza colocar no fim da matéria o link para os outros artigos da série? Eu sei que tem outros, mas a minha preguiça foi maior, e eu não os salvei no delicious =)

    Obrigado! :)

  • http://joaoseixas.blogspot.com joaobosco

    Parabéns ao autor!!
    Mais um bom artigo!!
    sóbrio, direto, bem fundamentado, etc…

    Isso ai é muito importante, para o desenvolvedor que pode alertar e em alguns casos até se salvar de situações difíceis no futuro por conta de uma documentação como essa.
    Um bom gerente pediria a todos os seus funcionários que fizessem documentos como esse e então compilaria tudo e levaria até um escalão maior, onde essas opiniões poderiam trazer melhorias ao setor ou a toda empresa.
    O problema é que tem pouco bons gerentes por ai… e uma parte dos bons está preocupada demais em mostrar resultado e procura não se comprometer com a “direção” lutando por causas que podem ser mal vistas pela empresa, por mais que isso seja para melhorar os processos…

    Quando se fala em contratação, compra e qualquer outra coisa que vá gastar tempo e dinheiro, a primeira visita sempre vai da com a cara na porta!

  • avontz

    Em desenvolvimento agil tem algo parecido, que é revisão de sprint ( xp, scrum like..) onde vc fala o que vc achou que deu certo, o que deu errado, falhas, impedimentos e afins. também tem uma parte para dúvidas onde a equipe discute uma solução para adotar no próximo sprint.

    Tudo isso fica documentado para no final do próximo sprint, os relatórios possam ser comparados.

    *******************************

    Música eletrônica + atitude -> sabotagem.org

  • http://marcogomez.com.br/blog gmazk

    Excelente artigo camarada. Parabéns!

  • http://www.jsfalcao.blogspot.com jadersonfalcao

    Otimo artigo!

  • DoseLetal

    Ricardo, ontem cheguei na faculdade, e na aula de informática o professor havia imprimido este post pra galera digitar na aula de Word.

    ((Não preciso nem dizer que como leitor do MeioBit, eu saí mais cedo né? }:) )

    • ClaytonD3

      Aula de Word na faculdade?