integração profissional: estudo de caso do expresso

39
Estudo de Caso do Expresso Uma Integração Profissional

Upload: flavio-lisboa

Post on 15-Apr-2017

351 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Integração Profissional: Estudo de Caso do Expresso

Estudo de Caso do ExpressoUma Integração Profissional

Page 2: Integração Profissional: Estudo de Caso do Expresso

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 3: Integração Profissional: Estudo de Caso do Expresso

Queremos oferecer um bom produto ao nosso cliente

Page 4: Integração Profissional: Estudo de Caso do Expresso

Um produto que seja seguro

Page 5: Integração Profissional: Estudo de Caso do Expresso

Um produto que seja estável

Page 6: Integração Profissional: Estudo de Caso do Expresso

Um produto que seja flexível

Page 7: Integração Profissional: Estudo de Caso do Expresso

Um produto com custo de manutenção aceitável

Page 8: Integração Profissional: Estudo de Caso do Expresso

Um produto que contribua com uma imagem positiva da empresa

É mesmo, usa e não devolve o que

conseguiu acrescentar ao que

tomou de graça!

Olha, minha empresa usa software livre!

Page 9: Integração Profissional: Estudo de Caso do Expresso

Por isso queremos investir (mais) na integração Expresso X Tine 2.0

Tine 2.0

Expresso

}Focar negócio do Serpro

● Segurança● Estabilidade● Flexibilidade● Funcionalidades

genéricas / Demandas da comunidade Expresso

Page 10: Integração Profissional: Estudo de Caso do Expresso

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 11: Integração Profissional: Estudo de Caso do Expresso

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 12: Integração Profissional: Estudo de Caso do Expresso

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 13: Integração Profissional: Estudo de Caso do Expresso

Fatos

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

ExpressoLite

ActiveSync

WebDAV

Page 14: Integração Profissional: Estudo de Caso do Expresso

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 15: Integração Profissional: Estudo de Caso do Expresso

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 16: Integração Profissional: Estudo de Caso do Expresso

Fatos

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

Tine 2.0 implementando para Expresso!

Page 17: Integração Profissional: Estudo de Caso do Expresso

Fatos

Nossas contribuições são melhoradas!

Tarefa do Expresso

Page 18: Integração Profissional: Estudo de Caso do Expresso

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 19: Integração Profissional: Estudo de Caso do Expresso

Fatos

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

Page 20: Integração Profissional: Estudo de Caso do Expresso

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 21: Integração Profissional: Estudo de Caso do Expresso

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 22: Integração Profissional: Estudo de Caso do Expresso

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 23: Integração Profissional: Estudo de Caso do Expresso

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 24: Integração Profissional: Estudo de Caso do Expresso

Fatos

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

Page 25: Integração Profissional: Estudo de Caso do Expresso

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 26: Integração Profissional: Estudo de Caso do Expresso

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 27: Integração Profissional: Estudo de Caso do Expresso

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 28: Integração Profissional: Estudo de Caso do Expresso

Fatos

Melhor ainda se a comunidade for internacional.

Page 29: Integração Profissional: Estudo de Caso do Expresso

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 30: Integração Profissional: Estudo de Caso do Expresso

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 31: Integração Profissional: Estudo de Caso do Expresso

Fatos

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

● Não devemos esperar o cliente pedir.

Page 32: Integração Profissional: Estudo de Caso do Expresso

Fatos

● Temos de ser ousados, criativos e inovar

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

Page 33: Integração Profissional: Estudo de Caso do Expresso

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 34: Integração Profissional: Estudo de Caso do Expresso

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 35: Integração Profissional: Estudo de Caso do Expresso

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 36: Integração Profissional: Estudo de Caso do Expresso

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 37: Integração Profissional: Estudo de Caso do Expresso

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 38: Integração Profissional: Estudo de Caso do Expresso

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 39: Integração Profissional: Estudo de Caso do Expresso

ObrigadoDúvidas: [email protected]

http://comunidadeexpresso.serpro.gov.br