SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Práticas de Agilidade e QA
na Comunidade KDE
Sandro Andrade
IFBA / KDE
sandroandrade@kde.org
@andradesandro
O KDE
4239 colaboradores em todo o mundo
20 anos de existência
21.216.876 de linhas de código
7664 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 arquivos
Configuração do sistema
Novos models e views
Plotting
Integração e detecção de HW
Multithreading
System notifications
...
http://www.frameworks.org
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
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/CD
http://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 experimentar
técnicas ágeis
● Nós fazemos software,
amigos e livros :)
– 20years.kde.org
Conclusão
Obrigado!
Sandro Andrade
IFBA / KDE
sandroandrade@kde.org
@andradesandro

Mais conteúdo relacionado

Mais procurados

Testes com xUnit + Coding Dojo
Testes com xUnit + Coding DojoTestes com xUnit + Coding Dojo
Testes com xUnit + Coding DojoLetticia Nicoli
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João PessoaOpenBossa
 
Git e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubGit e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubBruno Orlandi
 
Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Julio Cesar Eiras Melanda
 
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyPython Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyJulio Cesar Eiras Melanda
 
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018Renato Groff
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?Letticia Nicoli
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao HabitatIgor Abade
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Renato Groff
 
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformasWebinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformasEmbarcados
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
Aula 1 - Curso Git e Github - Webschool
Aula 1 - Curso Git e Github - WebschoolAula 1 - Curso Git e Github - Webschool
Aula 1 - Curso Git e Github - WebschoolBruno Orlandi
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a TestesGregorio Melo
 

Mais procurados (20)

Introdução ao Qt
Introdução ao QtIntrodução ao Qt
Introdução ao Qt
 
Introdução ao Qt
Introdução ao QtIntrodução ao Qt
Introdução ao Qt
 
Testes com xUnit + Coding Dojo
Testes com xUnit + Coding DojoTestes com xUnit + Coding Dojo
Testes com xUnit + Coding Dojo
 
Bricklayer
BricklayerBricklayer
Bricklayer
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João Pessoa
 
Git e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubGit e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHub
 
Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015
 
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyPython Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
 
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao Habitat
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
 
Qt Apresentação
Qt ApresentaçãoQt Apresentação
Qt Apresentação
 
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformasWebinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
 
Apresentação QtConBr
Apresentação QtConBrApresentação QtConBr
Apresentação QtConBr
 
Git para Designers
Git para DesignersGit para Designers
Git para Designers
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
Aula 1 - Curso Git e Github - Webschool
Aula 1 - Curso Git e Github - WebschoolAula 1 - Curso Git e Github - Webschool
Aula 1 - Curso Git e Github - Webschool
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 

Destaque

Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Sandro Andrade
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataSandro Andrade
 
Minuet - the KDE approach to music education
Minuet - the KDE approach to music educationMinuet - the KDE approach to music education
Minuet - the KDE approach to music educationSandro Andrade
 
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...Sandro Andrade
 
SASO2013 - PechaKucha version
SASO2013 - PechaKucha versionSASO2013 - PechaKucha version
SASO2013 - PechaKucha versionSandro Andrade
 
QtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE worldQtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE worldSandro Andrade
 
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...Sandro Andrade
 
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e SociaisKDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e SociaisSandro Andrade
 
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...Sandro Andrade
 
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Sandro Andrade
 
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Sandro Andrade
 

Destaque (11)

Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigData
 
Minuet - the KDE approach to music education
Minuet - the KDE approach to music educationMinuet - the KDE approach to music education
Minuet - the KDE approach to music education
 
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
 
SASO2013 - PechaKucha version
SASO2013 - PechaKucha versionSASO2013 - PechaKucha version
SASO2013 - PechaKucha version
 
QtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE worldQtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE world
 
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
 
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e SociaisKDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
 
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
 
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
 
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
 

Semelhante a Práticas de Agilidade e QA na Comunidade KDE

Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresTchelinux
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourcetdc-globalcode
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...Mário Araújo Xavier
 
GSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestGSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestVictor Hugo Bilouro
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Renato Groff
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Renato Groff
 
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Renato Groff
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containerstdc-globalcode
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceGlobalcode
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Renato Groff
 
Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOFernando Rizzato
 
O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)Wellington Silva
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
 

Semelhante a Práticas de Agilidade e QA na Comunidade KDE (20)

Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila Ayres
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSource
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
 
KDE EDU - Linux Educacional
KDE EDU - Linux EducacionalKDE EDU - Linux Educacional
KDE EDU - Linux Educacional
 
Começando com GIT
Começando com GITComeçando com GIT
Começando com GIT
 
GSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestGSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression Test
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
 
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018
 
Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIO
 
O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)
 
RAD Studio 10.2 Tokyo
RAD Studio 10.2 TokyoRAD Studio 10.2 Tokyo
RAD Studio 10.2 Tokyo
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 

Práticas de Agilidade e QA na Comunidade KDE

  • 1. Práticas de Agilidade e QA na Comunidade KDE Sandro Andrade IFBA / KDE sandroandrade@kde.org @andradesandro
  • 2. O KDE 4239 colaboradores em todo o mundo 20 anos de existência 21.216.876 de linhas de código 7664 anos de trabalho (modelo COCOMO) Fonte: Open HUB
  • 3. KDE – o que fazemos? http://plasma-desktop.org
  • 4. KDE – o que fazemos? http://plasma-mobile.org
  • 5. 163 Aplicações (KA) em diversos domínios KDE – o que fazemos?
  • 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
  • 12. KDE – o ecossistema
  • 14. KDE – múltiplos atores Core Developers
  • 15. KDE – múltiplos atores Core Developers Co-developers
  • 16. KDE – múltiplos atores Core Developers Co-developers Tradutores
  • 17. KDE – múltiplos atores Core Developers Co-developers Tradutores Release Team
  • 18. KDE – múltiplos atores Core Developers Empacotadores Co-developers Tradutores Release Team
  • 19. KDE – múltiplos atores Core Developers Empacotadores Co-developers Usuários (passivos/ativos) Tradutores Release Team
  • 20. KDE – múltiplos atores Core Developers Empacotadores Co-developers Usuários (passivos/ativos) Tradutores Sysadmins Release Team
  • 21. KDE – múltiplos atores Core Developers Empacotadores Co-developers Usuários (passivos/ativos) Tradutores Sysadmins Release Team Designers
  • 22. KDE – múltiplos atores Core Developers Empacotadores Novatos Co-developers Usuários (passivos/ativos) Tradutores Sysadmins Release Team Designers
  • 23. KDE – múltiplos atores Core Developers Empacotadores Novatos Co-developers Usuários (passivos/ativos) Community Manager Tradutores Sysadmins Release Team Designers
  • 24. KDE – múltiplos atores Core Developers Empacotadores Novatos Co-developers Usuários (passivos/ativos) Community Manager Tradutores Sysadmins PR/Marketing Release Team Designers
  • 25. 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
  • 26. KDE e Métodos Ágeis
  • 27. ● Release Schedule ● Epics Dashboard ● Automação ● phabricator.kde.org ● Git Branching Model ● Neon e Continuous Delivery KDE e Métodos Ágeis
  • 28. KA Release Schedule (anterior)
  • 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
  • 32. ● 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
  • 35. Neon e Continuous Delivery http://neon.kde.org
  • 36. KDE e Quality Assurance
  • 37. ● Release Schedule ● Continuous Delivery (Neon) ● Sanity Checks ● Revisões (dev + i18n + UI) ● KF5 Policy e CI/CD KDE e Quality Assurance
  • 38. ● Krazy ● Clazy ● astyle-kdelibs Sanity Checks
  • 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
  • 41. KF5 Policy e CI/CD http://build.kde.org
  • 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
  • 44. Obrigado! Sandro Andrade IFBA / KDE sandroandrade@kde.org @andradesandro