Slide 1

Slide 1 text

Cultura Open Source no ambiente de trabalho

Slide 2

Slide 2 text

Cultura Open Source no ambiente de trabalho (parte 1)

Slide 3

Slide 3 text

Vinicius Reis @vinicius73 @LuizVinicius73 Escrevo artigos sobre Vue.js e JavaScript. vinicius73.dev Plataformas Thundercats @ M4U @vinicius73

Slide 4

Slide 4 text

O que é Open Source?

Slide 5

Slide 5 text

O que é Open Source? - Qualquer um pode usar - Qualquer um pode ver - Qualquer um pode modificar - Qualquer um pode distribuir

Slide 6

Slide 6 text

O que é Open Source Código Aberto? - Qualquer um pode usar - Qualquer um pode ver - Qualquer um pode modificar - Qualquer um pode distribuir

Slide 7

Slide 7 text

Código Aberto e Código Livre não são a mesma coisa! (Apesar de estarem muito ligados)

Slide 8

Slide 8 text

Licenças!! As licenças atreladas ao código e software determinam como devemos classificar ele. Por isso, mas não exclusivamente, devemos sempre configurar adequadamente a licença do software, mesmo ele não sendo “aberto”; (O mesmo vale para as dependências das nossas aplicações, fiquem atentos!)

Slide 9

Slide 9 text

Afinal o que é uma cultura open source?

Slide 10

Slide 10 text

“conjunto de padrões de comportamento, crenças, conhecimentos, costumes etc. que distinguem um grupo social.” Entendemos como cultura open source um conjunto de comportamentos e formas de como o código/software é gerenciado.

Slide 11

Slide 11 text

Cultura Open Source dentro de uma empresa; - Qualquer pessoa ou time tem acesso ao código; - Qualquer pessoa ou time pode submeter mudanças;

Slide 12

Slide 12 text

Então, basta abrir o código?

Slide 13

Slide 13 text

Não!!

Slide 14

Slide 14 text

Cultura Open Source dentro de uma empresa; - Qualquer pessoa ou time tem acesso ao código; - Saber como o código funciona; - Saber como executar o código; - Saber como testar o código; - Qualquer pessoa ou time pode submeter mudanças;

Slide 15

Slide 15 text

Transparência & Publicidade

Slide 16

Slide 16 text

Documentação ato, processo ou efeito de documentar.

Slide 17

Slide 17 text

Documentar nem sempre é uma tarefa fácil. É necessário dedicação para não apenas manter a documentação atualizada, como também encontrar formas de dar clareza sobre tudo relacionado ao projeto. Documentação

Slide 18

Slide 18 text

Documentação > Objetivo Por quê este projeto existe? Todo e qualquer projeto precisa de uma motivação para existir e continuar a ser mantido. Essa motivação precisa ser clara e evidente para qualquer um que tiver contato com o código. Como o projeto resolve o problema? Uma descrição clara de qual é a abordagem do projeto facilita o entendimento do próprio código. aquilo que se pretende alcançar quando se realiza uma ação; propósito.

Slide 19

Slide 19 text

Documentação > Stack Qual a stack do projeto? Uma descrição ou lista de quais são as tecnologias usadas no projeto ajuda a entender rapidamente quais as dependências do mesmo e o necessário para ele funcionar. De sistemas de fila a bancos de dados para cache ou dados persistentes, além de referências para libs ou frameworks usados no projeto. Toda informação agrega no aprendizado do próprio projeto. conjunto de tecnologias usadas no projeto

Slide 20

Slide 20 text

Documentação > Infra/Arquitetura Esquema de funcionamento Fluxo da informação Não é raro ficar sem entender por onde a informação chega, o que é feito com ela e para onde ela vai. Um desenho explicando isso poupa várias horas de qualquer profissional que está começando no projeto ou voltando para ele. conjunto de elementos que perfazem um todo; estrutura, natureza, organização.

Slide 21

Slide 21 text

Documentação > Relacionamentos Com quais outros projetos este projeto se relaciona? Uma breve lista de links de projetos relacionados. Podem ser projetos de qualquer natureza, dependências diretas ou indiretas. Projetos que dependem do projeto atual ou projetos que ele depende. Esse tipo de informação economiza horas de trabalho. capacidade de manter relacionamentos, de conviver bem com seus semelhantes.

Slide 22

Slide 22 text

Documentação > Fluxo de trabalho Como fazemos para o projeto “rodar”? Não devemos nunca assumir que quem for trabalhar no projeto conhece determinados comandos ou usa determinadas IDEs, muito menos que conhece a stack do projeto. Uma coleção de comandos simples e úteis para o desenvolvimento do projeto. De testes a build, quanto mais comandos documentados melhor. sequência de passos necessários para automatizar processos

Slide 23

Slide 23 text

Documentação > Configuração Quais as opções deste projeto? Quais as variáveis de ambiente? Há arquivos de configuração? Procuramos sempre criar projetos que não dependam de mudanças no código para que comportamento ou ações também mudem. Para isso existem as configurações. Uma lista delas ou um link para o arquivo onde elas ficam (devidamente comentadas e descritas), ajuda a fácilmente entender boa parte das possibilidades do projeto. ato ou efeito de configurar.

Slide 24

Slide 24 text

Documentação > API Quais os endpoints e contratos do projeto? Sejam APis Rest, consumidores ou produtores de eventos, todo projeto possui uma coleção de “contratos”. Há inúmeras formas de se documentar isso. Não importa se a documentação é automática, viva ou estática, ela precisa existir. A documentação da API pode estar no README do projeto ou fora dele, quando for este o caso, novamente, faça referência disso no README do projeto. acordo entre as partes, que se obrigam a cumprir o que foi combinado sob determinadas condições

Slide 25

Slide 25 text

“O conjunto da obra que faz a diferença” Comece simples, comece pelo básico e vá melhorando aos poucos.

Slide 26

Slide 26 text

“Não monopolize a informação” Passagens de conhecimento são muito mais simples com uma documentação de apoio.

Slide 27

Slide 27 text

“Valorize a documentação tanto quanto os testes da aplicação” Devemos tratar a documentação como algo tão vital quanto os testes automatizados.

Slide 28

Slide 28 text

Acesso Informação Liberdade Evolução

Slide 29

Slide 29 text

Momento Motivacional!

Slide 30

Slide 30 text

Todos amam uma boa documentação. Muitas vezes escolhem algo justamente pela documentação.

Slide 31

Slide 31 text

Abrace uma documentação. Você pode precisar dela um dia.

Slide 32

Slide 32 text

Documentações não nascem sozinhas. Cada informação conta.

Slide 33

Slide 33 text

Sua equipe precisa de você, documente seus projetos!

Slide 34

Slide 34 text

Toda documentação precisa ser cuidada. Salve um projeto, documente, crie um README legal...

Slide 35

Slide 35 text

Você consegue, documente!

Slide 36

Slide 36 text

Documentações salvam vidas. Não crie seu projeto sem elas.

Slide 37

Slide 37 text

Obrigado

Slide 38

Slide 38 text

No content