44
Gnus, Pinguins e Cavaleiros Espaciais A experiência da comunidade ExpressoV3

Gnus, Pinguins e Cavaleiros Espaciais

Embed Size (px)

Citation preview

Page 1: Gnus, Pinguins e Cavaleiros Espaciais

Gnus, Pinguins e Cavaleiros EspaciaisA experiência da comunidade ExpressoV3

Page 2: Gnus, Pinguins e Cavaleiros Espaciais

Gnus

Page 3: Gnus, Pinguins e Cavaleiros Espaciais

Gnus

Page 4: Gnus, Pinguins e Cavaleiros Espaciais

Gnus

http://pt.slideshare.net/arulalan/foss-history-1479471

Page 5: Gnus, Pinguins e Cavaleiros Espaciais

Pinguins

Page 6: Gnus, Pinguins e Cavaleiros Espaciais

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

Page 7: Gnus, Pinguins e Cavaleiros Espaciais

Cavaleiros Espaciais 1979

Page 8: Gnus, Pinguins e Cavaleiros Espaciais

Cavaleiros Espaciais

Page 9: Gnus, Pinguins e Cavaleiros Espaciais

http://romocavaleirodoespaco.blogspot.com.br/

Page 10: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 11: Gnus, Pinguins e Cavaleiros Espaciais

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

Page 12: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 13: Gnus, Pinguins e Cavaleiros Espaciais

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

Page 14: Gnus, Pinguins e Cavaleiros Espaciais

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

Page 15: Gnus, Pinguins e Cavaleiros Espaciais

FatosExiste 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

Page 16: Gnus, Pinguins e Cavaleiros Espaciais

FatosMesmo 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

Page 17: Gnus, Pinguins e Cavaleiros Espaciais

FatosDois 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

Page 18: Gnus, Pinguins e Cavaleiros Espaciais

Fatos

E se podemos ter clientes diferentes (ExpressoLite) é porque reusamos a arquitetura da aplicação, que é orientada a serviços.

ExpressoLite

ActiveSync

WebDAV

Page 19: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 20: Gnus, Pinguins e Cavaleiros Espaciais

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)

Page 21: Gnus, Pinguins e Cavaleiros Espaciais

Fatos

Nossas contribuições não são somente aceitas...

Tine 2.0 implementando para Expresso!

Page 22: Gnus, Pinguins e Cavaleiros Espaciais

Fatos

Nossas contribuições são melhoradas!

Tarefa do Expresso

Page 23: Gnus, Pinguins e Cavaleiros Espaciais

FatosTarefa #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!

Page 24: Gnus, Pinguins e Cavaleiros Espaciais

Fatos

Nós consumimos frequentemente melhorias e correções do Tine 2.0

Page 25: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 26: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 27: Gnus, Pinguins e Cavaleiros Espaciais

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

Page 28: Gnus, Pinguins e Cavaleiros Espaciais

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

Page 29: Gnus, Pinguins e Cavaleiros Espaciais

Fatos

Cada empresa tem suas demandas e ambiente produtivo com características próprias. Por isso o produto tem de ser flexível.

Page 30: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 31: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 32: Gnus, Pinguins e Cavaleiros Espaciais

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

Page 33: Gnus, Pinguins e Cavaleiros Espaciais

Fatos

Melhor ainda se a comunidade for internacional.

Page 34: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 35: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 36: Gnus, Pinguins e Cavaleiros Espaciais

Fatos

● Não devemos fazer somente o que o cliente pede.

● Não devemos esperar o cliente pedir.

Page 37: Gnus, Pinguins e Cavaleiros Espaciais

Fatos

● Temos de ser ousados, criativos e inovar

● Temos de melhorar continuamente a qualidade dos produtos e serviços para o cliente

Page 38: Gnus, Pinguins e Cavaleiros Espaciais

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)

Page 39: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 40: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 41: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 42: Gnus, Pinguins e Cavaleiros Espaciais

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.

Page 43: Gnus, Pinguins e Cavaleiros Espaciais

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).

Page 44: Gnus, Pinguins e Cavaleiros Espaciais

Obrigado

http://comunidadeexpresso.serpro.gov.br