Você está na página 1de 17

Desaos do Desenvolvimento de Software

Prof. Fabrcio Barros


CUSC - ES
30 de maio de 2009
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 1 / 17
Sumario
Sumario
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 2 / 17
Introdu cao
Introducao
Tradicionalmente, software e contrudo de maneira linear, seguindo
uma seq uencia de fases:
Analise: a equipe faz o levantamento dos requisitos e busca
compreende-los detalhadamente.
Design: com base na analise a equipe projeta a arquitetura do sistema.
Implementa cao: a equipe se baseia na arquitetura e na analise para
implementar as diversas partes do software.
Teste: para vericar se o sistema atende `as necessidades especicadas
pelo usuario, a equipe testa o software e faz as corre coes necessarias.
Implanta cao: o sistema e colocado em produ cao e os usuarios nais
passam a utiliza-lo.
Manuten cao: ate o m da sua vida, o software podera sofrer
altera coes por diversas razoes, tais como correcao e inclusao de novas
funcionalidades.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 3 / 17
Modelos de Desenvolvimento de Software Desenvolvimento Tradicional
Introducao
O desenvolvimento tradicional e eminentemente seq uencial. A equipe
deve construir o sistema avancando gradualmente nas fases de
desenvolvimento, o que permite que ela lide com nveis de
complexidade cada vez mais elevados.
Alem da linearidade, existem outras caractersticas impirtantes que
costumam estar presente no desenvolvimento tradicional:
Determinismo;
Especializa cao;
Foco na execu cao.
Todas essas carctersticas sao faceis de compreender quando fazemos
uma anologia da constru cao de um software `a montagem de um
veculo, por exemplo.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 4 / 17
Modelos de Desenvolvimento de Software Desenvolvimento Tradicional
Introducao
Metafora:
1
Para montar um automovel, a ind ustria recebe um conjunto de
materias-primas que alimenta um processo de fabricacao.
2
A materias-primas sao trasnformadas ao longo do processo de modo
que, ao nal, se tenha o automovel desejado.
Reexoes:
O deternimismo e a especializacao pavimentam o caminho para o foco
na execucao. Quando as tarefas sao sucientemente especializadas
para que sejam simples e determinsticas, nao ha o que pensar, basta
executar.
O desenvolvimento tradicional, assim como a ind ustria, tambem
procura fazer com que as atividades sejam as mais determinsticas
possveis com o objetivo de diminuir erros e perdas de tempo.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 5 / 17
Modelos de Desenvolvimento de Software Desenvolvimento Tradicional
As Inuencias do Modelo de Fabricacao Industrial no
Desenvolvimento Tradicional
Nao e difcil notar que existe uma forte apelo no sentido de utilizar as
praticas industriais em qualquer processo de fabricacao, inclusive o
desenvolvimento de software.
Ao longo do seculo XX, a industrializa cao, iniciada na Revolucao
Industrial, atingiu seu auge e inuenciou o pensamento e a formacao
dos mais diversos tipos de prossionais.
Fazendo uma analise, e facil compreender as motiva coes que levaram
e continuam levando diversas equipes de desenvolvimento a adotarem
praticas semelhantes `as encontradas na produ cao industrial.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 6 / 17
Modelos de Desenvolvimento de Software Desenvolvimento Tradicional
Estatsticas
Desde 1994, o Standish Group International publica a cada dois anos
im estudo intitulado Chaos Research que consolida informa coes de
uma grande pesquisa sobre sucessos e fracassos dos projetos de
software.
Os resultados de um projeto pode ser classicado em uma das
seguintes categorias:
Tipo 1 ou Projeto Bem Sucedido: o projeto e nalizado no prazo,
dentro do orcamento e contendo todas as funcionalidades especicadas.
Tipo 2 ou Projeto Desaado: o projeto e nalizado e entrega um
software operacional, mas ultrapassa o orcamento e o prazo, alem de
disponibilizar menos funcionalidades que o especicado.
Tipo 3 ou Projeto Fracassado: o projeto e cancelado em algum
momento durante o ciclo de desenvolvimento.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 7 / 17
Modelos de Desenvolvimento de Software Desenvolvimento Tradicional
Estatsticas
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 8 / 17
Modelos de Desenvolvimento de Software Desenvolvimento Tradicional
Estatsticas
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 9 / 17
Modelos de Desenvolvimento de Software Desenvolvimento Tradicional
Problemas nas Premissas do Desenvolvimento Tradicional
Peter Drucker dene duas categorias de trabalhadores:
Trabalhador Manual: e aquele que exerce atividades que dependem
basicamente de suas habilidades manuais e nao se baseiam no uso
intensivo do conhecimento.
Trabalhador do Conhecimento: e aquele que produz com base no
uso intensivo de conhecimento e criatividade.
O desenvolvimento de software e um trabalho executado basicamente
por trabalhadores do conhecimento. Entretanto, as premissas em que
se baseiam o desenvolvimento tradicional somente sao validas para o
trabalhador manual. Logo, existe um problema: o desenvolvimento
tradicional se baseia em premissas que nao sao validas para o trabalho
que ele envolve.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 10 / 17
Modelos de Desenvolvimento de Software Desenvolvimento Tradicional
Problemas nas Premissas do Desenvolvimento Tradicional
Nutrir uma atmosfera que nao permita erros simplesmente torna as
pessoas defensivas. Elas nao tentam coisas que podem se revelar
incorretas. Voce encoraja esta atitude defensiva quando voce tenta
sistematizar o processo, quando voce impoe metodologias rgidas de
modo que os membros da equipe nao possam tomar nenhuma das
decisoes estrategicas com o temor de que elas sejam tomada
incorretamente.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 11 / 17
Modelos de Desenvolvimento de Software Desenvolvimento

Agil
Introducao
Os processos de desenvolvimento de software que sao chamados de
ageis compartilham um conjunto de premissas fundamentais que
diferem daquelas adotadas pelos processos tradicionais de
desenvolvimento.
Metafora:
Imagine que voce esta na escola e a professora solicita que voce faca
uma redacao. Que procedimento voce adotaria para escrever um bom
texto? Provavelmente, voce comecaria explorando o assunto
mentalmente, tentando encontrar os topicos a serem tratados, a
ordenacao e a forma. Em seguida, comecaria a escrever as primeiras
linhas. Apos alguns paragrafos, voce provavelmente faria algumas
altera coes em trechos ja escritos, de modo a aprimora-los. Ao nal,
voce faria uma re-leitura, corrigiria algumas partes, retocaria alguns
trechos, ate que o texto nal estivesse adequado.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 12 / 17
Modelos de Desenvolvimento de Software Desenvolvimento

Agil
Introducao
Reexao:
Criar um software, como se pode observar, e uma atividade intelectual
extremamente intensa. Sendo assim, e importtante que o seu processo
de criacao leve em consideracao caractersticas que estao presentes na
elabora caode obras intelectuais. O desenvolvimento agil de software
segue esta linha de atuacao e abandona a linha tradicional de
desenvolvimento que sugere lienaridade, padronizacao e determinismo.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 13 / 17
Modelos de Desenvolvimento de Software Desenvolvimento

Agil
Premissas do Desenvolvimento

Agil
O desenvolvimento agil se baseia na premissa de que o cliente aprende
ao longo do desenvolvimento, `a medida que e capaz de manipular o
sistema.
O cliente percebe os detalhes, compreende as diculdades tecnicas,
visualiza novas possibilidades e, conseq uentemente solicita altera coes
para que o software se aproxime ao maximo daquilo que ele acredita
que podera resolver seus problemas.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 14 / 17
Modelos de Desenvolvimento de Software Desenvolvimento

Agil
Desenvolvimento Iterativo
Os processos ageis utilizam o desenvolvimento interativo para permitir
que o cliente aprenda ao longo do projeto e, com isso, possa gerar
feedback para a equipe de desenvolvimento.
Trabalhar com o desenvolvimento iterativo signica considerar que a
curva proposta por Barry Bohem ha algumas decadas nao e valida em
determinados casos, os quais podem utilizar a abordagem do
desenvolvimento iterativo.
O XP parte do princpio que o custo de mudanca e praticamente linear
ao longo do tempo, independente do ponto em que o projeto esteja.
O XP nao apenas se baseia nesta curva, como sugere praticas que
direcionam o software de modo que o mesmo seja simples de alterar a
qualquer momento.
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 15 / 17
Modelos de Desenvolvimento de Software Custo de uma Alteracao nos Modelos de Desenvolvimento
Custo de uma Alteracao nos Modelos de Desenvolvimento
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 16 / 17
Modelos de Desenvolvimento de Software O Caos do Desenvolvimento de Software
Conducao de um Projeto de Software
Prof. Fabrcio Barros (CUSC - ES) Desaos do Desenvolvimento de Software 30 de maio de 2009 17 / 17

Você também pode gostar