Engenharia de Software I - Aula 3

Preview:

DESCRIPTION

Slides da 3ª aula da disciplina "Engenharia de Software I". Curso: Tecnologia em Análise e Desenvolvimento de Sistemas.

Citation preview

Alessandro Almeida | www.alessandroalmeida.com

Entre os dias 3 e 5 de outubro Provavelmente, no dia 5/10 teremos uma

palestra sobre...

Business Intelligence e o futuro da informação

(aguardem mais informações)

Alguém deseja compartilhar algo?

Palestra ou estudo de caso

O que vimos nas aulas passadas?

O que é Engenharia de Software?

Disciplina de engenharia cujo foco está em todos os aspectos da produção de software, desde os estágios iniciais da especificação do sistema até sua manutenção, quando o sistema já está sendo usado.

...todos os aspectos da produção de software...

Não apenas processos “técnicos”, mas também as atividades de gerenciamento de projeto, por exemplo.

Conclusão

Mas... O que é processo?

Um conjunto de atividades inter-relacionadas ou interativas, que transforma insumos (entradas) em produtos (saídas) [ABNT, 2001].

Entrada Processamento Saída

?

Vamos ver um exemplo?

Bolo de Limão

Insumos

Atividades inter-relacionadas

E o produto?!?!?!?!

E nas empresas?

Folha de Pagamento

Fechamento Contábil

Pagamento

Todas as empresas trabalham orientadas a processos!

Uma reflexão sobre os pontos que fazem a diferença no resultado das empresas

Resultado da Empresa

Tecnologia

Processos Pessoas

Sobre as pessoas...

Nosso pessoal está motivado!

▪ (Será?)

Investimos em capacitação.

▪ (Será?)

A remuneração está adequada.

▪ (Será?)

Etc.

▪ (Será?)

Sobre a tecnologia...

Investimos pesado!

▪ (Será?)

Utilizamos o que há de melhor.

▪ (Será?)

Etc.

▪ (Será?)

Sobre os processos...

?????????????????

CONHECER e institucionalizar o fluxo de trabalho

Identificar oportunidades de melhoria Definir papéis e responsabilidades Transformar o conhecimento tácito em

conhecimento explícito Estabelecer controles “Unir” pessoas e tecnologia Colocar a casa em ordem

As coisas simplesmente acontecem; O “sucesso” nos projetos acontece “por

acaso”;

“Por acaso, temos alguns heróis...”

“Por acaso, o cliente era mais desorganizado...”

É normal estouro de prazo e custos (entre outros problemas)

Ambiente sem controle (caos) Grande dependência dos heróis (mas não é

qualquer herói)

Está sempre sob pressão Nunca tira férias Anda sempre estressado Nunca tem tempo para os amigos Nunca se diverte Sempre tem que trabalhar 24 horas direto Até consegue terminar o projeto, mas...

Os processos sempre estarão lá, mesmo se a empresa preferir ignorá-los

Ou: Eles estão sempre lá, mesmo que a empresa não os conheça

Quem controla quem?

Legal... Mas o que posso considerar ao definir um processo que atenda minhas demandas

de Engenharia de Software?

Etc... mps.Br

PMBoK

BABoK

SWEBoK

Extreme Programming

SCRUM

RUP

EUP OpenUP

CMMI

CMMI e mps.Br

Modelos de referência

Sugerem “o quê” deve ser feito, e não “como fazer”

Podem ser utilizados como guias para orientar o trabalho de definição / melhoria do processo

Fornecem um método para avaliação

Qual é o significado do acrônimo?

Capability Maturity Model Integration®

Fontes: Houaiss e Merriam-Webster

Capability Maturity Model Integration®

1 : the quality or state of being capable 2 : poder de produção, de execução; rendimento máximo 3 : qualidade ou condição de capaz

Fontes: Houaiss e Merriam-Webster

Capability Maturity Model Integration®

1 : the quality or state of being mature 2 : estado, condição (de estrutura, forma, função ou organismo) num estágio adulto; condição de plenitude em arte, saber ou habilidade adquirida 3 : estado ou condição de pleno desenvolvimento

Fontes: Houaiss e Merriam-Webster

Primeiro você torna-se capaz de realizar algo, depois você adquire a maturidade

Sou capaz!

Aprendi, treinei e sei executar...

Possuo maturidade!

Sou capaz e tenho experiência...

Capability Maturity Model Integration®

1 : simplificação da realidade 2 : representação em escala reduzida de objeto, a ser reproduzida em dimensões normais; maquete

Fontes: Houaiss e Merriam-Webster

Compilação de “boas práticas” no processo de diversas empresas de software

Mostra O QUÊ fazer, e não COMO fazer Práticas distribuídas em “áreas de processo”

Área de Processo = PA (Process Area)

Agrupamento de práticas comuns de uma determinada “disciplina”.

Onde fica o “O que fazer?”.

Por exemplo: Project Planning (PP)

Modelos de maturidade mantidos pelo SEI (Software Engineering Institute)

http://www.sei.cmu.edu/cmmi

Abrangem todo ciclo de vida para o desenvolvimento (CMMI-DEV) e operação de software (CMMI-SVC)

Também aborda projetos de aquisição (CMMI-ACQ)

Sponsor:

DoD (U.S. Department of Defense)

Versão 1.3 publicada em novembro de 2010

Para quem não quer gastar...

Para quem quer investir...

alessandro.almeida@uol.com.br www.slideshare.net/alessandroalmeida