SlideShare una empresa de Scribd logo
1 de 91
PDS – Teoria e Prática Ralph J. R. Filho
Objetivos Esclarecer a importância do processo de desenvolvimento de software bem como explicar suas aplicabilidades e a participação das pessoas
Conteúdo Primeiros Passos Visão Geral Tipos de PDS Tradicionais RUP, Cascata Ágeis SCRUM, XP
Primeiros Passos Processo Conjunto de passos e instruçõesparaexecutardeterminadasatividades Desenvolvimento Criaçãooumanutenção de um produtoouserviço Software Conjunto de código-fonte e documentação
Primeiros Passos Um processo de desenvolvimento de software (PDS) é um conjunto de atividades, disciplinas e papéisqueprescrevepráticaspara se conceber, gerenciar, desenvolver, testar e implantar um software As atividades do PDS possuementradas, saídas, ferramentas e técnicasqueestãoligadas a artefatoscriadosoualteradosdurantesuaexecução
Crise do Software Osprimeiros PDS's surgiramnosanos 70 impulsionadospelacrise do software queocorreunosanos60 Osprojetos de software dos anosiniciaisapresentavamdiversosproblemas Altos investimentos, semvisibilidade Excesso de falhas (bugs) Requisitos mal compreendidos Quaseimpossível de manterapós pronto
Visão Geral
Visão Geral “Anyfoolcanwritecodethat a computercanunderstand. Goodprogramerswritecodethathumanscanunderstand” Martin Fowler
Alguns Objetivos Visão de Projeto Aplicação de boas práticas Indicadores de qualidade Definição de papéisligadosaoplano de carreira e àsatividadesexecutadas
Alguns Objetivos Visão de Projeto Saber sobre o progresso das atividades, impedimentos, atrasos, dependências, relacionamentos, custos, riscos Poderorganizar/planejar com maioreficiência as tarefasqueirãocomporcadaetapa de um desenvolvimento
Alguns Objetivos
Alguns Objetivos Indicadores de qualidade Identificaracuracidade de estimativas Compararprojetos Alinharobjetivos dos projetos com osobjetivosestratégicos da empresa Identificaresforço com defeitos e retrabalhos Mapeardesempenho de recursoshumanos
Alguns Objetivos
Alguns Objetivos
Alguns Objetivos Aplicação de boas práticas Modelos de documentos a seremutilizadosparaagregar valor ao software Liçõesaprendidas com projetosanterioresdescritoscomoguias Estrutura de papéisadequada à política da empresa Estrutura de fases e disciplinasadequada à natureza dos projetos da empresa
Primeiros Passos O que é? Papel Disciplina Artefato
Primeiros Passos - Papéis ,[object Object]
Analista de Qualidade
Analista de Requisitos
Analista de Negócios
Analista de Testes
Arquiteto de Software
Consultor
Desenvolvedor
Gerente de Configuração
Gerente de Projetos
Testador
...Cada papel tem sua importância, disciplina, artefatos associados e atividades pré-definidas
Primeiros Passos - Disciplina ,[object Object]
Desenvolvimento de software
Gerência de Configuração
Gerência de Requisitos
Gerência de Projetos
Implantação
Modelagem de Negócios
Teste de SoftwareCategorização de processos que são, teoricamente, independente dos demais
Primeiros Passos - Artefato ,[object Object]
Burndownchart
Caso de Teste
Caso de Uso
Código fonte
E-mail
Glossário
Plano de iteração
Requisito
Exemplo:
Coleção de Requisitos
Caso de Uso
Regra de NegócioDocumento ou elemento pertencente a este, que deve ser criado ou alterado
Primeiros Passos - Artefato
Visão Geral
Visão Geral Organizaçõesbemestruturadasusam PDS emseuambiente, semprebuscandomelhoria O PDS possui um conjunto de regras e elementosquesãocriados e refinadosaopassar do tempo
Visão Geral Pessoasquedesempenham o papel de Analista de Qualidadefocamseutrabalhoemdefinir, manter, ensinar e auditar o PDS Algumasempresaspossuem um setor de qualidade O conhecimento das pessoasqueusam o PDS naprática é fundamental para o refinamento dos processos
Visão Geral
Visão Geral
Visão Geral
Visão Geral Uma página web é um bomcaminhoparacentralizar o PDS. Eledeveser de acesso a todosnaempresa Cadapessoa, de acordo com seuspapéis, executa as atividadesconforme o PDS e podedarsugestões de melhoriasbemcomoindagarsobreelementosquenãoconcordaouque tem dúvidas
Visão Geral É importanteconhecer o PDS como um todo! Conhecer o seupapelnaempresa Descobrir e trilharcaminhos de carreira Estudar e aplicar as melhorespráticas
Visão Geral Ferramentassãoutilizadaspelaspessoasquefazem o PDS acontecer. Através do usodelas as tarefassãoexecutadas, osdocumentosarquivados e as informaçõesmantidas Exemplos: MS Project, CVS, Eclipse, IBM Rational Suite, Thunderbird
Visão Geral O PDS deveevitarreferir-se a ferramentasdiretamente, oufazerisso de forma independente, porquê as ferramentasdevemoferecersuporteao PDS, e não o contrário O PDS deveenglobar as diferentesnaturezas dos projetosque a organizaçãoexecuta
Visão Geral - RUP
Visão Geral Atualmenteexistemdiversosmodelos de PDS no mercado O PDS ideal é aquelequeatendeaostipos de projetosque a organizaçãoexecuta Customização de modelos é normal
Modelos de PDS Tradicionais Possuemumagrandequantidade de papéis, disciplinas e fases. Chamadosdesta forma porseremprecursoresouserembaseadosnestes. Lembrametapas de um processofabril (Fábrica de Software) Ágeis Conceitocriadonosanos 90 com o pretexto de queostradicionaisnãoatendiamdeterminadasnaturezas de projetos (web) e queeramexcessivamenteburocráticos
Modelos de PDS Tradicionais Cascata RUP Ágeis SCRUM XP
Cascata ModeloCascata Primeiro PDS formalizado, anos 70 Processosequencial e estático, é simples de seraplicado e controlado Váriasempresasutilizamatualmente Originou-se emempresas da área industrial, de manufatura e construção
Cascata
Cascata O modelo Cascata “puro” prescreve que só é possível avançar para uma próxima fase depois que a fase anterior estiver 100% concluída Existem variações deste modelo
Cascata
Cascata
Cascata Quais as vantagens? Quais as desvantagens?
RUP IBM RationalUnifiedProcess Usa a abordagem O.O. e UML na sua documentação Organizado em fases e disciplinas inclui guias de boas práticas e templates Possui um vasto conjunto de papéis e documentos, abrange a elaboração de softwares de alta complexidade
RUP
RUP
RUP
RUP
RUP
RUP
RUP Principais documentos
RUP
RUP
RUP
RUP Quais as vantagens? Quais as desvantagens?
RUP Visite http://www.wthreex.com
Ágeis SCRUM, XP Porquê está em evidência? Toyota, Honda, HP Inovação Web A abordagem humanitária em detrimento dos processos bem elaborados
Ágeis Princípios Indivíduos e iterações melhor que: processos e ferramentas Software funcionando melhor que:documentação compreensiva Cooperação do cliente melhor que: negociar contrato Resposta à mudanças melhor que:seguir planos Cuidado com a interpretação dos itens acima
O case Toyota Mais de 300 mil colaboradores A maior empresa automotiva em produção e vendas
O case Toyota Toyota-way Pensamento longo prazo como base para decisões gerenciais Processo para soluções de problemas Adicionar valor à organização através do desenvolvimento das pessoas Solução de problemas na raiz direciona ao aprendizado organizacional
O case Toyota Respeito aos seres humanos e melhoria contínua Desafio Kaizen Trabalho em equipe Os ágeis basearam-se neste modelo
Ágeis
Ciclo de vida ágil
XP Extreme programming Práticas ágeis voltadas para o desenvolvimento de software

Más contenido relacionado

La actualidad más candente

Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
licardino
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
eros.viggiano
 

La actualidad más candente (20)

Apresentacao Pmbok
Apresentacao PmbokApresentacao Pmbok
Apresentacao Pmbok
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e Projeto
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com Scrum
 
Métodos Ágeis e Scrum - Introdução
Métodos Ágeis e Scrum - IntroduçãoMétodos Ágeis e Scrum - Introdução
Métodos Ágeis e Scrum - Introdução
 
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
 
PMBOK
PMBOKPMBOK
PMBOK
 
Aula 1 - Gestão de Projetos
Aula 1 - Gestão de ProjetosAula 1 - Gestão de Projetos
Aula 1 - Gestão de Projetos
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
Gestão de Projetos
Gestão de ProjetosGestão de Projetos
Gestão de Projetos
 
Ciclo de vida de um projeto
Ciclo de vida de um projetoCiclo de vida de um projeto
Ciclo de vida de um projeto
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 

Destacado

Processo de desenvolvimento de software (12 horas)
Processo de desenvolvimento de software (12 horas)Processo de desenvolvimento de software (12 horas)
Processo de desenvolvimento de software (12 horas)
Vitor Savicki
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Sérgio Souza Costa
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
elliando dias
 
Porque devo usar Scrum em meus projetos
Porque devo usar Scrum em meus projetosPorque devo usar Scrum em meus projetos
Porque devo usar Scrum em meus projetos
Eamon Sousa, PMP
 

Destacado (20)

O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 
Processo de desenvolvimento de software (12 horas)
Processo de desenvolvimento de software (12 horas)Processo de desenvolvimento de software (12 horas)
Processo de desenvolvimento de software (12 horas)
 
Processo de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoProcesso de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - Programação
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Processo de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoProcesso de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - Prototipação
 
Processo de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoProcesso de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de Definição
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Prototipação
PrototipaçãoPrototipação
Prototipação
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
O processo de desenvolvimento de software livre com a metodologia XP
O processo de desenvolvimento de software livre com a metodologia XPO processo de desenvolvimento de software livre com a metodologia XP
O processo de desenvolvimento de software livre com a metodologia XP
 
Engenharia de Software: POC
Engenharia de Software: POCEngenharia de Software: POC
Engenharia de Software: POC
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Porque devo usar Scrum em meus projetos
Porque devo usar Scrum em meus projetosPorque devo usar Scrum em meus projetos
Porque devo usar Scrum em meus projetos
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Treinamento de Requisitos Ágeis com Design Thinking
Treinamento de Requisitos Ágeis com Design ThinkingTreinamento de Requisitos Ágeis com Design Thinking
Treinamento de Requisitos Ágeis com Design Thinking
 
Processo de Análise e Desenvolvimento de Software (PDS)
Processo de Análise e Desenvolvimento de Software (PDS)Processo de Análise e Desenvolvimento de Software (PDS)
Processo de Análise e Desenvolvimento de Software (PDS)
 

Similar a Processos de Desenvolvimento de Software - teoria e prática

Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em Juazeiro
Paulo Furtado
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
Roberto Brandini
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com Scrum
Juan Bernabó
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESC
Wildtech
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To Scrum
Juan Bernabó
 

Similar a Processos de Desenvolvimento de Software - teoria e prática (20)

Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em Juazeiro
 
Artigo
ArtigoArtigo
Artigo
 
Artigo23
Artigo23Artigo23
Artigo23
 
Desmistificando Agile & Scrum
Desmistificando Agile & ScrumDesmistificando Agile & Scrum
Desmistificando Agile & Scrum
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Gerenciamento de projetos de TI
Gerenciamento de projetos de TIGerenciamento de projetos de TI
Gerenciamento de projetos de TI
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com Scrum
 
Scrum - Visão Geral
Scrum - Visão GeralScrum - Visão Geral
Scrum - Visão Geral
 
Artigo corrigido
Artigo corrigidoArtigo corrigido
Artigo corrigido
 
Scrum no contexto de processos de desenvolvimento
Scrum no contexto de processos de desenvolvimentoScrum no contexto de processos de desenvolvimento
Scrum no contexto de processos de desenvolvimento
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWARE
 
Inciando com Scrum
Inciando com ScrumInciando com Scrum
Inciando com Scrum
 
Aplicando Scrum na prática para times ágeis
Aplicando Scrum na prática para times ágeisAplicando Scrum na prática para times ágeis
Aplicando Scrum na prática para times ágeis
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESC
 
Processos de Software - 101
Processos  de Software - 101Processos  de Software - 101
Processos de Software - 101
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To Scrum
 

Más de Ralph Rassweiler

Estruturas organizacionais e comportamentos profissionais
Estruturas organizacionais e comportamentos profissionaisEstruturas organizacionais e comportamentos profissionais
Estruturas organizacionais e comportamentos profissionais
Ralph Rassweiler
 

Más de Ralph Rassweiler (9)

Introdução à sistemas de recomendação
Introdução à sistemas de recomendaçãoIntrodução à sistemas de recomendação
Introdução à sistemas de recomendação
 
Sistemas de Recomendação - Parte 2
Sistemas de Recomendação - Parte 2Sistemas de Recomendação - Parte 2
Sistemas de Recomendação - Parte 2
 
Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1
 
Produtividade & elegância com linux
Produtividade & elegância com linuxProdutividade & elegância com linux
Produtividade & elegância com linux
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Estruturas organizacionais e comportamentos profissionais
Estruturas organizacionais e comportamentos profissionaisEstruturas organizacionais e comportamentos profissionais
Estruturas organizacionais e comportamentos profissionais
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
 
Mobilidade inova ti_em_saude
Mobilidade inova ti_em_saudeMobilidade inova ti_em_saude
Mobilidade inova ti_em_saude
 
Cinco tecnicas uteis para gerenciamento de projetos
Cinco tecnicas uteis para gerenciamento de projetosCinco tecnicas uteis para gerenciamento de projetos
Cinco tecnicas uteis para gerenciamento de projetos
 

Processos de Desenvolvimento de Software - teoria e prática