Software Craftsmanship no MRE

(Ateliê de Software)

 

Gustavo Maultasch

Chefe da Divisão de Informática do MRE

 

Reunião do SISP - 15/03/2016

Histórico do MRE

  • Modelo "antigo" (posto de trabalho) até 2010
  • Modelo de fábrica de software
    • 2 contratos (2011 a 2015)

Fábricas - Problemas

  • Baixíssima qualidade nas entregas
    • 80 bugs
  • Atrasos surreais
  • Escopo/requisitos mal construídos
  • Altíssimo turn-over
  • Etc.

Atrasos

Insatisfação dos "altos" stakeholders

Redução do nível do aceite

Insatisfação dos "baixos" stakeholders

Resultados dos projetos

  • Nunca entregues
  • Entregues com atrasos
    • 2 anos!
  • Entregues com escopo errado
  • Entregues sem qualidade (UX, performance etc.)

Glosa

Glosa

Glosa

Glosa

Problemas com o modelo

  • Filosofia/concepção (fábrica)
  • Metodologia (Waterfall/RUP)
  • Métrica (ponto de função)

Problemas com a "fábrica"

  1. Relação ruim com o fornecedor
    • TI como serviço comum
      • Terceirização como um desincumbência
      • Foco apenas no "resultado"
    • Mas...e a cadeia de valor?
      • Fábrica não cabe nesse conceito
      • Somos integradores da cadeia, e não meros consumidores

Problemas com a "fábrica"

2. Processo industrial de desenvolvimento

  • Excessiva divisão de tarefas
    • Sem a visão global
    • Funcionários pouco qualificados
    • Mas..programação não é tão divisível
  • Baixa qualidade
  • Baixa diferenciação
  • Obs: Altíssimo custo gerencial

Problemas com a "fábrica"

3. Desvalorização do profissional

  • Turn-over
  • Desmotivação
  • Pirâmide de base alargada
    • Estagiários

Problemas com a metodologia

1. Lenta agregação de valor

  • Entregas lentas
  • Pouca iteratividade
    • Dificuldade de lidar com mudanças
  • Paradoxo do lucro-papelada

Problemas com a métrica

1. Limitações do ponto de função

  • Não mede a qualidade
    • Ex.: front-end rico
    • Foco na mera produtividade funcional
    • Inclusão como requisito geral no TR -> mas qualidade é contextual
  • Baixa legibilidade
    • Ajuda a sanear o repertório
    • Ex: como anda a produtividade do pessoal?
  • Sem contexto
  • Desequilíbrio de faturamento
    • Ex.: demandas simplórias sustentando o contrato

Problemas com a métrica

2. Fraudes

  • Contratadas inflando as telas
  • Mudança de escopo (mesmo que não atenda ao negócio) (ex: um campo a mais)
    • Tudo o que vc vai fazer, vc deve pensar em faturar mais
  • Resultado: perda da confiança

Na sua CADEIA DE VALOR!

US$1.00 por peça

Kobayashi (US$15 a 50 mil)

Fábrica

Ateliê

RUP

Ágil

PFA

UST

Ateliê (software cratfsmanship)

  • "A habilidade de se fazer uma coisa bem feita" (Sennett)
  • Fazer algo bem feito pelo prazer/dever de se o fazer
    • Profissionalismo - ética profissional
  • Domínio da técnica
  • Aspiração à qualidade total
  • Reputação: Kobayashi não vai assinar qualquer espada

Ateliê (Software craftsmanship) no MRE

1. Ateliê (software cratfsmanship)

  • Relação estreita com a Contratada
    • Planejamento, objetivos de negócio etc.
  • Relação estreita com a equipe alocada (100% in-house)
  • Fomento à relação de confiança
    • Fiscalização dura, mas...
    • Nem tudo deve ser penalizado (foco na qualidade)
    • Divisão do risco
  • Cultura da qualidade
    • Não há teste ou QA separado
    • Pagamento de teste unitário em separado
    • Fazer direito - evitar dívida técnica

1. Ateliê (software cratfsmanship)

  • Questões de bom senso
    • Produtividade diária: 7 USTs
    • Estudo de código-fonte
    • Spikes
      • Protótipos
      • Exploratórias (timebox)
  • Foco em novas tecnologias
    • Apigility
    • Dojos
      • React, NodeJS etc.

2. Contratar e reter equipe de alta qualificação

  • Pesquisa salarial
    • Inexequibilidade
  • Certificação (cuidado!)
  • Full-stack
  • Sem especialidades (multidisciplinar)
  • Apenas 1 projeto por vez
  • Diligência prévia de capacidade
  • Pirâmide invertida (por projeto)

3. Metodologia ágil

  • Scrum modificado
    • Sprints curtas
  • PO da TI
    • É a TI que homologa
  • Documentação (qual o seu objetivo?)
    • Apenas para registro de decisões
    • O resto, é apenas para o desenv.
    • Para comunicação, há outras maneiras mais eficientes

4. Métrica própria

  • UST
    • Diferente de hh
  • Repertório de estimativas
    • Base empírica
    • Atualizável
  • Respeito ao contexto negocial do órgão

5. Aprovação prévia

  • Aprovação prévia antes da execução de qualquer demanda

6. Pixel-perfect

  • Implementação de cultura da qualidade
    • Testes unitários (TDD)
    • Testes funcionais (selenium)
  • Devolução de entregas pelos mínimos defeitos

7. Governança

  • Moratória aprovada no CETI
  • Cancelamento sumário de projetos
    • Ex: desengajamento de stakeholder

8. Software livre

  • Parte integral do craftsmanship
    • Durabilidade / manutenibilidade
  • Exemplos
    • Materialize
    • PHP (Zend)
    • PostgreSQL

9. DevOps

  • Equipe é responsável pela produção
  • Aproximação com a equipe de servidores (Infra)

10. UX

  • Tendência: UX como fator determinante do sucesso
  • Requisitos não são coletados; são construídos
  • Prototipação em iterações
    • Graus crescentes de fidelidade (wireframe, real etc.)

11. Automação

  • Gestão de ateliê envolve maior participação técnica da gestão do órgão
    • Controle da cadeia de valor (qualidade etc.)
  • É necessário ferramenta de automação para aumentar a produtividade

Referências

  • McBreen, P. Software Craftsmanship: The New Imperative
  • Sandro Mancuso
    • https://www.youtube.com/watch?v=9OhXqBlCmrM
  • Robert C. Martin
    • https://www.youtube.com/watch?v=QJxXUQIeB6E

Equipe MRE

  • Min. João Pedro
  • Min. Nestor Forster
  • Sec. Gustavo Maultasch
  • OC Thiago Weiprecht
  • ATI Adriano Soares
  • ATI Anderson Braga
  • ATI Gustavo Macedo

Agradecimentos

  • Ricardo Poppi
  • Alexandre Gomes
  • Flávio Alves

Obrigado

@ghmol

Software Craftsmanship no MRE (Ateliê de Software)

By Gustavo H. Maultasch de Oliveira

Software Craftsmanship no MRE (Ateliê de Software)

Apresentação realizada na reunião do SISP (TI do Governo Federal) sobre o modelo de ateliê de software do Ministério das Relações Exteriores.

  • 1,774