o desenvolvedor completo - por mariana bravo

46
1 O DESENVOLVEDOR COMPLETO Mariana Bravo

Upload: thoughtworks

Post on 08-Jul-2015

3.364 views

Category:

Technology


1 download

DESCRIPTION

O que é um desenvolvedor completo? Desenvolvimento de software é uma disciplina com muitas características únicas. Ao longo do tempo, nossos processos, práticas, ferramentas e papéis evoluem com influência de outras disciplinas e inovações de nossa própria área. A última década, com a popularização de métodos ágeis, tem visto uma demanda por profissionais cada vez mais flexíveis e multi-disciplinares. Através de alguns exemplos, discutimos nessa palestra o que significa e quais os benefícios de habilidades do cotidiano de um desenvolvedor ágil, desde análise e programação até entrega de software. Para ver a palestra ao vivo, confira o Hangout Live aqui: http://bit.ly/devcompleto

TRANSCRIPT

1

O DESENVOLVEDOR COMPLETOMariana Bravo

2

MARIANA BRAVO- Formada em metodologias ágeis

- Programadora poliglota

- Desenvolvedora de software há 8 anos

- Já trabalhei com software livre, produto e consultoria

- Trabalho na ThoughtWorks Chicago há 2 anos

3

4

5

6

7

8

ANÁLISE DE REQUISITOS

PROJETO

IMPLEMENTA-ÇÃO

TESTE E VERIFICAÇÃO

IMPLANTA-ÇÃO

ANÁLISE

MODELO

CÓDIGO

TESTE

ENTREGA

9

ANÁLISE DE REQUISITOS

PROJETO

IMPLEMENTA-ÇÃO

TESTE E VERIFICAÇÃO

IMPLANTA-ÇÃO

ANÁLISE

MODELO

CÓDIGO

TESTE

ENTREGA

PLANEJAR

MONITORAR

OPERAR

10

#. PROGRAMAR

11

LÓGICA

12

LINGUAGEMconceitos e sintaxe

13

FRAMEWORKS,bibliotecas e ferramentas

14

LÓGICA, LINGUAGENS E FRAMEWORKSSÃO NOSSA MATÉRIA-PRIMA

15

#. TESTAR

16

#. TESTAR Cenários esperados

Cenários alternativos (“e se?”)

17

#. TESTAR

Confiança

Robustez

18

AUTOMATIZAR

19

#. TESTAR Confiança++

Robustez++

Rapidez

Rede de segurança

20

#. REFATORAR

21

Melhorar a estrutura interna do código sem alterar seu

comportamento.

22

#. REFATORAR Para melhorar legibilidade e entendimento

Para se adaptar melhor a mudanças

23

VERM

ELH

O

LIMITADO

http://www.infoq.com/presentations/The-Limited-Red-Society

24

#. MODELAR

25

Modelo (ou design) é uma abstração

que representa nosso entendimento atual

de uma solução.

26

ExportService

public CsvFile getExportCsv(int customerId,String country,String orderId,String fromDate,String toDate,String itemIds,boolean weight,boolean inflamableMaterial,boolean material)

throws IOException, SQLException {...

} ?

27

FilterByCountry

FilterByItemIds

FilterByPeriod

FilterByOrderId

Filter

ExportService

public CsvFile getExportCsv(int customerId,List<Filter> filters)

throws IOException, SQLException {...

}

FilterByType

28

FilterByCountry

FilterByItemIds

FilterByPeriod

FilterByOrderId

Filter

ExportService

public CsvFile getExportCsv(int customerId,List<Filter> filters)

throws IOException, SQLException {...

}

FilterByType

29

FilterByCountry

FilterByItemIds

FilterByPeriod

FilterByOrderId

Filter

ExportService

public CsvFile getExportCsv(int customerId,List<Filter> filters)

throws IOException, SQLException {...

}

FilterByType

Filter

ByStatus

30

MODELO

REFATORAR

31

#. ARQUITETURA

32

33

34

35

36

#. ANÁLISE

37

Entender separadamente o problema, a hipótese e a solução.

38

Entender separadamente o problema, a hipótese e a solução.

Permite encontrar soluções alternativas para um problema.

39

Decompor uma solução emetapas incrementais.

40

Decompor uma solução emetapas incrementais.

Permite entregar, obter feedback e validar a hipótese mais cedo.

41

#. RECAPITULANDO#. Programar

#. Testar

#. Refatorar

#. Modelar

#. Arquitetura

#. Análise

42

#. TEM MAIS#. Entregar

#. Operar

#. Monitorar

#. Planejar

#. Processo

#. Domínio

43

TÁ DOIDA?

44

45

SAIBA O QUE VOCÊ NÃO SABEReconheça

Aprenda

Complemente

OBRIGADA!

Perguntas?

Mariana [email protected]