You are on page 1of 83

Robert Diego de Jesus Ruy Francisco Almeida

O QUE UM PROJETO?

Meu projeto comprar uma casa.

Senado aprova projeto que prev mesmo nmero para documentos de identificao. 3

Projeto ...
Um esforo temporrio empreendido para alcanar um objetivo especfico (Possui incio e fim definidos). nico. Projetos so executados por pessoas. Possui limitaes de recursos. So planejados, executados e controlados. 4

A Gesto de projetos ...


uma atividade humana para moldar as aes dos outros seres humanos. Orientada a equipes e envolve mltiplas organizaes. Exige que os gerentes de projeto a competncia de resoluo de conflitos enormes, e das equipes uma compreenso interdisciplinar. Envolve um conjunto de prticas que serve de guia a um grupo para trabalhar de maneira produtiva. 5

A Gesto de projetos ...


Requer uma habilidade que combina arte e cincia por combinar equipes com ambiente corporativo diverso. Compreende mtodos e ferramentas que organizam as tarefas, identificam sua sequncia de execuo e dependncias existentes. Apoia a alocao de recursos e tempo. Permite o rastreamento da execuo das atividades e medio do progresso relativo ao que foi definido no plano de projeto. 6

Alguns Dados Se olharmos para a taxa de sucesso de projetos de software


durante os ltimos dez anos, pode-se ver que ele permaneceu em um nvel baixo.
Segundo estudos, para projetos de software: 40% de insucesso de projetos so devidos ao mau planejamento ou, at mesmo, a inexistncia de plano de projeto.

Quase 20% deste insucesso se deve a uma gesto inadequada do projeto.


Aproximadamente 50% dos problemas e insucesso de projeto se devem a uma pobre comunicao entre os principais envolvidos 7 no projeto (ou seja, os stakeholders).
Fonte: Revista Engenharia de Software, Ano 1, Edio 2

A Gesto de projetos de software


Defende uma abordagem da engenharia de desenvolvimento de software na medida em que estende o ciclo de desenvolvimento tcnico do produto (planejamento execuo - verificao) a tarefas econmicas e sociais, como o gerenciamento, desenvolvimento e acompanhamento. Isto torna o desenvolvimento de software em um processo iterativo e controlado, permitindo uma adaptao bemcompreendido e contnua para os objetivo. Software de gerenciamento de projetos so, assim, os laos do desenvolvimento tcnico do produto para fabricao de produtos econmicos. 8

A gesto tem de especificar os objetivo e estratgias para a empresa possa, operacionaliz-los em planos, monitorar o cumprimento destes objetivos, desenvolver uma adequada organizao empresarial para a implementao destes objetivo e planos, liderar e motivar a equipe, controlar a processos empresariais, e tomar decises. ... Isto significa que a gesto pode ser definida como uma atividade que lida com modelagem das aes de outras pessoas "(Gernert e Ahrend 2001). Isto resulta na definio das tarefas a seguir para (projeto de software) de gerenciamento. Liderana: organizar, controlar, liderar equipe, informa. Desenvolvimento: Definir, planejar e definir os objetivo. Monitoramento: Verificar e controle.

Planejamento

Projeto de Software Verificao Implementao

(ECONMICA) Monitoramento 10 Objetivos da Gesto de Projetos: uma abordagem de engenharia para desenvolvimento de software.

reas de conflito em Projetos

11

reas de conflito em Projetos


O projeto deve ter oramento equilibrado; Obedecer os prazos e Ter um certo nvel de qualidade.

A alterao de um dos trs parmetros implica na alterao dos outros dois, ou seja:
Um projeto que deve ser concludo no mais curto espao de tempo possvel se torna mais caro que o previsto e acaba tendo menor qualidade se o tempo fosse ideal. 12

reas de conflito em Projetos


Custo

Projeto

Tempo

Qualidade
13

As reas tradicionais conflitantes nos projetos.

reas de conflito em Projetos


O cliente deve conhecer estas Zonas de Conflito de um projeto desde o incio.
O cliente deve estar ciente do impacto das mudanas de prazos, reduo de custos, etc. Para projetos Web esta avaliao pode sair prejudicada visto que seus oramentos e prazos so mais apertados do que um projeto tradicional de software. 14

GESTO DE PROJETOS WEB


15

Observa-se que muitas aplicaes grandes monolticas do passado tem sido substitudas por pequenas aplicaes na rede (Reifer 2002). Estas: Ciclos mais curtos de desenvolvimento. So desenvolvidas com acoplamento de componentes atravs de mtodos geis. Utilizam cada vez menos os mtodos tradicionais para serem desenvolvidas com base em especificao de requisitos. 16

Parmetro

Gesto de Projetos de Software

Gesto de projetos WEB


Criar um produto utilizvel em menor tempo possvel! Geralmente pequenas (6 + / 3 pessoas) 3 a 6 meses, em mdia, vrios milhares de dlares

O principal objetivo Criar um produto de qualidade ao menor custo possvel! A dimenso do projeto Durao Custo Mdio a grande porte (10 a 100 pessoas e mais) 12 a 18 meses, em mdia, vrios milhes de dlares

Abordagem de Com base nos requisitos; estruturado Mtodos geis; montagem de desenvolvimento em fases, incremental, documentao componentes, prottipos orientada

Tecnologias

Mtodos orientados a objetos, ferramentas CASE


CMM, ISO, etc ("rgido") Reusabilidade pobre; Cdigo aplicativos baseados em complexos

Mtodos baseados em componentes, programao visual, multimdia


ad-hoc ("geis") Alta capacidade de reutilizao; componentes padro, muitos aplicativos padro

Processos Produtos

Perfil Pessoal

Desenvolvedores de software profissional com vrios anos de experincia

Designers de multimdia, 17 programadores Web (Java, etc); pessoas PR / marketing

Os projetos Web tambm diferenciam-se dos projetos de software tradicionais pelos seus resultados:
Sistemas de software tradicionais so compostos de partes agrupadas por funes, onde a mtrica fundamental destas partes a funcionalidade.

As funcionalidades e os contedos dependem uns dos outros nas aplicaes Web, estando ambos disponveis conjuntamente.
O design e a criao de contedo so pelo menos to importante quanto a funcionalidade do aplicativo. A estruturao em componentes do projeto feito de diferentes maneiras por diferentes comunidades de desenvolvimento, usando as convenes de nomenclatura diferente. 18

Viso da Engenharia de Software (Usurio) Interfaces

Viso da Engenharia Web Apresentao Hipertexto: Navegao Estrutura Contedo

Programa Informao

19

Para projetos Web contedo e design devem ser desenvolvidos conjuntamente. Design de informao > responsvel pelo contedo e, Design de interface > pela interao do usurio e a navegao no aplicativo Web.

A concepo do aplicativo Web inclui funcionalidades como a comunicao com o servidor ( banco de dados, sistema de armazenamento de dados, etc.). 20

Desafios na Gesto de Projetos Web


21

Os desafios para gerenciamento de projetos convencionais de projetos de software tradicional confrontam com as trs funes da gesto.

22

Sistemas de Software exclusivos:


Nos projetos tradicionais os softwares so, geralmente, desenvolvidos a partir do zero. Projetos da Web possui um grau muito maior de reutilizao e reaproveitamento.

Perspectiva de liderana Extremamente tcnica:


Engenheiros voltam-se para o desenvolvimento do software em detrimento do desenvolvimento organizacional.

Planejamento excessivamente otimista por parte dos engenheiros, apoiados pelo marketing e vendas as pessoas.
Equipes de projetos Web so mais heterogneos, porm no mais experientes em gerenciamento de projetos.

23

Falta de Planejamento:
Planos de projetos dos softwares pouco claros, incompletos, alterados frequentemente ou com falhas. Comparado com o desenvolvimento de software tradicional, esses problemas surgem com mais frequncia no desenvolvimento de aplicaes Web

24

A individualidade dos programadores:


Viso do projeto de desenvolvimento de software mais como uma arte do que uma tcnica.
O desempenho dos programadores varia o que torna particularmente difcil estimar a mo-de-obra realmente necessria. Programadores individualistas no vestem a camisa da organizao. Sua criatividade est sujeita a um alto grau de individualidade.

25

Elevado nmero de solues alternativas:


No desenvolvimento de software existem um nmero ilimitado de alternativas para solucionar problemas especficos.
Porm impossvel comparar e avaliar as diferentes solues com antecedncia. Para a criao de aplicaes Web esse problema menor, pois muitos componentes e produtos esto disponveis e prontos para serem usados.

26

As rpidas mudanas tecnolgicas:


O rpido desenvolvimento tecnolgico de hardware e software torna mais difcil de planeja e organizar projetos de software. Enquanto o desenvolvimento de grandes sistemas de software est em andamento, novos e melhores componentes entram no mercado. Para correr atrs do prejuzo os projetistas buscam adequar o sistema ou introduzir a ele estes novos componentes, fazendo com que a concepo do sistema se torne ultrapassada e o plano obsoleto.

27

O estado imaterial de produtos de software:


A intangibilidade dos produtos de software torna difcil de controlar, pois muito difcil determinar o quanto do projeto de software est realmente completo. O Programador tem uma vasta gama de possibilidades para encobrir o estado de desenvolvimento atual. O contedo do produto acaba sendo mais palpvel para os clientes e o gerente do projeto, j que os o desenvolvimento da funcionalidade e do contedo so paralelos.

28

29

Muitos aplicativos da Web so projetados para atender um grupo de usurios novos ou desconhecidos.
Se estes usurios no conhecem o produto oferecido ( o site ou aplicao Web), eles no tem o que esperar do produtos e nem podem formular exigncias e expressar suas expectativas. Isso faz com que as mudanas do projeto tornem-se mais constantes. Mesmo para os grupos de usurios conhecidos os conflitos tambm surgem. Usurio de um aplicativo pode estar interessado por links que apontem para produtos da concorrncia durante a leitura, o que pode no ser interesse da empresa dona do aplicativo. (comparar carros concorrentes)

30

Projetos de desenvolvimento de aplicaes Web possuem ciclos curtos de desenvolvimento: em mdia trs meses, no ultrapassando seis (2001a e Welland McDonald) . Os motivos para este curto desenvolvimento a alta frequncia da atualizao das informaes e a feroz concorrncia no mercado de desenvolvimento web que est em expanso. Atualmente h uma tendncia geral no desenvolvimento para uma maior rapidez no projeto utilizando mtodos geis aliado a alta qualidade e maior manutenabilidade dos aplicativos. Maior interesse no uso de sistemas de componentes, e integrao de ferramentas de desenvolvimento.

Cabe observar que o contedo de muitos aplicativos da Web podem ser divididos em uma srio de subprojetos menores, facilmente manipulados por grupos de subprojetos.. 31

Como j foi falado, muitos aplicativos Web so desenvolvidos por subgrupos em paralelo, desenvolvendo os diversos componentes do aplicativo.
Tais subgrupos diferem dos estruturados no projetos de software tradicionais. Subgrupos Tradicionais > estruturados de forma orientada a desenvolvimento (banco de dados, modelagem matemtica, etc.) Subgrupos de projetos Web > Trocam informaes sobre os tipos de interface e desenvolvem componentes com funcionalidades semelhantes mas com significados diferentes para o cliente (Ex: lista de produtos e lista de cliente de referncia).

A gesto de projetos Web deve garantir que profissionais com experincias semelhantes ( designers e artistas grficos) que trabalham em grupos diferentes se comuniquem, assegurando consistncia do aplicativo Web como um todo, impedindo o desenvolvimento duplo.
As ferramentas CASE de desenvolvimento tradicionais no mapeiam ou mapeiam pouco esse tipo de comunicao

32

Os aplicativos Web, ferramentas e a prpria Web esto em constante evoluo. Assim necessrio maior preocupao com a manuteno do aplicativo, principalmente se considerarmos que o seu contedo est em constante expanso. sugerido um processo incremental de Engenharia Web para gerir esta evoluo contnua que permite a equipe de desenvolvimento focar em um incremento de forma que uma verso funciona do aplicativo funcional seja gerada. Esta tcnica nada mais do que uma do que o processo de prototipagem da Engenharia de Software, mas com a diferena no tempo de entrega das duas verses de um produto ( em poucas semanas ou dias).

33

Se compararmos o desenvolvedor de softwares mdios quem desenvolve para a Web em mdia muito mais jovem e menos experiente, conforme pesquisa (Reifer 2002). As aplicaes do desenvolvedor mdio da Web tem menos de trs anos de experincia, autodidata. Engenheiros de software tem um mdia educao formal e pelo menos seis anos de experincia profissional. Desenvolvedores de aplicativos Web esto sempre interessados em novas ferramentas e tecnologias, experimentando sistemas de software sempre atualizados para verses mais recentes. Empresas iniciantes que trabalham na Web utilizam essas ferramentas se razes claras alm das preferncias do desenvolvedor. A Gesto de Projetos Web responsvel por utilizar o entusiasmo de sua equipe para selecionar tecnologias adequadas e ferramentas.

34

A nsia por inovao de alguns desenvolvedores entusiastas pode causar um certo desastre ao se utilizar ferramentas e funcionalidades imaturas no desenvolvimento de aplicaes Web. O uso destas aplicaes pode ser causada pela poltica de preos daquela ferramenta ou a falta de alternativas.

Estas ferramentas podem conter erros devido a falta de gerenciamento do fornecedor, e devido a sua instabilidade so constantemente atualizados, mais pelos erros.
Uma possvel descontinuao ou encerramento de suporte desta ferramenta, pode forar o desenvolvedor, que utilizou e incorporou ela em seu aplicativo Web, a alterar o projeto e rever toda sua estrutura ou o ambiente de desenvolvimento. Para lidar com este problema de gesto contar com tecnologias e ferramentas de grandes fornecedores, que possuem atualizao regular, politica de liberao e assistncia contnua, sejam empresas privadas ou projetos Open Source ( Ex: Ambiente GNU, fundao Apache).

35

Desafios relacionados ao Desenvolvimento em Projetos Web 36

Desde quando a internet tornou-se popular, houve uma crena de que qualquer pessoa com texto, imagens e comandos HTML poderia de forma rpida e fcil criar Web sites. De fato no incio a maioria das pginas eram de hipertexto esttico, mas com o surgimento de processos sofisticados de desenvolvimento ( como o Java, PHP, SGBDs, etc), o contedo das pginas se tornou altamente dinmico, com aplicaes chamadas dentro dos navegadores.

37

Na Web a aparncia das pginas est sujeita a alteraes por diversas razes, at mesmo por tendncias, fazendo do design da Web visto como o fator crtico de sucesso. Tal necessidade de alterar os produtos do ponde vista artstico/esttico acelera a presso impulsionada pela evoluo tcnica para mudar as coisas ainda mais. s vezes algumas destas mudanas so necessrias, como a alterao do contedo, slogans, logotipos, etc. Seguir a moda, pode se justificar para se adequar ao que o usurio quer ver, pois este tambm est ligado a novidades tecnolgicas mas, da mesma forma a moda pode desaparecer to rapidamente como surgiu. O gerente de projetos Web deve ter um plano de flexibilidade para estas alteraes estticas, que podem ser implementadas rapidamente e muitas vezes sem a necessidade de intervir no cdigo do aplicativo.

38

No se pode esperar fidelidade de um usurio da Web a um fornecedor web. Em contraste com muitos sistemas de informao tradicionais, no h presso para usar um aplicativo da Web especfico.
Se os usurios no gostam de um aplicativo da Web, eles vo encontrar outras formas para obter informaes que esto interessados. Esta espontaneidade leva a outra consequncia:
O aplicativo web deve ser de fcil utilizao, sem manual de instrues. As aplicaes devem ser auto-explicativas e ter uma rotina lgica que permita ao usurio adquirir uma rotina no uso e se sentir confortvel com a aplicao.

Uma boa usabilidade fator crtico de sucesso na Web.

39

Em todos os lugares. onde vai parar um aplicativo da Web quando ele est em produo, os novos meios de acesso, especialmente os mveis tornam o acesso as aplicaes em qualquer local. Esta caracterstica torna extremamente ampla a gama de potenciais usurios da aplicao. O que torna impossvel determinar grupos de usurios. Aplicativos Web em desenvolvimento, mesmo que muito acessados, sofrem com a indiferena dos usurios, que no ir gastar tempo e custo de contribuir para a melhoria do aplicativo, fornecendo feedback. Assim a coleta e validao dos requisitos claramente difcil na Web em comparao com os softwares convencionais, o que trs uma certa insegurana na gesto do projeto Web. 40

As aplicaes Web dependem dos navegadores para serem exibidos. Embora apenas um punhado de navegadores dominam o mercado (Internet Explorer, Firefox, Opera e Safari), eles tm um comportamento muito diferente de compatibilidade com as linguagens de desenvolvimento e suas regras (HTML, CSS, Java Script...). Um projeto uniforme, que mantenha todas as funcionalidade em todos os navegadores algo surpreendentemente difcil, diante da quantidade de mudanas efetuadas pelos desenvolvedores deste navegadores. O resultado na casa do usurio acaba no sendo o mesmo no escritrio de desenvolvimento. Alguns desenvolvedores optam por limitar os browsers em que o Aplicativo Web acessvel mas, isso acaba limitando tambm o grupo de clientes potenciais em acessar o aplicativo.

41

Os usurios esperam que as aplicaes Web para ser disponvel 24 horas por dia, 7 dias por semana. Isso exige qualidade da aplicao no que diz respeito a confiabilidade, mas tambm do hardware e da conexo de rede. Alm disso deve impedir o acesso de usurios sem autorizao a acessar reas confidenciais do aplicativo Web, e ser seguro o suficiente para bloquear ataques. Deve-se manter formas de verificaes do aplicativo em produo com sistema de gerenciamento de configurao adequada, combinada com mecanismos de log.

42

A onipresena das aplicaes Web, combinada com a espontaneidade de usurios, implica que as aplicaes Web tm de ser escalvel para um ponto em que no pode ser projetada antes e durante o desenvolvimento. Uma m escalabilidade pode causar uma perda dramtica de desempenho percebido por todos os seus usurios, assim que seu nmero atinja o limite mximo determinado. Essa situao pode agravar o grupo inteiro de usurios, ou causar perda de dados no pior caso.

43

Um sistema de e-banking pouco escalvel, por exemplo, pode levar a perda material enorme (incompletas ou incorretas as transaes financeiras) e perda imaterial (reputao corporativa). A mais importante aspecto de gerenciamento de projetos para a Web alm da escalabilidade de um produto de software a de considerar simples expanso da estrutura de hardware, sem interromper o funcionamento normal. Alguns aspectos de escalabilidade (por exemplo, largura de banda da conexo de rede para um usurio), no entanto, esto alm da influncia do proprietrio do desenvolvedor ou site.

44

45

Desenvolvimento de software: Um homem centrado a tarefa

A comunicao entre os membros de uma equipe e suas motivaes juntamente com a coordenao de um gerente de projetos esto entre os fatores de sucesso mais importantes para um projeto.

46

Desenvolvimento de software: Um homem centrado a tarefa

Gestores tcnicos devem tentar subestimar os aspectos psicolgicos e sociais em equipes de desenvolvimento.

47

Desenvolvimento de software: Um homem centrado a tarefa

Como mencionado na seo 9.1.4, times de desenvolvimento para WEB so geralmente pequenos(equipe cirrgica).

48

Desenvolvimento de software: Um homem centrado a tarefa


As seguintes mudanas na cultura de desenvolvimento de software levou evoluo do time com programador chefe: Um engenheiro no pode mais dividir sua rea de trabalho em design, implementao e teste. Um substituto deve estar pronto para substituir casa membro da equipe, mesmo por pouco tempo. Um gestor de projetos deve ter um conhecimento do contedo da implementao, mas no deve participar ativamente dela. A gerao de documentos deve ser distribuda por toda a equipe, de acordo com as tarefas. 49

Desenvolvimento de software: Um homem centrado a tarefa

importante planejar o tempo necessrio para o projeto no incio para clarificar o relacionamento entre os membros do grupo. Sendo o desenvolvimento do software principalmente uma atividade de planejamento, e portanto, de natureza intelectual, a liderana pessoal muito importante, e o gerente de projeto deve ter habilidades sociais. 50

Desenvolvimento de software: Um homem centrado a tarefa

A obrigao dos membros da equipe trabalharem bem por si mesmos extremamente importante, tecnicamente e financeiramente.

51

A equipe de projetos WEB


Equipes formadas para desenvolver aplicativos WEB so caracterizadas por 3 importantes propriedades:

Multidisciplinaridade: Desenvolvedores WEB tem que ter diferentes domnios de sabedoria; Paralelismo: Desenvolvimentos paralelos nos projetos para WEB devem ser coordenados. Tamanho pequeno: Equipes de projetos WEB so compostos geralmente por 6 a 10 membros.

52

A equipe de projetos WEB


Um importante aspecto que cada membro entende totalmente seus papis e responsabilidades. Se os papis e responsabilidades se sobrepem, os membros da equipe, juntamente com o lder da equipe ou gerente do projeto so responsveis por resolver possveis conflitos que possam aparecer. 53

A equipe de projetos WEB

Composio tpica de uma equipe de projetos WEB

54

A equipe de projetos WEB


Especialistas em aplicao e em negcios fornecem o contedo de uma aplicao WEB. Mas o especialistas em negcios so responsveis tambm por contribuir com a estrutura geral da aplicao na WEB e do tambm um orientao para os objetivos do negcio da companhia. McDonald e Welland (2001a) sugerem ainda que esses especialistas citados acima tm necessidade adicionais de comunicao quando trabalham geograficamente separados do resto da equipe. 55

A equipe de projetos WEB


Um problema especial refere-se a assistncia durante a operao e manuteno de uma aplicao Web, que particularmente importante em engenharia web. Todos os papis mencionados de uma equipe de projeto da Web so necessrios para esta assistncia.

56

A principal tarefa de um gerente de projetos da WEB que ele ou ela tem que liderar uma equipe composta de pessoas com diferentes habilidades e competncias.

Cada tipo de desenvolvedor parece ter problemas em reconhecer e valorizar as contribuies feitas pelos desenvolvedores vindos de outras formaes (McDonald e Welland, 2001a)
57

Os especialistas tm dificuldades em estimar mesmo rudimentarmente tarefas que no se enquadram no seu mbito.

Esse comportamento no puramente especfico para a engenharia Web, como o autor observou ao assistir um grupo de desenvolvedores de jogos, onde especialistas como game designers, gerentes de ativos, e implementadores tratados entre si de uma maneira muito semelhante em conflito.
Nesses casos, o gerente de projeto tem que assumir o papel de um tradutor e mediador, que tem que traduzir os contedos e as motivaes para as decises de um campo de aplicao e uma lngua para a outra (s). Para atender a essa tarefa de comunicao multidisciplinar, um gerente de projetos da Web tem que ser capaz de enfrentar desafios organizacionais, tcnicos e sociais. Um gerente projetos da Web tem que lidar principalmente com os seguintes desafios sociais:

Inspirar todos os membros do projeto com os objetivos do projeto. Ser capaz de liderar uma equipe multidisciplinar. Criar a vontade e disponibilidade para (democrticas) de cooperao. Constantemente motivar a equipe e resolver conflitos.

58

Como a maioria dos membros da equipe de projeto so jovens e inexperientes, o gerente de projeto da Web no s tem de gui-los, mas deve tambm trein-los nas reas de comunicao e de competncia social, e motiv-los a participar em aes de educao. Naturalmente, a tarefa mais importante de um gerente de projetos da Web a partir de um ponto de vista econmico a de todos os gerentes de projeto tem que constantemente manter um olho sobre o andamento do projeto contra todas as influncias que impedem o tempo, custo e qualidade no que diz respeito ao cliente, local de trabalho, as foras de mercado, outros fatores externos, e a equipe de desenvolvimento "(Friedlein 2002). Outra tarefa importante do gerente projetos da Web a assistncia de integrao do cliente durante o desenvolvimento de uma aplicao web.

59

H duas peculiaridades a essa tarefa, em comparao com projetos de software convencional: 1- A transio de um de projeto de desenvolvimento Web para uso regular gradativo. Alm disso, frequentemente difcil para o gerente de projeto da Web determinar quando um aplicativo da Web foi totalmente colocado em funcionamento e, portanto, quando o projeto real de desenvolvimento tenha sido concludo e a utilizao regular (incluindo a manuteno) do aplicativo da Web desenvolvido comeou. 2- Alm disso, nem sempre claro se ou um gerente de projeto da Web deve estar envolvido com o projeto depois que o aplicativo foi movido para o funcionamento e fase de manuteno. Isso se torna mais crtico devido ao fato de que, devido ao conhecimento especial de membros individuais de uma equipe de projeto da Web, o principal contato com o cliente em projetos da Web no mantida atravs do gerente de projeto Web, mas diretamente atravs de peritos (ver Burdmann 1999 ). Este fato pode ser um sinal da imaturidade da Web de gerenciamento de projetos como praticado atualmente. 60

Regras mais importantes que um gerente de projeto da Web deve observar para garantir uma boa gesto de projetos web:

Promover o auto-conceito profissional de cada membro da equipe. Tomar cuidado com a tica da equipe. Salientar a importncia do conhecimento de aplicativos diferentes para o projeto. Resolver conflitos rapidamente. Verificar se nenhum membro da equipe um vencedor ou um perdedor o tempo todo. Explique cada membro da equipe o seu papel e responsabilidades de forma contnua. Identificar a evoluo paralela e utilizar as sinergias potenciais. Distribuir tarefas de documentao aos membros da equipe relativamente de acordo o seu alcance. Promover e coordenar o uso contnuo de ferramentas desde o incio do projeto. Traduzir os custos e valores em reas de projeto diferentes. Promover a integrao contnua do cliente no projeto. Sempre manter um olho no andamento do projeto e o objetivo do projeto. 61

Gesto do processo de desenvolvimento de uma aplicao WEB

62

Implantando ferramentas
As aplicaes web so necessariamente desenvolvidas utilizando uma abordagem muito flexvel, caracterizada por um elevado grau de reutilizao, mtodos de processos geis, contato com clientes prximos, um grande nmero de produtos intermedirios. No que diz respeito s ferramentas utilizadas e os resultados (intermedirios) produzidos, pode-se observar tambm uma transio da abordagem do documento orientado no desenvolvimento de software tradicionais (rgidas) para uma abordagem altamente de ferramentas de suporte em projetos de desenvolvimento gil. Essa transio para a ferramenta de apoio nas abordagens geis mostrada na Tabela 9-4, que utiliza o modelo de documentao (Mayr 2005). 63

Implantando ferramentas

64

Implantando ferramentas
Abordagens geis exigem cada vez mais ferramentas, por exemplo, para gerenciamento de requisitos, planejamento, concepo / execuo, planejamento e implementao, e teste de tratamento de erros, bem como gerenciamento de configurao contnua. Em um dos poucos estudos que explicitamente lidam com problemas de gesto de projetos Web, (Cutter Consortium 2000) sugere que iteraes podem facilmente tornar-se ad-hoc sem desenvolvimentos de ferramentas para medio do progresso e mudanas na gesto e anlise de resultados e monitorizao cuidadosa dos requisitos tanto pelo desenvolvedor e o cliente.

65

A mesma fonte refere que os projetos da Web em particular, tm de ser tratados com base em um plano documentado, e que o teste extensivo e cuidadoso inevitvel, mesmo se o projeto j sofre atrasos. Essas ferramentas devem interagir bem (ou, idealmente, ser integrada) para garantir que um projeto de desenvolvimento melhore a eficincia (veja o projeto no Eclipse http://www.eclipse.org por exemplo).

Contudo, cuidados devem ser tomados para garantir que o processo de desenvolvimento seja independente destas ferramentas e tecnologias (McDonald e Welland, 2001a).
Em muitos casos, quando se deslocam para uma abordagem gil, as pessoas esquecem que a disponibilidade dessas ferramentas apenas um lado da moeda, manipul-las tem que ser aprendida e praticada, tambm. O tempo necessrio para tais processos de aprendizagem freqentemente no est previsto para os breves projetos Web, ou seu custo no pode ser justificado. 66

Implantando ferramentas
Ferramentas para Gerenciamento de Configurao
Um sistema de gerenciamento de configurao (Dart 2000) um instrumento importante para apoiar um processo de projeto em ordem. Na engenharia Web, gerenciamento de configurao utilizada principalmente para as seguintes tarefas, devido aos ciclos de iterao curta:

gerenciamento de verses do cdigo-fonte e do contedo, aplicao e regulao do acesso ao contedo, criao de configuraes, tanto para o cdigo fonte e contedo do aplicativo para estabelecer uma poltica de liberao de ordem, gerenciamento de solicitaes de mudana e tratamento de erros e defeitos, estado de documento de controle para monitorar o andamento do projeto. 67

Implantando ferramentas
Criao de variantes menos comum em engenharia web. Se as variantes so criados (por ramificao na rvore de desenvolvimento), ento a razo muitas vezes apenas para completar uma verso do cliente, devido aos ciclos de iterao curta, enquanto outros membros da equipe esto trabalhando no progresso do produto ao longo de um segundo ramo. Uma vez que muitos projetos da Web comeam pequenos, e assim sucessivamente crescem, importante o uso de sistemas de gerenciamento de configurao desde o incio do projeto, mesmo se o projeto fosse, ento parecesse "muito pequeno" para a gesto de configurao de ferramentas suportadas. 68

Implantando ferramentas
A histria da evoluo no pode ser rastreada a menos que se use uma ferramenta de gerenciamento de configurao a partir do incio do projeto. Quando um projeto da Web dividido em vrios sub-projetos de pequeno porte e seus resultados tm de ser consolidados para cada produto (intermedirio), uma ferramenta de gerenciamento de configurao ir rapidamente tornar-se uma parte indispensvel do projeto de desenvolvimento de aplicaes Web (Baskerville e Levine, 2001). O gerenciamento de configurao permite especificar o que pode mudar e quando, e permite um controle dessas alteraes. 69

Implantando ferramentas
Especialmente em engenharia Web, componentes de um aplicativo so muitas vezes criados por pessoas menos experientes do que em engenharia de software. Eles criam muitas vezes um grande nmero de verses de um nico componente ou documento, rapidamente perdendo a noo das finalidades de cada uma dessas verses, ou se uma verso ainda est atualizada. Algumas ferramentas de configurao podem nem mesmo ser capazes de processar esses ativos devido demanda de dados. Esta provavelmente a razo pela qual muitas ferramentas de configurao de gerenciamento de multimdia ainda esto sendo desenvolvidos individualmente (Wallner 2001). 70

Medindo o progresso
Ao desenvolver aplicativos Web, muitas vezes, apenas dois documentos so criados (McDonald e Welland, 2001a). O primeiro documento a especificao do sistema, contendo os resultados da anlise de requisitos e decises de design. O segundo documento o aplicativo web concludo. A aplicao web normalmente criada em uma seqncia rpida de resultados intermedirios, por meio de prototipagem altamente iterativo e evolutivo. Silva (2001) sugere que as etapas de iterao deve ser to pequena quanto possvel e ter claramente definida a funcionalidade. Cada uma destas etapas deve ser seguido por uma reviso, de preferncia que envolvam o cliente. 71

Medindo o progresso
Esta abordagem idntica Rapid Application Development (RAD), uma tcnica que tem sido conhecida e praticada em desenvolvimento de software tradicionais por quase 20 anos. O desenvolvimento de aplicaes Web caracterizada pelo fato de que as suas necessidades em geral, no pode ser estimadas previamente, o que significa que o tamanho do projeto e o custo no podem ser antecipados (Reifer 2002). Alm disso, a presso normalmente alta em relao ao prazo de entrega definido e muito curto significa que "a qualidade de um produto em tempo fixo deve ser estimada em vez de os custos de um sistema bem especificado" (Pressman, 1998). 72

Medindo o progresso
As dificuldades em antecipar esses fatores, e o controle da evoluo subseqente de projetos Web foram resumidas por Reifer e utilizado para desenvolver um projeto especfico mtrico da Web. Esta mtrica considera o uso de componentes especficos da Web e da grande quantidade de reutilizao da seguinte maneira: anlogo a "objetos de software" do modelo II COCOMO (Boehm et al. 2000), Reifer define os chamados "objetos da Web", permitindo o uso de objetos ponto do COCOMO para os componentes Web (Reifer 2002), onde as ligaes funcionais tm de ser adaptados consideravelmente. Claro que, claramente definidas as diretrizes para a contagem de objetos da Web, so importantes a obteno de estimativas significativas, semelhante a qualquer outra mtrica. No entanto, isto no resolve o principal problema de como os componentes do projeto relacionados ao desenvolvimento so contadas, ou seja, que h mais entrada do lado do desenvolvedor e menos no lado do cliente. Contagem um mtodo bom para medir o progresso, mas isso no responde questo de saber se o grau de cobertura do objetivo pode ser melhorado. 73

Medindo o progresso

74

Medindo o progresso

75

Um risco a possibilidade de uma atividade causar perdas ou danos. No entanto, falamos de risco somente se as consequncias so incertas. Isso significa que o risco representa um problema potencial (Thayer e Fairley, 1997). No existe um projeto sem riscos (e os problemas da resultantes). "Se um projeto for bem sucedido, ento quer dizer que no sucesso porque no havia riscos e problemas, mas porque os riscos e os problemas foram com sucesso" (Rook, 1986).

76

77

Riscos especficos da Engenharia WEB


Na engenharia Web, as principais razes para os atrasos ou falhas de projetos Web so idnticos aos principais riscos enumerados por B. Boehm (Tabela 9-7). Projetos falham principalmente devido m comunicao dentro da equipe de projeto da Web e com o cliente, ou seja, dficits pessoais. 78

A segunda razo importante a m compreenso dos processos de desenvolvimento de um aplicativo Web (McDonald e Welland, 2001a). J. Nielsen, o "guru da usabilidade Web page", menciona a lista dos dez seguintes riscos em um projeto Web, incidindo especialmente na gesto de projetos Web (Nielsen, 1997b):
1- Pouca definio clara de objetivos: Muitos aplicativos da Web so criados sem clareza explicando a finalidade do pedido para os desenvolvedores. importante especificar claramente os objetivos e como os clientes podem beneficiar de uma aplicao Web, e explicar estes objetivos a todos na equipe. McDonald e Welland (2001a) mencionam pobres pesquisas objetivos e anlise de requisitos como os principais motivos para a imaturidade dos processos de desenvolvimento de aplicaes web. 2- Pblico-alvo errado: Muitos aplicativos da Web so fortemente orientados aos desejos de gesto empresarial (declaraes de misso, os perfis de gerente, etc), enquanto falha em enderear o grupo destino do aplicativo . 79

3- Estrutura da pgina voltada para o desenvolvimento: A maneira mais fcil para os desenvolvedores criarem o contedo pelo organograma do contratante. Uma vez que esta estrutura tenha sido usada em uma aplicao, frequentemente mais possvel seguir uma operao orientada para o cliente. A aplicao ser focada na empresa e no sobre os usurios. 4- Falta de coerncia devido a terceirizao: Se o desenvolvimento de diferentes aplicativos da Web da mesma empresa (ou partes de um aplicativo da Web maior) forem terceirizadas para diversas empresas externas, h um alto risco de que a individualidade dessas empresas externas reflitam fortemente na aplicaes, especialmente no contedo e auxlio navegao. 5- Falta de oramento para manuteno: Enquanto os projetos tradicionais de desenvolvimento de software estimam de 10% a 15% para a manuteno anual (Mayr 2005), o custo de manuteno de aplicativos da Web muito maior devido a seu contedo envelhecendo rapidamente e a rpida evoluo das tecnologias. Nielsen (1997b) recomenda a estimativa pelo menos 50% do custo de desenvolvimento (100% mais adequado) por ano para manuteno.

80

6- Reciclagem de Contedo: Muitos tentam extrair o contedo de aplicativos Web de tradicionais fontes documentais. muitas vezes esquecido que estes meios so geralmente concebidos para serem lidos e a olhados de forma linear (de frente para trs), em contrapartida, a vida da Web de estrutura no-linear de hipermdia e a sua vinculao. As possibilidades oferecidas por uma estrutura no-linear de mdia no so utilizadas, porque muitas aplicaes e especialistas em negcios tm focado em contedos puramente linear (livros impressos, artigos de jornal), e eles tm sido educados para criar contedo linear para a mdia tradicional. O processo de reformulao tem sido lento neste domnio. 7- M conexo: Muitos links apontam para pginas de ordem superior ao invs de apontar o seu contedo especfico. Cabe ento ao usurio encontrar o contedo desejado a partir do ponto de partida geral e ter pacincia para fazer isso.

81

8- Mistura de Internet e a intranet: Enquanto a presena na Internet apresenta uma empresa para o exterior, uma intranet serve para apoiar eficazmente o trabalho do pessoal da empresa. Por esta razo, a eficincia de aplicaes Web em uma intranet deve ser claramente preferncia sobre a (exagerada) esttica. Dentro da intranet, a produtividade meta, e os usurios so considerados leais. Isto significa que as aplicaes para Internet e intranet devem ser claramente separados. Ao desenvolver um aplicativo Web, os desenvolvedores precisam saber de antemo se ele criado para a Internet ou para intranet.

9- Pesquisa de marketing e pesquisa de usabilidade confusas: Embora as pesquisas de marketing avaliam os desejos dos usurios, pesquisas de usabilidade tem por objetivo descobrir como lidar com os usurios de um aplicativo da Web e quais os problemas que eles tm. A pesquisa de mercado nunca poder descobrir que determinada funcionalidade de um aplicativo Web desejvel, mas no atraente porque difcil de usar. Confundir os dois campos de pesquisa pode levar a suposies erradas.
10- Subestimar a importncia estratgica da Web: A presena na Internet tornou-se como garantida para qualquer empresa. No longo prazo, ignorando esse canal de comunicao levar a significativas desvantagens competitivas. No entanto, muitas empresas tm subestimado a importncia da Web e, em seguida, tm cometido o erro de desenvolver uma averso da Web, perdendo o meio, a longo prazo.

82

Gesto de risco
A gesto de riscos significa levar em considerao que existe uma certa probabilidade de que problemas podem ocorrer em um projeto. Isso feito por um clculo da probabilidade, analisando o impacto de problemas em potencial, e preparar a soluo de problemas adequados com antecedncia (Bennatan 2000). A gesto de riscos pode ser pensada como uma forma de seguro que cobre um problema imediato proporcionando uma soluo assim que surge o problema. Em muitos casos, um problema que foi analisado e diagnosticado a tempo muito mais fcil e mais barato de tratar do que para resolver um problema que aparece inesperadamente.

83

You might also like