PDS – Teoria e PráticaRalph J. R. Filho
ObjetivosEsclarecer a importância do processo de desenvolvimento de software bem como explicar suas aplicabilidades e a participação das pessoas
ConteúdoPrimeiros PassosVisão GeralTipos de PDSTradicionaisRUP, CascataÁgeisSCRUM, XP
Primeiros PassosProcessoConjunto de passos e instruçõesparaexecutardeterminadasatividadesDesenvolvimentoCriaçãooumanutenção de um produtoouserviçoSoftwareConjunto de código-fonte e documentação
Primeiros PassosUm processo de desenvolvimento de software (PDS) é um conjunto de atividades, disciplinas e papéisqueprescrevepráticaspara se conceber, gerenciar, desenvolver, testar e implantar um softwareAs atividades do PDS possuementradas, saídas, ferramentas e técnicasqueestãoligadas a artefatoscriadosoualteradosdurantesuaexecução
Crise do SoftwareOsprimeiros PDS's surgiramnosanos 70 impulsionadospelacrise do software queocorreunosanos60Osprojetos de software dos anosiniciaisapresentavamdiversosproblemasAltos investimentos, semvisibilidadeExcesso de falhas (bugs)Requisitos mal compreendidosQuaseimpossível de manterapós pronto
Visão Geral
Visão Geral“Anyfoolcanwritecodethat a computercanunderstand. Goodprogramerswritecodethathumanscanunderstand”Martin Fowler
Alguns ObjetivosVisão de ProjetoAplicação de boas práticasIndicadores de qualidadeDefinição de papéisligadosaoplano de carreira e àsatividadesexecutadas
Alguns ObjetivosVisão de ProjetoSaber sobre o progresso das atividades, impedimentos, atrasos, dependências, relacionamentos, custos, riscosPoderorganizar/planejar com maioreficiência as tarefasqueirãocomporcadaetapa de um desenvolvimento
Alguns Objetivos
Alguns ObjetivosIndicadores de qualidadeIdentificaracuracidade de estimativasCompararprojetosAlinharobjetivos dos projetos com osobjetivosestratégicos da empresaIdentificaresforço com defeitos e retrabalhosMapeardesempenho de recursoshumanos
Alguns Objetivos
Alguns Objetivos
Alguns ObjetivosAplicação de boas práticasModelos de documentos a seremutilizadosparaagregar valor ao softwareLiçõesaprendidas com projetosanterioresdescritoscomoguiasEstrutura de papéisadequada à política da empresaEstrutura de fases e disciplinasadequada à natureza dos projetos da empresa
Primeiros PassosO que é?PapelDisciplinaArtefato
Primeiros Passos - PapéisAdministrador de Rede
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 - DisciplinaAnálise e projeto de software
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 - ArtefatoAtor
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 GeralOrganizaçõesbemestruturadasusam PDS emseuambiente, semprebuscandomelhoriaO PDS possui um conjunto de regras e elementosquesãocriados e refinadosaopassar do tempo
Visão GeralPessoasquedesempenham o papel de Analista de Qualidadefocamseutrabalhoemdefinir, manter, ensinar e auditar o PDSAlgumasempresaspossuem um setor de qualidadeO conhecimento das pessoasqueusam o PDS naprática é fundamental para o refinamento dos processos
Visão Geral
Visão Geral
Visão Geral
Visão GeralUma página web é um bomcaminhoparacentralizar o PDS. Eledeveser de acesso a todosnaempresaCadapessoa, 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 seupapelnaempresaDescobrir e trilharcaminhos de carreiraEstudar e aplicar as melhorespráticas
Visão GeralFerramentassãoutilizadaspelaspessoasquefazem o PDS acontecer. Através do usodelas as tarefassãoexecutadas, osdocumentosarquivados e as informaçõesmantidasExemplos: MS Project, CVS, Eclipse, IBM Rational Suite, Thunderbird
Visão GeralO PDS deveevitarreferir-se a ferramentasdiretamente, oufazerisso de forma independente, porquê as ferramentasdevemoferecersuporteao PDS, e não o contrárioO PDS deveenglobar as diferentesnaturezas dos projetosque a organizaçãoexecuta
Visão Geral - RUP
Visão GeralAtualmenteexistemdiversosmodelos de PDS no mercadoO PDS ideal é aquelequeatendeaostipos de projetosque a organizaçãoexecutaCustomização de modelos é normal
Modelos de PDSTradicionaisPossuemumagrandequantidade de papéis, disciplinas e fases. Chamadosdesta forma porseremprecursoresouserembaseadosnestes. Lembrametapas de um processofabril (Fábrica de Software)ÁgeisConceitocriadonosanos 90 com o pretexto de queostradicionaisnãoatendiamdeterminadasnaturezas de projetos (web) e queeramexcessivamenteburocráticos
Modelos de PDSTradicionaisCascataRUPÁgeisSCRUMXP
CascataModeloCascataPrimeiro PDS formalizado, anos 70Processosequencial e estático, é simples de seraplicado e controladoVáriasempresasutilizamatualmenteOriginou-se emempresas da área industrial, de manufatura e construção
Cascata
CascataO modelo Cascata “puro” prescreve que só é possível avançar para uma próxima fase depois que a fase anterior estiver 100% concluídaExistem variações deste modelo
Cascata
Cascata
CascataQuais as vantagens?Quais as desvantagens?
RUPIBM RationalUnifiedProcessUsa a abordagem O.O. e UML na sua documentaçãoOrganizado em fases e disciplinas inclui guias de boas práticas e templatesPossui um vasto conjunto de papéis e documentos, abrange a elaboração de softwares de alta complexidade
RUP
RUP
RUP
RUP
RUP
RUP
RUPPrincipais documentos
RUP
RUP
RUP
RUPQuais as vantagens?Quais as desvantagens?
RUPVisitehttp://www.wthreex.com
ÁgeisSCRUM, XPPorquê está em evidência?Toyota, Honda, HPInovaçãoWebA abordagem humanitária em detrimento dos processos bem elaborados
ÁgeisPrincípiosIndivíduos e iterações melhor que: processos e ferramentasSoftware funcionando melhor que:documentação compreensivaCooperação do cliente melhor que: negociar contratoResposta à mudanças melhor que:seguir planosCuidado com a interpretação dos itens acima
O case ToyotaMais de 300 mil colaboradoresA maior empresa automotiva em produção e vendas
O case ToyotaToyota-wayPensamento longo prazo como base para decisões gerenciaisProcesso para soluções de problemasAdicionar valor à organização através do desenvolvimento das pessoasSolução de problemas na raiz direciona ao aprendizado organizacional
O case ToyotaRespeito aos seres humanos e melhoria contínuaDesafioKaizenTrabalho em equipeOs ágeis basearam-se neste modelo
Ágeis
Ciclo de vida ágil
XPExtreme programmingPráticas ágeis voltadas para o desenvolvimento de software

Processos de Desenvolvimento de Software - teoria e prática