Upload
sandro-andrade
View
75
Download
0
Embed Size (px)
Citation preview
Práticas de Agilidade e QAna Comunidade KDE
Sandro AndradeIFBA / KDE
[email protected]@andradesandro
O KDE
4239 colaboradores em todo o mundo20 anos de existência21.216.876 de linhas de código7664 anos de trabalho (modelo COCOMO) Fonte: Open HUB
KDE – o que fazemos?
http://plasma-desktop.org
KDE – o que fazemos?
http://plasma-mobile.org
163 Aplicações (KA) em diversos domínios
KDE – o que fazemos?
minuet.kde.org
KDE – o que fazemos?
minuet.kde.org
KDE – o que fazemos?
minuet.kde.org
KDE – o que fazemos?
minuet.kde.org
KDE – o que fazemos?
KDE Frameworks 5 (KF5):
KDE – o que fazemos?
SO (Linux, Windows, OS X, ...)
Servidor Gráfico (X11, Wayland, ...)
C++ / Qt 5 / QML / JavaScript
KDE Frameworks 5
KDE Plasma
KDE Applications
65 novos módulos para o Qt:
Compressão de arquivosConfiguração do sistemaNovos models e viewsPlottingIntegração e detecção de HWMultithreadingSystem notifications...
http://www.frameworks.org
KDE – o ecossistema
Colaboradores(desenvolvedores, testadores, tradutores, designers, sysadmins, etc)
KDE e.V.(membros da associação)
Empresas
KDEFree Qt
Foundation
WorkingGroups
KDE e.V.Board ofDirectors
Afiliados
KDE – o ecossistema
KDE – múltiplos atores
KDE – múltiplos atores
Core Developers
KDE – múltiplos atores
Core Developers Co-developers
KDE – múltiplos atores
Core Developers Co-developers Tradutores
KDE – múltiplos atores
Core Developers Co-developers Tradutores Release Team
KDE – múltiplos atores
Core Developers
Empacotadores
Co-developers Tradutores Release Team
KDE – múltiplos atores
Core Developers
Empacotadores
Co-developers
Usuários (passivos/ativos)
Tradutores Release Team
KDE – múltiplos atores
Core Developers
Empacotadores
Co-developers
Usuários (passivos/ativos)
Tradutores
Sysadmins
Release Team
KDE – múltiplos atores
Core Developers
Empacotadores
Co-developers
Usuários (passivos/ativos)
Tradutores
Sysadmins
Release Team
Designers
KDE – múltiplos atores
Core Developers
Empacotadores
Novatos
Co-developers
Usuários (passivos/ativos)
Tradutores
Sysadmins
Release Team
Designers
KDE – múltiplos atores
Core Developers
Empacotadores
Novatos
Co-developers
Usuários (passivos/ativos)
Community Manager
Tradutores
Sysadmins
Release Team
Designers
KDE – múltiplos atores
Core Developers
Empacotadores
Novatos
Co-developers
Usuários (passivos/ativos)
Community Manager
Tradutores
Sysadmins
PR/Marketing
Release Team
Designers
KDE – múltiplos atores
Core Developers
Empacotadores
Novatos
Co-developers
Usuários (passivos/ativos)
Community Manager
Tradutores
Sysadmins
PR/Marketing
Release Team
Designers
Board de Diretores
KDE e Métodos Ágeis
● Release Schedule● Epics Dashboard● Automação● phabricator.kde.org● Git Branching Model● Neon e Continuous Delivery
KDE e Métodos Ágeis
KA Release Schedule (anterior)
KA Release Schedule (atual)
● Releases mensais● String freeze duas semanas antes do release● Não há feature freeze:
– Desde que testadas, revisadas, sem problemas de CI e não violem o string freeze
KF5 Release Schedule
Epics Dashboard
● Traduções– gettext+scripts → tradutores → commit automático
no repositório original → empacotamento (release)● Release 100% automatizado
– Versionamento, QA, geração de tarballs e upload● Integração Phabricator, Git, IRC, Telegram e
listas de discussão● Zabbix + Ansible + Docker● Redeploy de websites via git hooks (jekyll, etc)
Automação
phabricator.kde.org
Git Branching Model
Neon e Continuous Delivery
http://neon.kde.org
KDE e Quality Assurance
● Release Schedule● Continuous Delivery (Neon)● Sanity Checks● Revisões (dev + i18n + UI)● KF5 Policy e CI/CD
KDE e Quality Assurance
● Krazy● Clazy● astyle-kdelibs
Sanity Checks
● Suportadas via Phabricator● Revisões de código – core developers● Revisões de mockups – Visual Design Group –
vdesign.kde.org (via Phabricator Pholio)● Revisões de i18n – equipe de i18n
Revisões
● KF5 Definition of Done:– Dependências não utilizadas são removidas– Frameworks tier1 dependem somente do Qt– Nome de bibliotecas em CamelCase– Em conformidade com a política de organização
de diretórios– Possui testes de unidade– Mantém compatibilidade de código-fonte com
kdelibs– CI em estado OK ...
KF5 Policy e CI/CD
KF5 Policy e CI/CDhttp://build.kde.org
● Atividades realizadas via CI:– Compilação em múltiplas plataformas– Detecção de regressões– Detecção de violações de arquitetura– Atualização de documentação de API
● Atividades realizadas via CD:– Verificação de dependências– Geração de pacotes– Atualização de repositórios
KF5 Policy e CI/CD
● KDE = agilidade em alta escala● O processo está em constante evolução● Software livre é um excelente lugar
para aprender e experimentartécnicas ágeis
● Nós fazemos software,amigos e livros :)– 20years.kde.org
Conclusão