O KDE é uma das maiores comunidades de software livre do mundo e conta com uma experiência de 20 anos desenvolvendo soluções para ambientes desktop e, mais recente, para plataformas móveis. Estas soluções são criadas por colaboradores espalhados por todo o mundo e trazem demandas desafiadoras em relação ao suporte a múltiplas plataformas com codebase único, localização para cerca de 60 idiomas e entrega contínua downstream (nas diversas distribuições Linux). Esta palestra apresenta as principais práticas de agilidade e de Gerência de Qualidade (QA) que suportam o desenvolvimento distribuído de produtos de software de alta qualidade na comunidade KDE, atendendo às demandas acima citadas.
10. 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 arquivos
Configuração do sistema
Novos models e views
Plotting
Integração e detecção de HW
Multithreading
System notifications
...
http://www.frameworks.org
11. KDE – o ecossistema
Colaboradores
(desenvolvedores, testadores, tradutores, designers, sysadmins, etc)
KDE e.V.
(membros da associação)
Empresas
KDE
Free Qt
Foundation
Working
Groups
KDE e.V.
Board of
Directors
Afiliados
30. ● 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
39. ● 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
40. ● 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
42. ● 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
43. ● KDE = agilidade em alta escala
● O processo está em constante evolução
● Software livre é um excelente lugar
para aprender e experimentar
técnicas ágeis
● Nós fazemos software,
amigos e livros :)
– 20years.kde.org
Conclusão