SlideShare une entreprise Scribd logo
1  sur  52
Como desenvolver software? Tecnologias, Ferramentas e Processos
Esta palestra fornece “visões”
Por que software? ,[object Object],O que não usa software? Diretamente ou não?
Motivação ,[object Object]
IBM
Oracle
CA, ... ,[object Object],[object Object]
50000 funcionários
Mais de 1000 aplicam + de $1.000.000 em bolsas http://www.forbes.com/
Abordagens de construção http://www.swebok.org
Desnecessário Obrigatório ES se aplica a todos os casos?
Quando se aplica, o objetivo é... Engenharia de Software Produzir software economicamente que atende necessidades dos usuários
É difícil construir software? ,[object Object]
Representação é acidental.
Propriedades inerentes: ,[object Object]
Modificabilidade  (infinitamente maleável)
Invisibilidade ,[object Object],[object Object]
Construção de protótipos (def. de requisitos é difícil)
Desenvolvimento incremental (crescer, não construir)
Bons projetistas No Silver Bullet: Essence and Accidents of Software Engineering Frederick P. Brooks, Jr. IEEE Computer, vol 20 (4), april, 1987, pp. 10-19.
Pense sobre isto! ,[object Object]
Ver
Cheirar
Lamber
Cortar
Matar
Desgastar
Encolher
Segurar ... O que é impossível de se fazer com um software:
Construir software é jogo de equipe Stakeholder: Pessoa que é afetada pelo sucesso ou não de um projeto (de software) Clientes, usuários (operadores), analistas, projetistas, programadores, ...
É possível construí-los sozinho? ,[object Object]
Red Hat Linux 7.1  30
Debian 3.1    213
Sun Solaris    7.5
Linux kernel 2.6.0  6.0
Windows XP  40
Windows Vista  50 http://blogs.zdnet.com/web2explorer/?p=148
Software em construção Quais os problemas?
Cumprimento de prazos Insatisfação de clientes Baixa produtividade Erros Custos Complexidade Pessoas Desempenho Mudanças
Como resolver os problemas? ,[object Object]
Métodos
Ferramentas Maior relevância para o sucesso
Processo de software Processo é uma seqüência de tarefas que, executada adequadamente, produz o resultado desejado. Characterizing the Software Process: A Maturity Framework Watts S. Humphrey, IEEE Software, mar/1988, 73-79
Para se construir uma casa... É preciso um processo!
Processo Objeto desejado Mapa de tarefas (orientação) O que fazer? Quando? Quem? Qual ferramenta? Qual procedimento?   Qual tecnologia?
Perspectiva lúdica
Suposição bem-aceita
Primeiro processo de software ,[object Object]
Implícito
Dinâmica ,[object Object]
Construir software
Validar com usuários

Contenu connexe

Tendances

Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a ModelagemRodrigo Branas
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Diego Pacheco
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Raphael Paiva
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaDiego Pacheco
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Qualificação MACC- Entities
Qualificação MACC- EntitiesQualificação MACC- Entities
Qualificação MACC- EntitiesMarcius Brandão
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Engenharia de Software - Introdução e Motivação (Marcello Thiry)Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Engenharia de Software - Introdução e Motivação (Marcello Thiry)Marcello Thiry
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XPWildtech
 

Tendances (20)

Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a Modelagem
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestrutura
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Lean Startup
Lean Startup Lean Startup
Lean Startup
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Qualificação MACC- Entities
Qualificação MACC- EntitiesQualificação MACC- Entities
Qualificação MACC- Entities
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento
 
Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Engenharia de Software - Introdução e Motivação (Marcello Thiry)Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Engenharia de Software - Introdução e Motivação (Marcello Thiry)
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XP
 

Similaire à Como desenvolver software de forma eficaz

Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareLuiz Borba
 
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle ManagementCampus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle ManagementRamon Durães
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)Tiago Vizoto
 
Es aula01
Es   aula01Es   aula01
Es aula01Itaú
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimentoGabriel Moura
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareFábio Nogueira de Lucena
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introduçãoFelipe Lyra
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxRoberto Nunes
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentaisWaldemar Roberti
 
Praticas robustas e antifrageis de engenharia de software
Praticas robustas e antifrageis de engenharia de softwarePraticas robustas e antifrageis de engenharia de software
Praticas robustas e antifrageis de engenharia de softwareMarco Mendes
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASOs Fantasmas !
 

Similaire à Como desenvolver software de forma eficaz (20)

Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De Software
 
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle ManagementCampus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
Es aula01
Es   aula01Es   aula01
Es aula01
 
Aula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xpAula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xp
 
Usabilidade Simples
Usabilidade SimplesUsabilidade Simples
Usabilidade Simples
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introdução
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
[Ci2015] sim rva
[Ci2015] sim  rva[Ci2015] sim  rva
[Ci2015] sim rva
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
 
Praticas robustas e antifrageis de engenharia de software
Praticas robustas e antifrageis de engenharia de softwarePraticas robustas e antifrageis de engenharia de software
Praticas robustas e antifrageis de engenharia de software
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 

Plus de Fábio Nogueira de Lucena

Jornada Goiana em Engenharia de Software 2017
Jornada Goiana em Engenharia de Software 2017Jornada Goiana em Engenharia de Software 2017
Jornada Goiana em Engenharia de Software 2017Fábio Nogueira de Lucena
 
Engenharia de Software - planejamento pedagógico
Engenharia de Software - planejamento pedagógicoEngenharia de Software - planejamento pedagógico
Engenharia de Software - planejamento pedagógicoFábio Nogueira de Lucena
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Fábio Nogueira de Lucena
 

Plus de Fábio Nogueira de Lucena (20)

CSS
CSSCSS
CSS
 
Fundamentos de Programação Front-End
Fundamentos de Programação Front-EndFundamentos de Programação Front-End
Fundamentos de Programação Front-End
 
JavaScript: Aprendendo a programar
JavaScript: Aprendendo a programarJavaScript: Aprendendo a programar
JavaScript: Aprendendo a programar
 
HTML5: Primeiros Contatos (visão geral)
HTML5: Primeiros Contatos (visão geral)HTML5: Primeiros Contatos (visão geral)
HTML5: Primeiros Contatos (visão geral)
 
HTTP: Um Curso Básico
HTTP: Um Curso BásicoHTTP: Um Curso Básico
HTTP: Um Curso Básico
 
Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08
 
Jornada Goiana em Engenharia de Software 2017
Jornada Goiana em Engenharia de Software 2017Jornada Goiana em Engenharia de Software 2017
Jornada Goiana em Engenharia de Software 2017
 
Arquétipos
ArquétiposArquétipos
Arquétipos
 
Introducao integracao
Introducao integracaoIntroducao integracao
Introducao integracao
 
Healthdb Visão Geral
Healthdb Visão GeralHealthdb Visão Geral
Healthdb Visão Geral
 
Engenharia de Software - planejamento pedagógico
Engenharia de Software - planejamento pedagógicoEngenharia de Software - planejamento pedagógico
Engenharia de Software - planejamento pedagógico
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Arquitetura software
Arquitetura softwareArquitetura software
Arquitetura software
 
Prontuário Eletrônico do Paciente
Prontuário Eletrônico do PacienteProntuário Eletrônico do Paciente
Prontuário Eletrônico do Paciente
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
 
Introducao
IntroducaoIntroducao
Introducao
 
Uml
UmlUml
Uml
 
Orientação a Objetos (3)
Orientação a Objetos (3)Orientação a Objetos (3)
Orientação a Objetos (3)
 
Orientação a Objetos (2)
Orientação a Objetos (2)Orientação a Objetos (2)
Orientação a Objetos (2)
 

Como desenvolver software de forma eficaz

Notes de l'éditeur

  1. Não estou aqui para dizer como fazer, não se trata de uma prescrição, mas uma descrição. Em artigo de dezembro da IEEE Software o editor coloca muito bem esta questão. Muitos pesquisadores não conhecem realmente o que se passa na prática e o que é pior, eles pensam que sabem. A idéia é simples. Praticantes estão imersos. É preciso emergir e verificar o que se passa ao redor. Visto que imergir é uma tarefa na qual os praticantes são imbatíveis. Por outro lado, coloco-me aqui na posição de pesquisador e assumo a postura de que “não sei o que se passa na prática”. Com esta postura, esta apresentação, ao menos conceitualmente tenta ser livre de preconceitos e aberta a qualquer tipo de debate.
  2. CONTA A HISTÓRIA QUE O MAUSOLÉU MAIS BONITO DO PLANETA É FRUTO DO AMOR DE UM GRANDE GUERREIRO PELA SUA MULHER. FÁBULA É INVENÇÃO MINHA: ESTE GUERREIRO TEVE QUE CONTAR COM ALGUÉM QUE CONSTRUI O MAUSOLÉU, OU SEJA, SUAS IDÉIAS TIVERAM QUE SAIR DA MENTE DELE E, DE FORMA FORMAL OU NÃO, SER TRANSFERIDA PARA A DE OUTRAS PESSOAS. ENTRE ELES, UM MODELO. NESTA FÁBULA, ELE IMAGINOU ASSIM O MAUSOLÉU, QUE FOI ASSIM INTERPRETADO PELA CONSTRUTORA DA ÉPOCA E FOI ASSIM REALIZADO. ESTA É UMA FÁBULA QUE SERVE COMO METÁFORA DE SUCESSO PARA ER.