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

Made with Slides.com