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"
- 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
- TI como serviço comum
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