O objetivo dessa palestra é mostrar a experiência da cooperação entre dois projetos de software livre (Expresso e Tine 2.0), baseados em países diferentes, e como ambos aprenderam a usar a comunicação e a arquitetura de software para se manterem conectados, e como isso pode ajudar empresas a encararem a contribuição a comunidades de software livre como um investimento e fazer isso parte de seu negócio.
Integração Profissional: Estudo de Caso do ExpressoFlávio Lisboa
A experiência da integração entre comunidades Tine 2.0 e Expresso e como ela pode ser aplicada para qualquer projeto de software livre no governo. Não é uma exploração teórica, mas uma avaliação de lições aprendidas com ganhos reais que podem ser reproduzidas sem grandes dificuldades por qualquer setor ou empresa de TI governamental com efeitos espetaculares sobre o desenvolvimento de soluções de software.
Sistema de Plugins do ExpressoV3. Não espere, faça o seu!Flávio Lisboa
Em 2014 uma das grandes novidades do ExpressoV3 é a disponibilização de um sistema de plugins que permite acoplar funcionalidades em diversos pontos da aplicação. O objetivo da palestra é mostrar para desenvolvedores o que pode ser acoplado e onde isso é feito na aplicação. Será feito também , como introdução, um importante esclarecimento e orientação sobre uso de arquitetura de software para conciliação de interesses comuns e particulares, pensamento que orientou e originou o sistema de plugins. Concluiremos com a perspectiva de trabalhos futuros e as possibilidades da arquitetura de plugins.
Em "Como ensinar um elefante a dançar", você aprenderá como deixar o status quo do desenvolvimento tradicional de aplicações e da manutenção de TI. Passo a passo, este e-book revela como atravessar uma transformação digital verdadeira: a partir da adoção do DevOps para construir uma TI ágil, moderna e sob medida para suas necessidades e objetivos.
Controlando o Ciclo de Software e porque você deveria usar o VSTSRodrigo Kono
A produção de software controlada deixou de ser utopia para se tornar realidade. Saiu de um mundo onde era algo extremamente caro e somente para grandes produções, para ser viável a qualquer time de software. Trabalhando com qualidade, visão do processo, testes, homologações, implementações recorrentes, etc. De maneira que envolve desde o início do ciclo, com o cliente e a demanda a ser tratada, que se estende por toda a produção e vai até ao software funcionando em um ambiente em nuvem. Parte disso tudo é processo, mas sem um ambiente que possibilita atingir estas atividades pode atrapalhar mais do que ajudar. O VSTS integra de ponta a ponta, independente da tecnologia que trabalha, independente do ambiente que escolheu para versionar seu código, independente de ambiente de deployment. Nesta palestra você vai entender como o VSTS te ajuda a atingir o nível dinâmico de produção de software, fase por fase, vai entender os níveis de integração com ambientes de terceiros (externo ao ambiente Microsoft), vai entender como obter níveis de qualidade entre os pipelines de teste, homologação/produção e claro, você vai saber porque deveria estar usando VSTS há muito tempo.
Apresentação feita na Unisinos para o curso de Comunicação Digital, sobre Inovação, iniciativa e o exemplo do Yahoo! Meme, primeiro produto do Yahoo! a ser desenvolvido a partir do Brasil.
Integração Profissional: Estudo de Caso do ExpressoFlávio Lisboa
A experiência da integração entre comunidades Tine 2.0 e Expresso e como ela pode ser aplicada para qualquer projeto de software livre no governo. Não é uma exploração teórica, mas uma avaliação de lições aprendidas com ganhos reais que podem ser reproduzidas sem grandes dificuldades por qualquer setor ou empresa de TI governamental com efeitos espetaculares sobre o desenvolvimento de soluções de software.
Sistema de Plugins do ExpressoV3. Não espere, faça o seu!Flávio Lisboa
Em 2014 uma das grandes novidades do ExpressoV3 é a disponibilização de um sistema de plugins que permite acoplar funcionalidades em diversos pontos da aplicação. O objetivo da palestra é mostrar para desenvolvedores o que pode ser acoplado e onde isso é feito na aplicação. Será feito também , como introdução, um importante esclarecimento e orientação sobre uso de arquitetura de software para conciliação de interesses comuns e particulares, pensamento que orientou e originou o sistema de plugins. Concluiremos com a perspectiva de trabalhos futuros e as possibilidades da arquitetura de plugins.
Em "Como ensinar um elefante a dançar", você aprenderá como deixar o status quo do desenvolvimento tradicional de aplicações e da manutenção de TI. Passo a passo, este e-book revela como atravessar uma transformação digital verdadeira: a partir da adoção do DevOps para construir uma TI ágil, moderna e sob medida para suas necessidades e objetivos.
Controlando o Ciclo de Software e porque você deveria usar o VSTSRodrigo Kono
A produção de software controlada deixou de ser utopia para se tornar realidade. Saiu de um mundo onde era algo extremamente caro e somente para grandes produções, para ser viável a qualquer time de software. Trabalhando com qualidade, visão do processo, testes, homologações, implementações recorrentes, etc. De maneira que envolve desde o início do ciclo, com o cliente e a demanda a ser tratada, que se estende por toda a produção e vai até ao software funcionando em um ambiente em nuvem. Parte disso tudo é processo, mas sem um ambiente que possibilita atingir estas atividades pode atrapalhar mais do que ajudar. O VSTS integra de ponta a ponta, independente da tecnologia que trabalha, independente do ambiente que escolheu para versionar seu código, independente de ambiente de deployment. Nesta palestra você vai entender como o VSTS te ajuda a atingir o nível dinâmico de produção de software, fase por fase, vai entender os níveis de integração com ambientes de terceiros (externo ao ambiente Microsoft), vai entender como obter níveis de qualidade entre os pipelines de teste, homologação/produção e claro, você vai saber porque deveria estar usando VSTS há muito tempo.
Apresentação feita na Unisinos para o curso de Comunicação Digital, sobre Inovação, iniciativa e o exemplo do Yahoo! Meme, primeiro produto do Yahoo! a ser desenvolvido a partir do Brasil.
Somos uma empresa de design e desenvolvimento de software que confia em tecnologias inovadoras e mentes brilhantes para criar produtos de alta qualidade. Você tem um desafio de TI ou uma ideia de negócio? Nós temos uma equipe de especialistas para fazer parceria com você e alcançarmos o sucesso juntos.
Nós gostamos de fazer as coisas da maneira certa, com foco na qualidade e usabilidade para maximizar o valor dos produtos de nossos parceiros. Nos últimos 10 anos, entregamos software em mais de 10 países. Presente nos Estados Unidos, Brasil e Chile, a Getty/IO tem uma oferta global de desenvolvimento, qualidade e arquitetura de software. Nossa equipe está pronta para aceitar seu desafio.
Você já ouviu falar sobre Developer Experience? Entenda como provemos uma melhor experiência para as pessoas desenvolvedoras aqui no Nubank e possibilitamos que os times de produtos se concentrem no que é mais importante: liberar novas funcionalidades para nossos clientes, de maneira rápida, consistente e confiável.
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaFlávio Lisboa
Nesta apresentação abordamos um achado de uma pesquisa de doutorado sobre cooperativas de software livre no Brasil e fazemos uma comparação com a Argentina. Essa comparação é feita após uma contextualização do cooperativismo no mundo e no Brasil.
Aprenda a afiar suas garras com LaminasFlávio Lisboa
Nesta palestra apresento a trajetória do meu trabalho de instrutor e promotor do Zend Framework, agora Laminas, culminando com o lançamento do livro PHP Web Development with Laminas, pela Packt Publishing. Apresento os tópicos de uma formação completa de desenvolvedor web PHP trabalhando com aplicações orientadas a objeto usando padrões de projeto e desenvolvimento orientado a testes.
Ciência e software livre: desenvolvendo com métodoFlávio Lisboa
Esta palestra visa mostrar como o software livre se beneficia do paradigma do método científico e quais as vantagens de times de desenvolvimento de assimilarem as boas práticas desse método e a vantagem de manter sempre uma atitude crítica na busca de soluções de problemas.
Tópicos abordados:
* O método científico e os paradigmas da ciência
* Como o software livre aplica o método científico
* Como assimilar isso em sua empresa
Apresentação feita na 2ª edição do evento Micro Serviços Macro Negócios. Esta palestra irá mostrar como criar uma arquitetura de uma aplicação para microsserviços em PHP usando o microframework Mezzio. Para tanto, será apresentado um estudo de caso de uma aplicação PHP baseada em microsserviços, construída para um ambiente distribuído usando Kubernetes. O estudo de caso mostrará como microframework Mezzio facilita a construção de microsserviços a partir do conceito de middleware”. Serão apresentados ainda extensões para o Mezzio e seu uso combinado ao framework Swoole.
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Flávio Lisboa
Da Teoria da Evolução para a solução de problemas baseada em busca, com provocações para quem não gosta de pensar.
O componente usado na demonstração está disponível em https://github.com/fgsl/geneticalgorithm.
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPFlávio Lisboa
Esta palestra aborda: a necessidade e vantagens de utilização de um ambiente integrado de desenvolvimento e de como integrá-lo com ferramentas de linha de comando relacionadas à rotina de construção de software; e a questão da depuração de código, as técnicas para descoberta de causas de bugs e ferramentas para localizar gargalos no desempenho de aplicações PHP.
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosFlávio Lisboa
Nesta palestra falamos sobre o governo eletrônico, alguns decretos federais relativos a soberania nacional e publicidade de informações para a sociedade, sobre o Serviço Federal de Processamento de Dados, sua produção de sistemas em PHP com destaque para dois produtos, o Sagui e o SerproDrive.
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
Nesta palestra abordaremos diversos aspectos da arquitetura de software contextualizados para o cenário de aplicações PHP construídas a partir da integração de microsserviços integrados. Dentro desse cenário, iremos separar o que é responsabilidade do PHP e o que não é, mas com o que ele pode contribuir (ou como ele pode evitar que seus parceiros tornem sua vida difícil). Abordaremos motivações, boas práticas e orientações para lidar com transações, manipulação de erros, execução de código lento, execução em linha de comando, coleta de dados de usuário, análise e business intelligence.
6. Pinguins
Torvalds wrote the computer operating
system at the age of 22 and had
released the first versions of Linux on
the internet in 1991. He led an
international team of computer
professionals who took control of the
operating instructions from companies
that made billions of dollars by selling
the software preinstalled on new
computers. Torvalds cannot take
money for his invention at Silicon
Valley because he decided to make
his work product available to anyone
who wanted it for free.
https://opensourcesoftware-linux.wikispaces.com/Linus+Torvald
10. O Expressov3
O Expressov3 é um software de colaboração de grupos, com
correio eletrônico, webconferência e mensageria instantânea.
O projeto Expresso foi criado pela CELEPAR (Companha de
Tecnologia da Informação do Paraná). A versão 2 está presente
em mais de 100 instituições no país e é usada por mais de 500 mil
pessoas.
A versão 3 foi lançada em 2012, com evolução da plataforma
tecnológica para melhorar a manutenção e extensão do software.
O Expressov3 é uma opção competitiva em termos de custo com a
possibilidade de baixar o software gratuitamente e montar uma
nuvem privada.
11. Temos consciência de que...
“Um Cliente é o mais importante
visitante das nossas instalações.
Ele não depende de nós, nós é que
dependemos dele. Não é uma
interrupção no nosso trabalho, é a
finalidade deste. Não é um
estranho no nosso negócio, faz
parte dele. Ao servi-lo, não estamos
a fazer-lhe um favor, é ele que nos
faz um favor ao dar-nos uma
oportunidade para o servirmos.”
Mahatma Gandhi
12. Queremos oferecer um bom produto ao
nosso cliente.
Um produto que seja seguro.
Um produto que seja estável.
Um produto que seja flexível.
Um produto com custo de manutenção
aceitável.
Um produto que contribua com uma
imagem positiva da empresa.
13. Por isso queremos investir (mais)
na integração Expresso X Tine 2.0
}
Focar negócio do Serpro
● Segurança
● Estabilidade
● Flexibilidade
● Funcionalidades
genéricas / Demandas
da comunidade
Expresso
14. Fatos
Pegamos um projeto inteiro de graça e só
usamos 40% dele.
ActiveSync Addressbook Admin Calendar Courses
Crm Felamimail Filemanager HumanResources Inventory
Phone Projects RequestTracker Sales Setup
SimpleFAQ Sipgate Tasks Timetracker Tinebase
Tool Voipmanager
15. Fatos
Existe um potencial de reuso para demandas
internas, de clientes e da comunidade, no Brasil e
América Latina.
ActiveSync Addressbook Admin Calendar Courses
Crm Felamimail Filemanager HumanResources Inventory
Phone Projects RequestTracker Sales Setup
SimpleFAQ Sipgate Tasks Timetracker Tinebase
Tool Voipmanager
16. Fatos
Mesmo os módulos do Expresso criados pelo
SERPRO usam ou reusam módulos do Tine 2.0
Expressomail Webconference Messenger Expressodriver
Felamimail Filemanager
Tinebase
Tool
AppLauncher
17. Fatos
Dois módulos criados pelo Expresso foram
submetidos como contribuição para o Tine 2.0 e
estarão disponíveis nas próximas releases.
Expressomail Expressodriver
18. Fatos
E se podemos ter clientes diferentes
(ExpressoLite) é porque reusamos a arquitetura
da aplicação, que é orientada a serviços.
ExpressoLite
ActiveSync
WebDAV
19. Fatos
Trazer atualizações da comunidade economiza
em custo de desenvolvimento.
Uma funcionalidade do Tine 2.0 como a melhoria
da conexão CalDAV custou 2.720 € (~R$ 8160)
para os patrocinadores do projeto (divididos em
7).
Nós pegamos essa funcionalidade de graça.
20. Fatos
Para se ter ideia, sem a integração das
comunidades Tine 2.0 e Expresso, se o SERPRO
tivesse de criar o Tine 2.0 do zero e deixá-lo com
as funcionalidades atuais, teria gasto cerca de R$
225.696.000,00 apenas com desenvolvimento
(considerando o valor médio de R$ 8000,00 para
cada commit no repositório)
23. Fatos
Tarefa #11613 do Expresso,
melhorada pelo Tine 2.0, com
adição de priorização de tipo
de serviço (HTTP, Json,
WebDAV, ActiveSync) e
criação de testes
automatizados
Testes
Isso aumenta a qualidade do
produto!
25. Fatos
O ambiente de integração contínua e testes
automatizados do Tine 2.0 está muito à nossa
frente. Quando submetemos para eles uma
alteração nossa, descobrimos bugs que não são
percebidos aqui dentro, e conseguimos corrigi-los
antes que se manifestem.
26. Fatos
Fica difícil integrar mudanças, se o código do
Expresso e do Tine 2.0 estiverem muito
diferentes.
Por isso é preciso manter o código comum
atualizado.
O ideal é integrar todo release estável do Tine
2.0.
27. Fatos
Para atualizar constantemente o Expresso com
código do Tine 2.0, é necessário separar o que é
implementação de regra de negócio específica do
Serpro do que é genérico.
Tinebase
Expressobase
Específico do Serpro Genérico
28. Fatos
Isso não somente permite a atualização, como
também evita que o Serpro distribua
funcionalidades dependentes do seu ambiente
de produção e que só atendem aos seus clientes
ou só servem no Brasil.
SÓ FUNCIONA
NO SERPRO
29. Fatos
Cada empresa tem suas demandas e ambiente
produtivo com características próprias. Por isso o
produto tem de ser flexível.
30. Fatos
Expresso tem um mercado
potencial na América
Latina, mas precisa
funcionar com a realidade
de cada país. Tem que ser
flexível.
31. Fatos
Separar o código específico do Serpro e não
desenvolver código que o Tine 2.0 já cria tem a
vantagem de permitir o foco no atendimento das
demandas do cliente do Serpro e na melhoria da
qualidade do que é específico para o Serpro.
32. Fatos
É bom que um projeto seja sustentado por mais de
um membro, em comunidade.
“Melhor é serem dois do que um, porque têm melhor
paga do seu trabalho. Porque, se um cair, o outro
levanta o seu companheiro; mas ai do que estiver
só; pois, caindo, não haverá outro que o levante.”
Eclesiastes 4:9-10
34. Fatos
Não é bom querer fazer tudo sozinho.
Isso é sintoma da Síndrome do Ursulão.
Ursulão é um personagem de desenho animado
que sempre decidia fazer as tarefas de casa, ao
invés de dar dinheiro para a mulher contratar um
especialista (eletricista, encanador, pintor).
Resultado: a casa pegava fogo; o cano estourava; o
motor do carro fundia. E no final, ele tinha que
gastar mais dinheiro pra consertar o que estragou.
35. Fatos
Ao desenvolver de forma colaborativa, evitamos
fazer uma implementação que resolve um
problema de forma imediata mas cria vários
outros problemas que temos de passar meses
para resolver.
36. Fatos
● Não devemos fazer somente o que o cliente
pede.
● Não devemos esperar o cliente pedir.
37. Fatos
● Temos de ser ousados,
criativos e inovar
● Temos de melhorar
continuamente a qualidade
dos produtos e serviços
para o cliente
38. Fatos
A atualização constante do código do Tine 2.0
permite que captemos funcionalidades não
solicitadas pelos clientes, mas que podemos
apresentar.
Exemplo: importação de eventos (existe no Tine
2.0, não existe no Expresso)
39. Fatos
Na visão de futuro do Tine 2.0 está a ampliação
da integrabilidade: a facilidade de integrar o
produto com aplicações de terceiros, ou
“pendurá-las” nos módulos do Tine 2.0.
Além disso, a ampliação do desacoplamento: a
facilidade de desacoplar as bibliotecas
(dependências) de terceiros e acompanhar a
evolução de cada uma de forma independente.
40. Fatos
Na visão de futuro do Tine 2.0 está a ampliação
do uso de dependências de terceiros (delegação
de negócios específicos a especialistas em seus
respectivos negócios).
Isso abre a possibilidade de usar funcionalidades
disponíveis em outros frameworks especialistas.
41. Qual é a nossa estratégia de
integração
● Nós isolamento de código com regras de
negócio específicas do Serpro;
● Restringirmos alterações na API do sistema, e
expandimos o uso de plugins;
● Contribuímos com a comunidade como parte
do processo do desenvolvimento.
42. Importante
O SERPRO não tem contrato de suporte com o
fornecedor da API do Expresso, por isso a
integração de código do SERPRO é feita no
tempo de comunidade: a priorização é feita de
acordo com a importância da demanda para os
patrocinadores do Tine 2.0.
43. Importante
Neste caso, é ainda mais importante isolar o
código de negócio específico do SERPRO e
enrijecer o critério de aceitação de mudanças
para a API (se não for plugável ou configurável,
não entra).