Engenharia de Software II - Aula 2

Post on 12-Jul-2015

597 views 5 download

Transcript of Engenharia de Software II - Aula 2

Alessandro Almeida | www.alessandroalmeida.com

Retomando as bases...

Parte essencial do projeto, direcionando as tomadas de decisões,

planejamento, desenvolvimento e manutenção de todo o ciclo de

vida do projeto.

Responsável pelo levantamento de requisitos, ou seja, toda a documentação do projeto necessária para o entendimento aprofundado do software a ser desenvolvido.

Fundamental para o desenvolvimento de um software com qualidade. O desenvolvimento é complexo, envolvendo diversas áreas. Permite padronizar os processos, reduzindo custo e prazo.

Especificação, desenvolvimento e manutenção

de sistemas de software. Contém melhores

práticas de gerenciamento de projetos, que

visa organização, produtividade e qualidade.

Conjunto de metodologias e boas práticas para arquitetar e planejar o desenvolvimento de qualquer tipo de software que atenda uma necessidade específica do cliente.

Padrão para todas as fases de um desenvolvimento de sistemas, desde o levantamento de requisitos (regras de negócio) até testes e manutenções.

Sobre as “boas práticas” ou “melhores práticas”

Cuidado!!!!

Quem definiu que as práticas são boas ou melhores?

A empresa fez uma avaliação?

Houve um diagnóstico?

Os principais stakeholders foram ouvidos?

Sinal de alerta:

Consultoria ou um grupo restrito definindo e decidindo as “melhores” práticas para a área de TI

Facilita o desenvolvimento de um projeto e define seus objetivos através de um estudo detalhado. Define o roteiro de construção do projeto, por meio de metodologias como ITIL, CMMI, etc.

Como modelo conceitual, possui 3 elementos: Métodos,

procedimentos e ferramentas. Nesses processos são

envolvidos a parte de testes e manutenções,

documentações que são desenvolvidas com custos e

prazos estimados.

Independente do tamanho do projeto e/ou empresa, a Engenharia de Software está presente na área de TI, organizando e auxiliando no desenvolvimento de projetos.

Na maioria das empresas o responsável pelo levantamento de requisitos recebe toda a especificação dos projetos e alinha de acordo com as necessidades, utilizando, por exemplo, conceitos de UML. Passa as informações para a equipe de desenvolvimento, mas sempre acompanhando para que nada saia fora do que foi combinado.

A Engenharia de Software ajuda na

padronização e criação de processos,

gerando várias documentações que

auxiliam na tomada de decisões.

Na minha empresa, é aplicada quando as fases de desenvolvimento de um software são divididas, definindo seus processos e padrão de qualidade.

Cada empresa utiliza a Engenharia de Software

conforme sua necessidade, onde, de acordo com o

projeto, é estudado o melhor método para utilizar.

Alguns mais complexos e detalhados, outros mais

simples.

Normalmente, a Engenharia de Software é aplicada nas empresas para que haja melhoria nos sistemas conforme levantamento dos requisitos com os usuários/clientes.

Em empresas de grande porte, onde o cliente exige a qualidade do serviço, as consultorias utilizam todas as etapas da Engenharia de Software, incluindo recursos como CMMI, COBIT, entre outros. Mas internamente, nas consultorias e nos departamentos de uma empresa, o uso da Engenharia de Software é defasado, devido ao curto espaço de tempo para resolução de problemas e falta de conhecimento da gerência e direção.

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.

...engenharia...

“construção, criação, execução de algo em que se utilize engenho e arte” (Fonte: Dicionário Houaiss)

...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.

Motivação

Os números apresentados nos próximos slides são baseados nas edições 2011 e 2012 do Benchmarking em Gerenciamento de Projetos Realizado por capítulos nacionais e internacionais

(Argentina, França e Uruguai) do PMI Disponível para download gratuito no endereço

www.pmsurvey.org Setor considerado: Tecnologia da Informação

Não é possível filtrar por tipo de projeto (por exemplo: “Projeto de desenvolvimento ou manutenção de software”)

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Gerente de Projeto

Como assim?!?!

Nós

Consigo terminar meus projetos,

mas sempre estoura algo...

Nós

... principalmente custo e prazo.

Nós

Além disso, tenho uns 3 projetos que nunca terminam...

Nós

... pois meu cliente não quer

homologar.

Nós

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Como podemos definir maioria das vezes e poucas vezes?

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Quem respondeu a pesquisa? O gerente do projeto ou o cliente?

Gerente de Projeto (na vida real)

5%

45%

47%

3%

9%

43%

45%

3%

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

4%

34%

55%

7% 5%

33%

55%

7%

0%

10%

20%

30%

40%

50%

60%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

1%

23%

64%

12%

3%

23%

61%

13%

0%

10%

20%

30%

40%

50%

60%

70%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

0%

15%

74%

11%

2%

16%

69%

13%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Não cumprimento dos prazos Comunicação Escopo não definido adequadamente Mudanças de escopo constantes Estimativas incorretas Entre outros...

Gerente de Projeto (na vida real)

Agora, a principal motivação para pensarmos em Engenharia de Software:

E na minha empresa, como funcionam os projetos de desenvolvimento ou manutenção

de software?

Enfrentamos problemas com prazo, custo, qualidade, escopo, satisfação do cliente, etc.?

Agora, a principal motivação para pensarmos em Engenharia de Software:

E na minha empresa, como funcionam os projetos de desenvolvimento ou manutenção

de software?

Enfrentamos problemas com prazo, custo, qualidade, escopo, satisfação do cliente, etc.?

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