26
DBLearning Desenvolvimento Distribuído de Software Que lições aprendidas podem ser aplicadas na DBServer? Rafael Audy Glanzner [email protected]

Global Software Development - O que pode ser aplicado?

Embed Size (px)

Citation preview

Page 1: Global Software Development - O que pode ser aplicado?

DBLearning

Desenvolvimento Distribuído de Software

Que lições aprendidas podem ser aplicadas na DBServer?

Rafael Audy Glanzner

[email protected]

Page 2: Global Software Development - O que pode ser aplicado?

Agenda

• Sobre o Desenvolvimento Global de Software;

• Debate sobre práticas observadas durante o mestrado!– O que podemos levar para a nossa realidade?

– Priorização por dinâmica!

2

Page 3: Global Software Development - O que pode ser aplicado?

• De todo o software gerado, quanto é feito de forma distribuída??

• É sustentável? Será que continua crescendo?

• Quanto é isso em número no mercado mundial e brasileiro?

• Ok, e tem alguma prática empregada nesse contexto que possa serusada na DB?

3

Motivação do tema!

Page 4: Global Software Development - O que pode ser aplicado?

Desenvolvimento Global de Software

• Configurações;

• Principais Vantagens;

• Principais Dificuldades;

• Vantagem Brasileira.

4

Page 5: Global Software Development - O que pode ser aplicado?

Tipos de Desenvolvimento Global

5

Page 6: Global Software Development - O que pode ser aplicado?

Principais Vantagens

6

Page 7: Global Software Development - O que pode ser aplicado?

Principais Vantagens

7

Page 8: Global Software Development - O que pode ser aplicado?

• Podem ser divididas

nas áreas de:– Pessoas

– Projetos

– Unidade

8

Principais Dificuldades

Pessoas

Diferenças culturais

Aquisição de Confiança

Percepção (awareness) sobre as atividadesPercepção (awareness) sobre o processoPercepção (awareness) sobre a disponibilidade de pessoalGestão de conhecimento

Aprendizado

Treinamento

Projetos

Engenharia de Requisitos

Ferramentas de Comunicação

Ferramentas de Colaboração

Infra-estutura

Estrutura de gerência de projetos

Gerência de risco

Gerência de configuração

Unidade

Iniciativas de melhoria de processo de sw

Políticas e padrões

Alocação de Projetos

Page 9: Global Software Development - O que pode ser aplicado?

9

Principais Dificuldades

Page 10: Global Software Development - O que pode ser aplicado?

Vantagem Brasileira

10

Page 11: Global Software Development - O que pode ser aplicado?

Vantagem Brasileira

• Nosso principal cliente e o conceito de Near Shoring!

• Economia e política estáveis;

• Infraestrutura;

• Compatibilidade cultural e pessoas qualificadas;

• OBS: Não é o preço

11

Page 12: Global Software Development - O que pode ser aplicado?

Debate e Dinâmica

• Experiências interessantes das avaliações do mestrado e o que pode ser aplicado na DBServer?

12

Page 13: Global Software Development - O que pode ser aplicado?

Tópico de Exemplo

• Ficar no dojo até as 20:30!!;

• Ver o jogo do Gremio!!

13

Page 14: Global Software Development - O que pode ser aplicado?

Relacionadas a Cultura da Organização

• Apadrinhamento;

• Learn on the job;

• Ramping de funcionários;– Caso Infosys.

• Alocação remota de funcionários ou até de equipes;– Troca de funcionários.

– Paralelo com o Tecnopuc.

14

Page 15: Global Software Development - O que pode ser aplicado?

Relacionado a Diferenças Culturais

• Treinamentos antes das viagens;– Hábitos e Cultura.

• Feedback contínuo entre as equipes;– Outsourcing e Insourcing.

• Viagens no início e ao longo de projetos;

• Diferencial da cultura;

• News Letters.

15

Page 16: Global Software Development - O que pode ser aplicado?

Comunicação

• Simulação de ambientes colocalizados;

• One on Ones;

• Engenharia de Software;– Usar como exemplo BDD.

16

Page 17: Global Software Development - O que pode ser aplicado?

Comunicação

• Ferramentas ricas em contexto;

• Acesso livre a qualquer colega;

• Time Shifting;

17

Page 18: Global Software Development - O que pode ser aplicado?

Colaboração

• O que está sendo desenvolvido?

• Qual o backlog?

• Status do projeto de forma acessível? Qual a nossa meta?

• Envolvidos, contatos e dispobilidade em geral;

• Padronização para colaboração?

18

Page 19: Global Software Development - O que pode ser aplicado?

Gestão de Conhecimento

• E o conhecimento gerado aqui nesse encontro?– Exemplo da Lamba 3;

– Wikis, ferramentas globais, etc.

• E o conhecimento gerado no projeto?– Exemplo sobre apresentações do GMF (Acesso X Ferramenta)!

– Sharepoint.

• Pair Programming remoto em Follow the Sun.

19

Page 20: Global Software Development - O que pode ser aplicado?

Estímulo para evolução pessoal

• Treinamento é percebido como importante na empresa?

• Avaliação verifica competências deficientes;

• Mentoring;

• Metas do funcionário ou de cargo pretendido;

20

Page 21: Global Software Development - O que pode ser aplicado?

Estímulo para evolução pessoal

• Metas são condição para aumento de cargo e salário;– Será que é relevante? Avaliação orgânica x estruturada.

• Cargos com pré-requisitos,

• News Letter com eventos;

21

Page 22: Global Software Development - O que pode ser aplicado?

Comunidades de Práticas

• Globais e locais;

• Facilita o acesso à pessoas que conheçam o assunto;

• Colaboração ativa depois do dojo ou detate;

• Estimula a geração de conhecimento (necessidade x visibilidade);

• Facilita a comunicação e adesão de pessoas (interno e externo);

• DBLearning = (Engenharia de Software + Práticas Ágeis + …)?22

Page 23: Global Software Development - O que pode ser aplicado?

Melhoria Contínua

• Portal para cadastro de melhorias;

• Blog com rankeamento e priorização de melhorias;

• Indicação de necessidades por projetos;

• Questionários de avaliação recorrentes. Exernos e internos!– Kata

• Provas de conceito de melhorias;

• Time que organize e enderece essas demandas.– Comunidades de prática? 23

Page 24: Global Software Development - O que pode ser aplicado?

Padronização

• Uma figura divertida para amenizar a polêmica!

24

Page 25: Global Software Development - O que pode ser aplicado?

Padronização

• Processo único entre as equipes distribuídas;

• Auditoria;– Automatizada?

– QA importante?

• Facilidade para manter a infra;

25

Page 26: Global Software Development - O que pode ser aplicado?

Conclusão e Perguntas!

26

Rafael Audy Glanzner

[email protected]

Além de: