selecção da aproximação de projectos gestão de projectos...

8
Processos e Aproximações de Desenvolvimento de Projectos Informáticos Gestão de Projectos Informáticos Prof. Alberto Silva & Dra. RosárioBernardo Departamento de Engenharia Informática 2 GPI/ project-approaches Selecção da Aproximação de Projectos n In-house development: A maioria dos aspectos resolvidos por planeamento de SI e standards organizacionais n Software houses: – Mais aplicáveis consoante as necessidades de diferentes clientes n Selecção da aproximação é ditada pela – Incertezas do projecto Características da aplicação/SI a ser construida 3 GPI/ project-approaches n Considerar os riscos e incertezas, e.g. Os requisitos estão bem entendidos? As tecnologias a usar são conhecidas/dominadas? n Considerar o tipo da aplicação a ser construida, e.g. – Sistema de informação? embedded system? – criticidade? Diferenças entre os ambientes de desenvolvimento e os de instalação? n Os requisitos específicos do cliente – É necessário usar um método particular? Selecção da Aproximação de Projectos 4 GPI/ project-approaches n Principais Fases e Tarefas... Concepção,Implementação, Manutenção Estrutura do Processo de Desenvolvimento de Sistemas Processo de Desenvolvimento de Sistemas

Upload: nguyenduong

Post on 11-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Selecção da Aproximação de Projectos Gestão de Projectos ...web.ist.utl.pt/pedro.santinhos/gpi-acetatos/05-gpi-project... · Selecção da Aproximação de Projectos n In-house

Processos e Aproximações de Desenvolvimento de Projectos

Informáticos

Gestão de Projectos Informáticos

Prof. Alberto Silva & Dra. Rosário BernardoDepartamento de Engenharia Informática

16:32

2GPI/ project-approaches

Selecção da Aproximação de Projectos

n In-house development: – A maioria dos aspectos resolvidos por

planeamento de SI e standards organizacionais

n Software houses: – Mais aplicáveis consoante as necessidades de

diferentes clientes

n Selecção da aproximação é ditada pela– Incertezas do projecto– Características da aplicação/SI a ser construida

16:32

3GPI/ project-approaches

n Considerar os riscos e incertezas, e.g.– Os requisitos estão bem entendidos?– As tecnologias a usar são conhecidas/dominadas?

n Considerar o tipo da aplicação a ser construida, e.g.– Sistema de informação? embedded system?– criticidade? Diferenças entre os ambientes de

desenvolvimento e os de instalação?

n Os requisitos específicos do cliente– É necessário usar um método particular?

Selecção da Aproximação de Projectos

16:32

4GPI/ project-approaches

n Principais Fases e Tarefas...– Concep ção, Implementação, Manutenção

Estrutura do Processo de Desenvolvimento de Sistemas

Processo de Desenvolvimento de Sistemas

Page 2: Selecção da Aproximação de Projectos Gestão de Projectos ...web.ist.utl.pt/pedro.santinhos/gpi-acetatos/05-gpi-project... · Selecção da Aproximação de Projectos n In-house

16:32

5GPI/ project-approaches

Outro modelo de processo de desenvolvimento de sistemas

Processo de Desenvolvimento de Sistemas

Softwarerequirementsengineering

Requirementspartit ioning

Architecturaldesign

Systemrequirementsengineering

Sub-systemdevelopment

Systemintegration

Systemvalidation

segundo Kotonya e Sommerville (in Requirements Engineering)

16:32

6GPI/ project-approaches

Do Problema até à Solução...

Estrutura do Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Sistemas

n Especificação de Requisitos: descrição do problemana óptica do cliente.

n Análise: descrição do problema na óptica do engº de sistema

n Desenho: especificação da solução em termos da plataforma e tecnologia computacional usada.

16:32

7GPI/ project-approaches

Custos relativos das várias tarefas do Desenv. Software...Conforme observados no final da d écada de 70 [Schach99]

Qual é o problema

desta situação?

Estrutura do Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Sistemas

16:32

8GPI/ project-approaches

n Independentemente das particularidades de cada processo, pode-se distingui-los genericamente segundo duas grandes aproxima ções:

– aproximação em cascatan aka ‘waterfall’ ‘one-shot ’, ‘once-through’

– aproximação prototipagemn aka evolutionary development, prototyping

– aproximação incrementaln aka incremental delivery, iterative & incremental

n Note-se que esta distinção é ortogonal ao facto do processo usar uma abordagem estruturada ou baseada em objectos

Modelos de Processos de Desenvolvimento de Software

Processo de Desenvolvimento de Sistemas

Page 3: Selecção da Aproximação de Projectos Gestão de Projectos ...web.ist.utl.pt/pedro.santinhos/gpi-acetatos/05-gpi-project... · Selecção da Aproximação de Projectos n In-house

16:32

9GPI/ project-approaches

n As actividades a executar são agrupadas em tarefas, executadas sequencialmente, de forma que uma tarefa só tem início quando a tarefa anterior tiver terminado.

Modelo Cascata

16:32

10GPI/ project-approaches

n Vantagens– só se avança para a tarefa seguinte quando o cliente valida e

aceita os produtos finais (documentos, modelos, programas) da tarefa actual – uma garantia “formal” para o fornecedor que fica mais “descansado”...

– pressuposto que o cliente participa activamente no projecto e que sabe muito bem o que quer

n Desvantagens– promove a compartimentação dos esforços ao longo das

diferentes tarefas e consequentemente desencoraja a comunicação e partilha de visões entre todos os intervenientes do projecto, por exemplo, entre os analistas, os responsáveis pelo desenho, os programadores, e os utilizadores.

– minimiza o impacto da compreensão adquirida no decurso de um projecto, uma vez que se um processo não pode voltar atrás de modo a alterar os modelos e as conclusões das tarefas anteriores, é normal que as novas ideias sobre o sistema não sejam aproveitadas.

Modelo Cascata

16:32

11GPI/ project-approaches

Modelo Cascata – Revista

16:32

12GPI/ project-approaches

The waterfall model

Modelo Cascata – Revista

Page 4: Selecção da Aproximação de Projectos Gestão de Projectos ...web.ist.utl.pt/pedro.santinhos/gpi-acetatos/05-gpi-project... · Selecção da Aproximação de Projectos n In-house

16:32

13GPI/ project-approaches

Modelo Cascata – RevistaModelo V-Process

Outra forma de olhar para o modelo em cascata…

16:32

14GPI/ project-approaches

n Vantagens– prevê a possibilidade de a partir de qualquer tarefa do ciclo

se poder regressar a uma tarefa anterior de forma a contemplar alterações funcionais e/ou técnicas que entretanto tenham surgido, em virtude de um maior conhecimento que se tenha obtido.

n Desvantagens– risco desta aproximação é que, na ausência de um processo

de gestão do projecto e de controle das alterações bem definido, podemos passar o tempo num ciclo sem fim, sem nunca se atingir o objectivo final que é disponibilizar um sistema a funcionar.

Modelo Cascata – Revista

16:32

15GPI/ project-approaches

‘An iterative process of creating quickly and inexpensively live and working models to test out requirements and assumptions’

Sprague and McNurlin

Main typesn ‘throw away’ prototypesn evolutionary prototypes

What is being prototyped?n human-computer interfacen functionality

Modelo Prototipagem

16:32

16GPI/ project-approaches

Modelo PrototipagemVantagens da prototipagem

n Learning by doingn Facilitar a comunicaçãon Melhorar a participação dos utilizadoresn Estabelecer um ambiente de feedbackn Reduzir a necessidade por documentaçãon O protótipo pode ser usado para produzir os

resultados expectáveis

Page 5: Selecção da Aproximação de Projectos Gestão de Projectos ...web.ist.utl.pt/pedro.santinhos/gpi-acetatos/05-gpi-project... · Selecção da Aproximação de Projectos n In-house

16:32

17GPI/ project-approaches

Modelo PrototipagemProblemas da Prototipagem

n Os utilizadores podem não compreender a função daprototipagem…

n Possível falta de controlo de projecto e de standards

n Custo adicional na produção dos protótipos

n Foco no desenho de interfaces “amigáveis” podeprejudicar outras propriedades, e.g., eficiência, desempenho

16:32

18GPI/ project-approaches

n Baseia -se no princípio que a equipa envolvida possa refinar e alargar pouco-a-pouco a qualidade, detalhe e âmbito do sistema envolvido

n A principal consequência da aproximação iterativa & incremental é que os produtos finais de todo o processo vão sendo amadurecidos e completados ao longo do tempo, mas cada iteração produz sempre um conjunto de produtos finais

Modelo Iterativo e Incremental

16:32

19GPI/ project-approaches

Modelo Iterativo e Incremental

16:32

20GPI/ project-approaches

Modelo Iterativo e Incremental

design build install evaluate

design build install evaluate

design build install evaluate

increment 1

increment 2

increment 3

first incremental delivery

second incremental delivery

third incremental delivery

deliveredsystem

Page 6: Selecção da Aproximação de Projectos Gestão de Projectos ...web.ist.utl.pt/pedro.santinhos/gpi-acetatos/05-gpi-project... · Selecção da Aproximação de Projectos n In-house

16:32

21GPI/ project-approaches

Intentional incremental delivery

Modelo Iterativo e Incremental

16:32

22GPI/ project-approaches

n Feedback das primeiras iterações é usado no desenvolvimento das iterações subsequentes

n Períodos de desenvolvimento mais curtos / rápidosn Os utilizadores obteem benefícios mais cedo

MAS também algumas possíveis desvantagensn Perda de economia de escalan ‘software breakage’

Modelo Iterativo e IncrementalBenefícios

16:32

23GPI/ project-approaches

Modelo Espiraln Variante do modelo iterativo e incremental.

n Foi proposto por Barry Boehm [Boehm88] como resposta às criticas que os processos existentes na altura não favoreciam a utilização de prototipagem e reutilização de software.

n Para além das tarefas e actividades previstas pelos outros processos, propõe logo de seguida à tarefa de planeamento a realização de uma tarefa de prototipagem e de análise do risco, como forma de eliminar os principais problemas e identificar os requisitos do sistema

16:32

24GPI/ project-approaches

Modelo de Métodos Ágeis

n Novo paradigma de encarar a gestão de projectos informáticos…

Agilidade é …

n ligeireza, desembaraço; actividade; vivacidade

n A capacidade de responder rapidamente e ultrapassar os obstáculos que podem pôr em risco o projecto...

n A capacidade de identificar as alterações relevantes...– Nos requisitos– No conhecimento do sistema– No ambiente

Page 7: Selecção da Aproximação de Projectos Gestão de Projectos ...web.ist.utl.pt/pedro.santinhos/gpi-acetatos/05-gpi-project... · Selecção da Aproximação de Projectos n In-house

16:32

25GPI/ project-approaches

Modelo de Métodos Ágeis

n Novo paradigma de encarar a gestão de projectos informáticos…

Agilidade é …

n ligeireza, desembaraço; actividade; vivacidade

n A capacidade de responder rapidamente e ultrapassar os obstáculos que podem pôr em risco o projecto...

n A capacidade de identificar as alterações relevantes...– Nos requisitos– No conhecimento do sistema– No ambiente

16:32

26GPI/ project-approaches

Modelo de M étodos ÁgeisManifesto for Agile Software Development

n Indivíduos e interacções em-vez de processos e ferramentas

n Software que trabalha em-vez de documentaçãoperceptível

n Colaboração com cliente em-vez de negociação do contrato

n Responder à mudança em-vez de seguir um plano

Agile Alliance

Valores

http://www.agilealliance.org

16:32

27GPI/ project-approaches

n A prioridade máxima é satisfazer o cliente através de uma entrega mais cedo e contínua de software com valor.

n As mudanças nos requisitos são bem-vindas, mesmo na parte final do desenvolvimento. Os processos ágeis aproveitam a mudançapara dar vantagens competitivas ao cliente.

n Entregar frequentemente (na ordem das semanas) software quefunciona.

n As pessoas do negócio e os developers têm que trabalhar juntosdiariamente ao longo do projecto.

n Construir projectos em torno de indivíduos motivados, dar-lhes o ambiente e suporte que eles precisam, e confiar neles para ter o trabalho feito.

n O método mais eficiente e efectivo de comunicação para e numaequipa é através de conversação directa “cara-a-cara”.

Princípios

Modelo de M étodos ÁgeisManifesto for Agile Software Development

16:32

28GPI/ project-approaches

n Software que funciona é a principal medida de progresso.

n Promovem desenvolvimento sustentável e os seus participantes devem estar manter um ritmo constante, de modo saudável.

n Atenção contínua à excelência técnica e ao bom desenhopromovem agilidade.

n Simplicidade – a arte de maximizar a quantidade de trabalho por fazer – é essencial.

n As melhores arquitecturas, requisitos, e desenhos aparecem das equipas auto-organizadas, que trabalham em conjunto em todos os aspectos do projecto.

n Em intervalos regulares, a equipa reflecte como é que se pode tornar mais eficaz, de forma a afinar e ajustar o seu comportamento.

Princípios (cont.)

Modelo de M étodos ÁgeisManifesto for Agile Software Development

Page 8: Selecção da Aproximação de Projectos Gestão de Projectos ...web.ist.utl.pt/pedro.santinhos/gpi-acetatos/05-gpi-project... · Selecção da Aproximação de Projectos n In-house

16:32

29GPI/ project-approaches

n Extreme Programming, Kent Beck,n Crystal, Alistair Cockburnn FDD (Feature Driven Development ), Jeff De Luca, Peter Coad.n ASD (Adaptive Software Development ), Jim Highsmithn DSDM (Dynamic Systems Development Metholdology)n SCRUMn MSF (Microsoft Solutions Framework)

Exemplos

http://www.agilealliance.org

http://www.sdmagazine.com/documents/

Modelo de M étodos ÁgeisProcessos Ágeis

16:32

30GPI/ project-approaches

Macro e micro processos…

A macro process containing three iterative micro processes

16:32

31GPI/ project-approaches

Qual a aproximação a usar?

n Se incerteza é elevada– Usar a aproximação de Prototipagem

n Se complexidade é elevada mas não a incerteza– Usar a aproximação Iterativa & Incremental

n Se complexidade e a incerteza é reduzida– Usar a aproximação Cascata (one-shot)

n Se o calendário é apertado– Usar a aproximação Iterativa & Incremental ou a

Prototipagem!

16:32

32GPI/ project-approaches

Discussão…

n Qual a diferença entre processo e projecto?

n Quais os elementos estruturais comuns nos processos de desenvolvimento de sistemas?

n Quais os stakeholders nos processos comuns de desenvolvimento de sistemas?

n Que diferenças significativas existem entre projectos de eng.ª civil (ou mecânica) e de eng.ª informática?