ENGENHARIA DE
ENGENHARIA DE
SOFTWARE
SOFTWARE -- II
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Prof. Ana Paula A. de Castro
[email protected] PRODUTOS PRODUTOS Problemas Produção • Ciclos de vida • Projetos Requisitos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Requisitos
• Características
• Especificação dos requisitos
• Engenharia dos requisitos
• Gestão dos requisitos
PRODUTOS PRODUTOS
Prazos e custos
• Realismos de prazos e custos
• Planejamento de projetos
• Controle de projetos
Qualidade Qualidade
• Conformidade com os requisitos
• Garantia da qualidade • Gestão de configurações • Gestão de contratos • Desenho Projetos Projetos
O desenvolvimento de um software é feito dentro de um projeto.
Todo projeto tem:
• Data de início
• Data de fim;
• Data de fim;
• Uma equipe;
• E outros recursos.
Projetos Projetos
Quando um projeto é bem definido, terá fases que permitam avaliar o progresso de um projeto e corrigir seus rumos quando ocorrerem problemas.
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
As fases devem ser terminadas por marcos, ou seja, pontos que representam estados significativos do projeto.
• Marco de conclusão do projeto – resultado;
Enunciar os problemas Enunciar os problemas
Por que os sistemas informatizados...
• …não fazem o que deveriam fazer?
• porque os problemas têm que ser enunciados;
• antes de serem resolvidos.
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Enunciar os problemas Enunciar os problemas
Problemas têm que ser enunciados antes de serem resolvidos.
• O que é necessário fazer é uma coisa.
Enunciar os problemas Enunciar os problemas
Problemas tem que ser enunciados antes de serem resolvidos.
Enunciar os problemas Enunciar os problemas
Problemas tem que ser enunciados antes de serem resolvidos.
• O que os clientes pedem é ainda outra coisa.
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Enunciar os problemas Enunciar os problemas
Problemas tem que ser enunciados antes de serem resolvidos.
• O que os engenheiros de software entendem é mais outra coisa.
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
mais outra coisa.
Enunciar os problemas Enunciar os problemas
Problemas tem que ser enunciados antes de serem resolvidos.
• O que acaba sendo feito...
Requisitos Requisitos
O valor de um produto vem de suas
características, se tratando de software pode ser dividida em:
• funcionais – que representam os comportamentos
• funcionais – que representam os comportamentos
que um programa ou sistema deve aprender diante de certas ações de seus usuários;
• não-funcionais – que quantificam determinados
Requisitos Requisitos
O valor de um produto vem de suas
características, se tratando de software pode ser dividida em:
• funcionais – que representam os comportamentos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
• funcionais – que representam os comportamentos
que um programa ou sistema deve aprender diante de certas ações de seus usuários;
Ex. Em um terminal de caixa automático, os tipos de
transações bancárias suportadas são características funcionais.
Requisitos Requisitos
O valor de um produto vem de suas
características, se tratando de software pode ser dividida em:
• não-funcionais – que quantificam determinados
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
• não-funcionais – que quantificam determinados
aspectos do comportamento.
Ex. A facilidade de uso, o tempo de resposta e o tempo
médio entre falhas são características não funcionais.
Requisitos Requisitos
Os requisitos são as características que definem os critérios de aceitação de um produto, podendo ser:
• Explícitos – são aqueles descritos em um documento
que específica os requisitos de um produto, ou seja, um documento de especificação de requisitos.
um documento de especificação de requisitos.
• Normativos – são aqueles que decorrem de leis,
regulamentos, padrões e outros tipos de normas a que tipo de produto deve obedecer.
• Implícitos – são expectativas dos clientes e usuários,
que são cobradas por esses, embora não
Enunciar os problemas Enunciar os problemas
Princípios da Engenharia de Requisitos:
• boas especificações de requisitos são indispensáveis;
• não representam custos supérfluos; mas investimentos necessários;
• a participação dos usuários é fundamental; para que as suas necessidades sejam atendidas;
Enunciar os problemas Enunciar os problemas
Princípios da Engenharia de Requisitos:
• uma boa especificação de requisitos custa: tempo e dinheiro;
• a ausência de uma boa especificação de requisitos custa:
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
requisitos custa:
muito mais tempo e dinheiro.
Enunciar os problemas Enunciar os problemas
Instabilidade dos requisitos, ocorre quando clientes e usuários trazem novos requisitos, ou alterações dos requisitos, quando o desenvolvimento já esta em fase adiantada:
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
• perda de tempo e dinheiro;
• às vezes é inevitável;
• que fazer?
Enunciar os problemas Enunciar os problemas
Na Engenharia de Software, a instabilidade é tão danosa quanto nas outras engenharias. Ex. Na construção civil
- Mudar a planta de um edifício - Mudar a planta de um edifício
durante a construção, geralmente é preciso desfazer parte do que já foi construído
- Será que o remendo é satisfatório?
Enunciar os problemas Enunciar os problemas
A boa engenharia de requisitos reduz a instabilidade desses, ajudando a obter os requisitos corretos em um estágio anterior ao desenvolvimento.
As vezes alterações de requisitos são
Enunciar os problemas Enunciar os problemas
A engenharia de requisitos está sujeita a limitações humanas;
Mesmo que o levantamento seja perfeito, podem ocorrer alterações de requisitos por
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
podem ocorrer alterações de requisitos por causas externas aos projetos.
Ex.
Enunciar os problemas Enunciar os problemas
A engenharia de requisitos está sujeita a limitações humanas;
Mesmo que o levantamento seja perfeito, podem ocorrer alterações de requisitos por
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
podem ocorrer alterações de requisitos por causas externas aos projetos.
Ex. A legislação pode mudar no meio do projeto, requerendo alterações nos relatórios que o produto deve emitir.
Enunciar os problemas Enunciar os problemas
Gestão dos requisitos é a disciplina da engenharia de software que:
• procura manter sob controle os requisitos de um produto;
• mesmo diante de alterações inevitáveis.
Prazos e Custos
Prazos e Custos
Realismo de Prazos e Custos Realismo de Prazos e Custos
Estourar cronogramas e orçamentos é parte da rotina da maioria dos profissionais de software.
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Clientes e gerentes se desesperam com os atrasos dos projetos de software e sofrem prejuízos.
Realismo de Prazos e Custos Realismo de Prazos e Custos
No próximo contrato que oferta irão
escolher?
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Realismo de Prazos e Custos Realismo de Prazos e Custos
No próximo contrato que oferta irão
escolher?
O que prometer melhor prazo e/ou
Prazos e Custos Prazos e Custos
O que prometer melhor prazo e/ou menor custo.
Realismo de Prazos e Custos Realismo de Prazos e Custos
Se for um projeto interno da organização, farão todo tipo de pressão para conseguir que os desenvolvedores prometam prazos
Prazos e Custos Prazos e Custos
que os desenvolvedores prometam prazos politicamente agradáveis, embora irreais.
Realismo de Prazos e Custos Realismo de Prazos e Custos
Estimar prazos e custos faz parte da rotina de qualquer ramo da engenharia.
Para um produto ser viável, não basta
Prazos e Custos Prazos e Custos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Para um produto ser viável, não basta atender aos requisitos desejados, tem de ser produzido dentro de certos parâmetros de prazo e custo.
Realismo de Prazos e Custos Realismo de Prazos e Custos
Por que os sistemas informatizados...
• são entregues com atraso?
• custam mais caro do que o previsto?
Prazos e Custos Prazos e Custos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Realismo de Prazos e Custos Realismo de Prazos e Custos
Por que os sistemas informatizados...
• são entregues com atraso?
• custam mais caro do que o previsto?
Porque faltam:
Prazos e Custos Prazos e CustosPorque faltam:
• gestão do escopo; • planejamento do projeto; • controle do projeto.Realismo de Prazos e Custos Realismo de Prazos e Custos
Gestão do escopo
O escopo descreve todos os produtos de um projeto, serviços necessários para realizá-los e resultados finais esperados.
Prazos e Custos Prazos e Custos
Descreve também como o projeto será realizado para que alcance seus objetivos com os recursos e funções especificados.
Realismo de Prazos e Custos Realismo de Prazos e Custos
Exemplo: Gestão do escopo
Escopo do produto de um sistema online de pagamento de contas:
• Descreve seus objetivos comerciais, como este vai funcionar, suas características, as tecnologias
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
vai funcionar, suas características, as tecnologias necessárias.
O escopo do projeto:
• Descreve as etapas, os recursos disponíveis, como o produto será desenvolvido.
Prazos e Custos Prazos e Custos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Realismo de Prazos e Custos Realismo de Prazos e Custos
Um triângulo crítico da Engenharia de Software:
Requisitos
Prazos e Custos Prazos e Custos
Prazos Custos
Realismo de Prazos e Custos Realismo de Prazos e Custos
Um triângulo crítico da Engenharia de Software:
Requisitos Aumentos de requisitos levam
a aumentos de prazos ou custos, ou de ambos Prazos e Custos Prazos e Custos Prazos Custos custos, ou de ambos
Realismo de Prazos e Custos Realismo de Prazos e Custos
Um triângulo crítico da Engenharia de Software:
Requisitos Reduções de requisitos
podem levar a reduções de prazos ou custos, mas nem
Prazos e Custos Prazos e Custos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Prazos Custos
prazos ou custos, mas nem sempre satisfaz.
Realismo de Prazos e Custos Realismo de Prazos e Custos
Requisitos
Prazos e Custos Prazos e Custos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Não existe fórmula mágica para melhoria de processos (requisitos) sem alterarmos prazos e/ou custos.
Prazos Custos
Realismo de Prazos e Custos Realismo de Prazos e Custos
A cultura do prazo artificial:
• os sistemas só são propostos quando a necessidade deles é para ontem;
• os prazos são fixados de forma comercial ou política, e não técnica:
Prazos e Custos Prazos e Custos
política, e não técnica: o sistema já foi vendido… o ministro vem inaugurar…
Realismo de Prazos e Custos Realismo de Prazos e Custos
Não me interessa como você vai fazer,
desde que entregue no prazo!
• Pressionados o suficiente, programadores
prometem qualquer prazo.
Prazos e Custos Prazos e Custos
Realismo de Prazos e Custos Realismo de Prazos e Custos
Conseqüências da cultura do prazo
ruim:
• Produtos de má qualidade e mais caros do
que deveriam (clientes);
• Perda de credibilidade e prejuízos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
• Perda de credibilidade e prejuízos
(gerentes)
• Estresse e má qualidade de vida
(desenvolvedores)
Realismo de Prazos e Custos Realismo de Prazos e Custos
Dado um prazo, sempre se consegue fazer alguma coisa.
• Resta ver se é a coisa que deveria ser feita.
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Realismo de Prazos e Custos Realismo de Prazos e Custos
Para cumprir compromissos de prazos e
custos, esses compromissos têm de ser
assumidos com base em requisitos bem levantados, analisados e documentados.
Prazos e Custos Prazos e Custos
E os planos dos projetos têm de ser feitos com boas técnicas de estimativa e análise de tamanho, esforços, prazos e riscos.
Planejamento de Projetos Planejamento de Projetos
O desenvolvimento de software é feito dentro de um projeto. • data de início; • data de fim; • equipe; Prazos e Custos Prazos e Custos • gerente do projeto; • outros recursos.
Um projeto representa a execução de um processo.
Prazos e Custos Prazos e Custos
Prazos e Custos Prazos e Custos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Planejamento de Projetos Planejamento de Projetos
Processo bem definido:
• é documentado;
• subdivisões permitem avaliar o progresso;
e corrigir rumos;
Prazos e Custos Prazos e Custos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
• subdivisões terminadas por marcos:
estados significativos do projeto;
Planejamento de Projetos Planejamento de Projetos
Processo bem definido:
• marcos associados a resultados
concretos; verificáveis; • o produto é um resultado; Prazos e Custos Prazos e Custos • o produto é um resultado;
associado ao marco de conclusão do projeto.
Planejamento de Projetos Planejamento de Projetos
Os processos de desenvolvimento de
software são intensivos em mão de
obra.
• Métodos resolvem:
apenas uma parte dos problemas.
Prazos e Custos Prazos e Custos
apenas uma parte dos problemas.
• Ferramentas resolvem:
uma parte ainda menor dos problemas.
• Ferramentas e métodos avançados:
Planejamento de Projetos Planejamento de Projetos
Receitas para reduzir custos.
• Fazer uma boa especificação:para não ter que mudá-la durante o
desenvolvimento.
nada é mais caro que resolver os problemas
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
nada é mais caro que resolver os problemas
errados.
• Se for preciso modificar requisitos:
controlar as mudanças;
por meio da gestão dos requisitos.
Planejamento de Projetos Planejamento de Projetos
Receitas para reduzir custos.
• Identificar e resolver problemas o mais
cedo possível.
O custo de correção dos defeitos cresce muito
ao longo do tempo.
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
ao longo do tempo.
Planejamento de Projetos Planejamento de Projetos
Executar projetos é mais do que fazer
planos.
• Fazer orçamentos e cronogramas é fácil. • Cumpri-los é muito mais difícil.
• Sem controle, compromissos não se
Prazos e Custos Prazos e Custos
• Sem controle, compromissos não se
cumprem.
Controle de Projetos Controle de Projetos
O controle dos projetos compreende:
• acompanhamento dos projetos;
comparando-se o planejado com o realizado;
• busca de alternativas para contornar
Prazos e Custos Prazos e Custos
• busca de alternativas para contornar
problemas;
Controle de Projetos Controle de Projetos
O controle dos projetos compreende:
• replanejamento dos projetos;quando não é possível manter os planos
anteriores;
Prazos e Custos Prazos e Custos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
anteriores;
dentro de um grau razoável de variação;
• renegociação dos compromissos
assumidos;
envolvendo todas as partes interessadas.
Conformidade com Requisitos Conformidade com Requisitos
A qualidade de um produto está ligado
com os respectivos requisitos.
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Conformidade com Requisitos Conformidade com Requisitos
A qualidade de um produto está ligado
com os respectivos requisitos.
Ex. Um carro popular pode ser de boa
Qualidade Qualidade
Ex. Um carro popular pode ser de boa
qualidade, e um carro de luxo pode ser
de má qualidade.
Conformidade com Requisitos Conformidade com Requisitos
Ex. Um carro popular pode ser de boa
qualidade, e um carro de luxo pode ser
de má qualidade.
Qualidade Qualidade
Conformidade com Requisitos Conformidade com Requisitos
Ex. Um carro popular pode ser de boa qualidade, e um carro de luxo pode ser de má qualidade.
O que decide a qualidade é comparação com
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
O que decide a qualidade é comparação com os respectivos requisitos:
• O confronto entre a promessa
• A realização de cada produto
Garantir a qualidade Garantir a qualidade
Por que os sistemas informatizados...
• ...são de baixa qualidade?• Porque a qualidade não é planejada... • ...portanto, não é garantida!
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
• ...portanto, não é garantida!
Garantir a qualidade Garantir a qualidade
A qualidade dos produtos depende da
qualidade dos processos.
• O que é mal especificado:
é mal desenhado.
Qualidade Qualidade
• O que é mal desenhado:
é mal implementado.
• O que é mal implementado:
é muito difícil de consertar.
Garantir a qualidade Garantir a qualidade
Qualidade Qualidade
Garantir a qualidade Garantir a qualidade
Exemplo: Construção de um carro
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Garantir a qualidade Garantir a qualidade
Exemplo: Construção de um carro
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Garantir a qualidade Garantir a qualidade
Todos os produtos intermediários devem ser conferidos.
• O que não passar na verificação não está pronto.
• Verificar custa tempo e dinheiro.
Qualidade Qualidade
• Não verificar custa muito mais.
Garantir a qualidade Garantir a qualidade
A garantia da qualidade não existe se não for obsessiva.
• Todos conferem melhor o trabalho alheio.
• Quem confere não pode ser quem desenvolve.
Qualidade Qualidade
Garantir a qualidade Garantir a qualidade
Qualidade é produzida por:
• técnicas corretas;
• nas mãos de pessoas capacitadas.
Conferir não cria qualidade:
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Conferir não cria qualidade:
• apenas descobre problemas.
Garantir a qualidade Garantir a qualidade
Qualidade não é luxo, é a necessidade mais básica.
• Prazos e custos só podem ser definidos a partir de objetivos de qualidade.
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
objetivos de qualidade.
• Com qualidade zero, pode-se fazer qualquer coisa dentro do prazo.
Garantir a qualidade Garantir a qualidade
A curva prazo ×qualidade: Tempo de desenvolvimento Real Qualidade Qualidade Qualidade do processo (medida em % de Ilusório
Um produto de software é composto por muitos artefatos: • códigos executáveis; • Códigos-fonte; Gestão de Configurações Gestão de Configurações Qualidade Qualidade • modelos; • relatórios; • outros documentos.
Exemplos de artefatos
• Artefatos oficiais:
A aprovação dos resultados assinala que um marco do
projeto foi cumprido;
Gestão de Configurações Gestão de Configurações
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro projeto foi cumprido;
• Artefatos informais:
Documentos e modelos temporários de trabalho dos
desenvolvedores
A maioria dos artefatos evolui ao longo do projeto e até ao longo de toda vida de um produto.
Importante que os resultados sejam
Gestão de Configurações Gestão de Configurações
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Importante que os resultados sejam
guardados e controlados.
• Necessidade de atualizar em caso de
manutenção;
Gestão de Configurações Gestão de Configurações
Organizar e controlar os artefatos é o objetivo da gestão de configurações.
• Sem ela, é impossível atingir sequer níveis razoáveis de qualidade.
• Versões corrigidas são perdidas;
Qualidade Qualidade
• Versões corrigidas são perdidas; versões defeituosas reaparecem.
• O número de itens diferentes produzidos em projetos de software:
ultrapassa os limites da memória e da atenção humanas; mesmo em pequenos projetos.
Gestão de Contratos Gestão de Contratos
Empresas de software preferem terceirizar o desenvolvimento de software
• Contratam profissionais liberais;
Qualidade Qualidade
Gestão de Contratos Gestão de Contratos
Subcontratação - elo fraco da qualidade.
• A mesma qualidade que se oferece ao cliente deve ser exigida dos
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
ao cliente deve ser exigida dos fornecedores.
• Falha dos fornecedores nunca é desculpa!
Garantir a qualidade Garantir a qualidade
A gestão de contratos determina como:
• especificar o produto a ser desenvolvido; correta e completamente;
• fazer uma boa seleção entre os candidatos a subcontratado;
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
subcontratado;
avaliando o realismo das propostas;
Garantir a qualidade Garantir a qualidade
A gestão de contratos determina como:
• acompanhar o desempenho do subcontratado; detectando precocemente problemas;
• planejar e executar os procedimentos de aceitação do produto. Qualidade Qualidade aceitação do produto. Desenhar os produtos Desenhar os produtos
Problemas de desenho (design):
• Existe sempre um desenho: entre os requisitos e o código.
• Os defeitos de desenho geralmente são graves:
Qualidade Qualidade
Desenhar os produtos Desenhar os produtos
Problemas de desenho (design):
• Os defeitos de desenho são freqüentes:
quase tão freqüentes quanto os defeitos de
implementação;
quando os desenvolvedores não são competentes em
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
quando os desenvolvedores não são competentes em
desenho.
• Muitos programadores nunca tiveram formação em técnicas de desenho:
mesmo quando têm excelente domínio de uma
linguagem de programação.
Desenhar os produtos Desenhar os produtos
Ex.: Na construção erros de desenhos
podem levar a quais problemas???
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Desenhar os produtos Desenhar os produtos
Ex.: Na construção erros de desenhos
podem levar a quais problemas??? Vazamentos Perigo de incêndios Qualidade Qualidade Perigo de incêndios Rachaduras Desabamentos Desenhar os produtos Desenhar os produtos
Vazamento é novamente de hidrogênio líquido. Voo foi adiado para julho.
• A NASA adiou o lançamento do ônibus espacial Endeavour, que estava previsto para esta quarta-feira (17/06/2009), depois de descobrir um vazamento potencialmente perigoso durante o reabastecimento da nave. Um representante da agência afirmou que o ônibus espacial será lançado apenas no dia 11 de julho. A nave estava pronta para o lançamento no Centro Espacial Kennedy, na Flórida.
• A declaração divulgada pela NASA informou que, por volta das 01h55 (horário local), os
Qualidade Qualidade
• A declaração divulgada pela NASA informou que, por volta das 01h55 (horário local), os responsáveis pelo ônibus espacial "cancelaram o lançamento do ônibus espacial Endeavour em sua missão STS-127". "Apesar dos esforços para descobrir quais eram os problemas, os engenheiros não conseguiram diminuir o vazamento de hidrogênio líquido."
• Este é o segundo adiamento do lançamento da Endeavour. O ônibus espacial decolaria no último sábado, dia 13 de junho, mas as autoridades detectaram o vazamento de hidrogênio, muito inflamável. Apesar de a nave ter sido consertada o problema voltou a aparecer e a NASA decidiu adiar o lançamento até o mês de julho.
Desenhar os produtos Desenhar os produtos
Resultados típicos de defeitos de desenho:
• dificuldade de uso;
• lentidão;
• problemas imprevisíveis e irreprodutíveis;
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
• problemas imprevisíveis e irreprodutíveis;
• perda de dados;
• dificuldade de manutenção;
• dificuldade de adaptação e de expansão.
Amadurecer os processos Amadurecer os processos
A maturidade de uma organização em
engenharia de software mede o grau de:
• competência
• técnica
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
• gerencial
Que essa organização possui para produzir software de boa qualidade, dentro de prazos e custos razoáveis de previsíveis.
Amadurecer os processos Amadurecer os processos
Empresas com baixa maturidade em
software:
• Os processos são informais;
Qualidade Qualidade
• Os processos são informais;
• Ou seja, existem apenas na cabeça dos praticantes. Amadurecer os processos Amadurecer os processos Comparação Qualidade Qualidade
ORGANIZAÇÕES MADURAS ORGANIZAÇÕES IMATURAS
Papéis e responsabilidades bem definidas
Processo improvisado
Existe base histórica Não Existe base histórica
É possível julgar a qualidade do produto Não há maneira objetiva de julgar a qualidade do produto
A qualidade dos produtos e processos é monitorada
Qualidade e funcionalidade do produto sacrificados
O processo pode ser atualizado Não há rigor no processo a ser seguido
Amadurecer os processos Amadurecer os processos
Para tornar uma empresa mais madura e capacitada, é realmente preciso melhorar a qualidade dos seus processos.
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Êxito dos processos:
• Medida de quanto os processos contribuem para que os produtos sejam entregues aos clientes e usuários com melhor qualidade, por menor custo e em prazo mais curto.
Amadurecer os processos Amadurecer os processos
Onde o retorno do investimento em
capacitação é maior?
• Formar pessoas é difícil, caro e demorado. Recrutar pessoas capacitadas também.
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Amadurecer os processos Amadurecer os processos
Onde o retorno do investimento em
capacitação é maior?
• Tecnologia tem seu próprio ritmo de evolução. Tecnologia demais é problema e não solução.
Qualidade Qualidade
Amadurecer os processos Amadurecer os processos
Onde o retorno do investimento em
capacitação é maior?
• Mudanças de processo podem trazer melhorias a prazo mais curto.
Qualidade Qualidade
Amadurecer os processos Amadurecer os processos
Problema:
• Ferramentas não fazem milagres.
• Metodologias não fazem milagres.
• Métodos gerenciais não fazem milagres.
• Os processos também não fazem milagres!
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
• Os processos também não fazem milagres!
Amadurecer os processos Amadurecer os processos
A capacitação em processos é, ela própria, um processo.
• O objetivo do processo de capacitação é o amadurecimento de uma cultura da qualidade.
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Amadurecer os processos Amadurecer os processos
O amadurecimento dos
processos se faz passo a passo. • Existem níveis de maturidade. Qualidade Qualidade maturidade. • O SW-CMM* é o paradigma mais difundido de níveis de maturidade.
••SWSW--CMMCMM –– CapabilityCapability MaturityMaturity ModelModel
Amadurecer os processos Amadurecer os processos
O CMM focaliza os processos, que considera o fator de produção com maior potencial de melhoria a prazo mais curto.
Qualidade Qualidade
Fatores como tecnologias e pessoas, só são tratados pelo CMM na medida em que interagem os processos.
Amadurecer os processos Amadurecer os processos
SW-CMM classifica as organizações em cinco níveis distintos, cada um com suas características próprias.
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
Amadurecer os processos Amadurecer os processos
O processo de desenvolvimento é desorganizado e
Qualidade Qualidade
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
O processo de desenvolvimento é desorganizado e até caótico. Poucos processos são definidos e o sucesso depende de esforços individuais e heróicos.
Amadurecer os processos Amadurecer os processos
Os processos básicos de gerenciamento de projeto estão estabelecidos e permitem acompanhar custo,
Qualidade Qualidade
estão estabelecidos e permitem acompanhar custo, cronograma e funcionalidade.
É possível repetir o sucesso de um processo utilizado anteriormente em outros projetos similares.
Amadurecer os processos Amadurecer os processos
Tanto as atividades de gerenciamento quanto de engenharia do processo de desenvolvimento de
Qualidade Qualidade
software estão documentadas, padronizadas e integradas em um padrão de desenvolvimento da organização
Todos os projetos utilizam uma versão aprovada e adaptada do processo de desenvolvimento de
Amadurecer os processos Amadurecer os processos
São coletadas medidas detalhadas da qualidade do produto e processo de desenvolvimento de
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
produto e processo de desenvolvimento de software.
Tanto o produto quanto o processo de
desenvolvimento de software são entendidos e controlados quantitativamente.
Amadurecer os processos Amadurecer os processos
O melhoramento contínuo do processo é
conseguido através de um feedback quantitativo
FAPI – Engenharia de Software – Profa. Ana Paula A. de Castro
conseguido através de um feedback quantitativo dos processos e pelo uso pioneiro de idéias e tecnologias inovadoras. Amadurecer os processos Amadurecer os processos Qualidade Qualidade Amadurecer os processos Amadurecer os processos Qualidade Qualidade