Software é desenvolvido, e não fabricado como geladeira e fogão Gerenciamento é essencial



Documentos relacionados
Engenharia de Software Essencial para próximas décadas

Estimativa de custo de software: roteiro e dicas para estimativas de projeto

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Criando o orçamento do projeto. Planejamento e Controle de Projetos 5 TADS FSR. Princípios básicos do orçamento. WBS (Work Breakdown Structure)

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Visão Geral de Engenharia de Software

Administração de Projetos

P R O C E SSO D E D E S E N VOLVIMENTO D E S O F T WAR E

Rational Unified Process (RUP)

Escopo de projeto não definido: erro de gestão Sobre a lição de Alice no País das Maravilhas

Instituto Federal Sul-rio-grandense. Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão 1.0

Capítulo 6 Gerenciamento do Tempo do projeto

Tema 01 Conceitos sobre gerenciamento de tempo e projeto

CSE Métodos e Processos na Área Espacial

FACULDADE PITÁGORAS DISCIPLINA: GESTÃO DE PROJETOS. Prof. Msc. Carlos José Giudice dos Santos

Projeto de Desenvolvimento de Software

Razões de Fracasso e Sucesso de Projetos

Planejamento e Desempenho de Custos. Disciplina: Gerenciamento de Projetos Docente: Cristina Almeida

GESTÃO DE PROJETOS Unidade 9 Gerenciando de Custos no Projeto. Luiz Leão

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Engenharia de Software II

PMBOK Processo Planejamento

Gerenciamento de Projetos

Análise e Projeto de Sistema. Daniel José Ventorim Nunes (IFES Campus Cahoeiro)

ENGENHARIA DE REQUISITOS

INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS (INPE)

Planejamento dos Custos

PROJETO INTEGRADO AULA 4 INTEGRAÇÃO E ESCOPO

TÉCNICAS DE PLANEJAMENTO E CONTROLE. UNIDADE I - Planejamento, programação e controle

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Introdução a Gerencia de Projetos

GESTÃO DE PROJETOS D I S C U S S ÃO B AS E A D A N O P M I

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

OSCILOSCÓPIO DIGITAL DE AMOSTRAGEM PARA COMPUTADOR

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA. Unidade Curricular de Engenharia e Sustentabilidade

Base de Alcântara, 22 agosto 2003

Declaração de Escopo

A importância da identificação de Riscos no Gerenciamento de Projetos Marcos Vicente de Carvalho

Gerência de Projetos e Manutenção de Software Aula 1- Apresentação do Curso Andréa Magalhães Magdaleno

Desenvolvimento de Projetos

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

PROJETO DE MELHORIA DO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE BASEADO NA METODOLOGIA PMBOK

Engenharia de Software

Gestão de Riscos em Projetos de Software

Educação continuada: hábito profissional e ingrediente essencial à cultura orientada à inovação em ambiente corporativo

Gestão de Projetos 26/05/2013

Programação de Projeto ou gerenciamento do tempo

GESTÃO DE PROJETOS. Guia PMBOK

Prof. Luiz A. Nascimento

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Residência em Arquitetura de Software. Gerência de Escopo. Gerência de Desenvolvimento

Sistema Mobi-Lar Engenharia de Software

Planejamento e Gerência de Projetos (cont.)

Análise de Requisitos, Estimativas e Métricas

Gerenciamento de Riscos

Gerenciamento do Tempo de Projetos. Parte 05. Gerenciamento de Projetos Espaciais CSE-301. Docente: Petrônio Noronha de Souza

Controle de Versões Versão Data Autor Notas da Revisão 1 12/06/2016 Angelita L Correa Criação Documento

INTRODUÇÃO INTRODUÇÃO 31/03/2015 GESTÃO DO TEMPO CRONOGRAMA GERENCIAMENTO DE PROJETOS DEFINIÇÃO DA ATIVIDADE DEFINIÇÃO DA ATIVIDADE

Engenharia de Software

Introdução a Engenharia de Software

GPS - Gestão de projeto de software

Qualidade de software. Prof. Emiliano Monteiro

PERT PERT PERT PERT PERT PERT. O CPM assume que as estimativas de tempo para um projeto são certas (determinísticas);

Projeto Metroferroviário: O caso para aplicação de System Engineering: Fabio Tadeu Alves Christian Becker Bueno de Abreu

Aluno do Curso de Gerenciamentos de Projetos - FIJ/Rio de Janeiro. Na atualidade competitiva profissional em Gestão de Projetos, exige-se

Gerenciamento Do Escopo Do Projeto

Introdução à Gerência de Projetos

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

CMM Capability Maturity Model. O que é isto???

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

GPS - Gestão de projeto de software. Professor Emiliano S. Monteiro

Modelo de documentação Universidade de Brasília

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Ementa 03/09/2009. Gerencia de projetos

Gerenciamento de Projetos

O grande desafio. Planejamento e Gestão de Projetos. Estatísticas do Standish Group... Estatísticas do Standish Group... Por que gerenciar Projetos?

GERENCIAMENTO DO TEMPO DO PROJETO

Escolhendo um Modelo de Ciclo de Vida

GERENCIAMENTO DE PROJETOS DE SOFTWARE. Rosana Braga ICMC/USP

Evandro Deliberal Aula 04

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Gestão de Projetos. Alberto Felipe Friderichs Barros

PLANO DO PROJETO Data Rev. No.

Base de Alcântara, 22 agosto 2003

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

Gerência de Projetos e Manutenção de Software Aula 1- Apresentação do Curso Andréa Magalhães Magdaleno

A gestão do custo do projeto inclui os processos de planejamento, estimativas, orçamentos, financiamentos, gestão e controle de custo;

FINANÇAS EM PROJETOS DE TI

Gerenciamento do Tempo. Igor Muzetti Pereira

Planejamento e Gerência de Projetos

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

ENGENHARIA DE SOFTWARE

Engenharia de Software

ENGENHARIA DE SOFTWARE

Normas ISO:

Transcrição:

Software é desenvolvido, e não fabricado como geladeira e fogão Gerenciamento é essencial ANTONIO MENDES DA SILVA FILHO * A pessimist sees the difficulty in every opportunity; an optimist sees the opportunity in every difficulty. Winston Churchill Software não é fabricado como geladeira e fogão que são montados. Software é um produto desenvolvido, de modo sistemático, através de um conjunto de atividades bem definidas, seguindo a execução disciplinada do gerenciamento de projeto. Software requer um processo de desenvolvimento e não um processo de fabricação, implicando que ele exigirá o uso da engenharia de software. Nesse sentido, este artigo explora a importância da estimativa de tamanho de projeto para o desenvolvimento de software [1], [2], [3] e [4]. 1 O Relatório Chaos do Standish Group de 2011 indica que apenas 34% dos projetos obtiveram sucesso, isto é, foram entregues no prazo, com o orçamento previsto e com todo o escopo completo. Ainda, no mesmo documento, 51% dos projetos tiveram problemas (como atraso, estouro de orçamento e redução de escopo), enquanto que 15% falharam (i.e. foram cancelados ou nunca utilizados). É importante observar que isso sugere dificuldade no planejamento e execução de um projeto com sucesso. * ANTONIO MENDES DA SILVA FILHO é Doutor em Ciência da Computação pela Universidade Federal de Pernambuco, professor e consultor em área de tecnologia da informação e comunicação. 1 [1] Liderança, compromisso, confiança e plano de projeto: ingredientes essenciais à gestão de projetos, disponível http://periodicos.uem.br/ojs/index.php/espacoacademico/article/viewfile/13268/6972 [2] Intelecto Humano: Liderança Requer Compromisso e Compleição, disponível em http://www.periodicos.uem.br/ojs/index.php/espacoacademico/article/view/13040/6859 [3] Gestão de Projetos: Estratégia Essencial às Corporações, disponível em http://www.espacoacademico.com.br/066/66amsf.htm [4] Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos, disponível em http://periodicos.uem.br/ojs/index.php/espacoacademico/article/view/14926/ 1

Executar um projeto exige preocupação com seu gerenciamento antes do início de sua execução e esta preocupação apenas acaba após seu término. Aqui, o foco recai sobre projeto de software (embora muito se aplique a outros projetos). Talvez, você possa estar questionando que fazer estimativas de tamanho e custo de software seja esforços fúteis e desnecessários. E, concordo se você estiver considerando desenvolver um pequeno (sistema de) software para uma pequena loja ou mesmo para aquele mercadinho da esquina de sua rua. Tal tarefa pode ser comparada ao esforço de você construir uma casinha de madeira para seu cachorro de estimação. É suficiente madeira, pregos, serrote e martelo. Neste projeto, você, sozinho, pode dar conta do recado e pouca (para não dizer nenhuma) preocupação haveria com tamanho e custo do projeto. Agora, se você tiver a necessidade de informatizar um sistema como uma biblioteca de uma instituição que possui mais de 15.000 usuários (onde há renovação de quase 3000 usuários a cada ano) e há mais de 80.000 títulos entre livros, revistas e outros itens (com aquisição regular de novos títulos), então você terá a necessidade de trabalhar em equipe a fim de desenvolver esse software. Aqui, tornase prudente fazer estimativas e documentar o projeto. Aqui, estimativas e documentação não são luxo, mas sim uma necessidade, pois tal sistema com certeza terá modificações. Agora, suponha uma situação ainda mais extrema de escopo e documentação de projeto. Você tem noção de quantas linhas de código há num Boeing 777? Um Boeing 777 tem mais de 4 milhões de linhas de código (ou software) rodando em cerca de 1.300 processadores. Agora, você imagina desenvolver tudo isso sem qualquer estimativa de custo e esforço (leia-se planejamento) ou documentação de projeto? Nem pensar. Tal esforço poderia ser comparado à construção de um prédio de 100 andares e estimativas de tamanho, esforço e custo do projeto são atividades prementes. Delimitar o escopo de projeto oferece suporte a uma estimativa aproximada dos custos de projeto como custos de gerenciamento, desenvolvimento e de outros recursos. Os custos são inicialmente estimados quando o escopo é delimitado e é, progressivamente, refinado durante o ciclo de vida do software. Mas, estimar tamanho de um projeto e respectivos esforços e custo não é tarefa fácil. Você poderia até questionar e/ou especular se as cartas do tarô deveriam ser utilizadas para estimativas? 2

Como para qualquer outro projeto, é preciso estar preparado. O que isso significa? É essencial conhecer a (chamada) fronteira do sistema a ser desenvolvido ou, em outras palavras, delimitar o escopo do projeto, Isso visa evitar falhas e insucessos que podem ser causados por entendimento incompleto do projeto a ser desenvolvido, resultando em escopo mal definido. Uma consequência direta é subestimativa (ou estimativa errada) do tamanho do projeto (de software). E, subestimativa de tamanho implica em estimativas erradas esforço, tempo e custo. Estimativas equivocadas constituem causas de atrasos no cronograma, estouro no orçamento e insucessos de projetos. Vale salientar que tamanho do projeto (de software) diretamente impacta na execução de cronograma e orçamento. Para minimizar as chances de erro nas estimativas, estas levam em consideração história de outros projetos, experiência de especialistas, bem como pode fazer uso de métodos e modelos de estimativas de projeto. Estimar o tamanho do projeto (de software) é essencial. Mas, para isso, você deve reconhecer o problema. Isso requer entender as necessidades do cliente para saber como e onde você e sua equipe podem ajudar na solução do problema. Sem o entendimento (completo) do problema a ser tratado e um planejamento em mãos, você (gerente e líder) e sua equipe não saberão onde querem e precisam chegar. Uma possível conseqüência é deparar-se com a inserção de erros logo cedo no desenvolvimento do projeto, os quais poderão vir, possivelmente, apenas bem mais tarde, a serem descobertos. Isto geralmente acontece quando não há 3

qualquer preocupação em entender o que o cliente deseja nem com o gerenciamento do projeto. Essas, dentre outras, são razões pelas quais muitos projetos se transformam em casos de insucesso. Para lidar com essa necessidade, três passos são recomendados, e o primeiro deles (saber) ouvir o cliente e (re)conhecer o problema (a ser resolvido). É preciso elicitar e compreender os requisitos do cliente, buscando respostas para questões como, por exemplo: Quais as funcionalidades desejadas e níveis de prioridade? Há restrições técnicas, de prazo ou outras? Quais são? Quais as políticas e/ou procedimentos da organização contratante? Qual o perfil dos usuários do sistema (de software) a ser desenvolvido? Essas informações juntamente com história e dados de projetos anteriores auxiliarão no processo de estimativa de tamanho (do projeto), como ilustrado na Figura 1. História/dados de projetos Ouvir cliente (Requisitos) Estimativa Estimativa de tamanho Recursos de projeto Restrições de projeto Estimativa de esforço Estimativa de custo Elaboração de cronograma Figura 1 Etapas da estimativa de projeto. É importante observar as estimativas de tamanho de projeto (de software) depende de cada situação. E, por conta desse fato, há outra etapa que deve ser levada em consideração, pois é questão central (à estimativa) e antecede a escolha do método. Trata-se da escolha da estratégia a ser empregada para fazer estimativas. Empresas de grande porte que trabalham com equipes grandes, normalmente, fazem uso de ferramentas de estimativas de software. Por outro lado, em empresas com equipes menores (i.e. que não excede a 100 pessoas), bem como em grandes empresas com projetos menores, tem sido feito uso de estratégias manuais onde o grau de precisão das estimativas não é considerado elevado. Independente da estratégia escolhida, é 4

imprescindível ao profissional obter estimativas do tamanho projeto (do software), etapas e atividades (do projeto), sendo esta última possibilitada com a WBS (Working Breakdown Structure) ou EAP (Estrutura Analítica de Projeto). Para estimativa de tamanho de projeto (de software), pode-se fazer a estimativa por: Analogia dados, experiência e todo histórico de projetos anteriores é usado; Features (funcionalidades) sistema é dividido em subsistemas e esses em componentes menores com objetivo de calcular o tamanho de cada componente. Cabe destacar que premissas de projeto podem também existir e deverão ser consideradas na estimativa de tamanho que antecede a estimativa de esforço. Aqui, na estimativa de tamanho a preocupação recai sobre o escopo do projeto e de, no primeiro momento, identificar as principais atividades, tarefas que irão compor o projeto. No exemplo ilustrado na Figura 2, tem-se um projeto genérico com quantitativo de 600HH (homens-hora), o qual é subdividida em partes menores que permite estimativa com maior precisão. Figura 2 Exemplo de WBS. Note que obter atividades com quantitativo de HH menor provê suporte tanto a estimativa mais precisa quanto melhor gerenciamento, com planejamento e acompanhamento mais efetivo. Também, as atividades identificadas nesse trabalho preliminar de delimitação de escopo quando se busca identificar o conjunto das atividades e tarefas a serem executadas no projeto irão servir de base para elaboração do cronograma como destacado na Figura 1. Entretanto, especificamente, para um projeto de software, vale lembra que software requer processo. Software é um produto (artefato) complexo, por natureza, exigindo atividades e processo bem definidos, além de execução 5

disciplinada do projeto. Adicionalmente, software não é produzido como acontece com os carros, geladeiras e outros equipamentos. Diferentemente, software é desenvolvido. Software requer um processo de desenvolvimento e não um processo de fabricação. Nesse sentido, a estimativa de custo de software que depende da estimativa de tamanho e de esforço requer ainda a delimitação do escopo, restrições financeiras, fatores de risco (de projeto), e processo de desenvolvimento de software usado. Na estimativa de custo, um conjunto de componente de custos de projeto compreende: (Estimativa de) Esforço (i.e. quantitativo de HH do projeto) Infra-estrutura necessária (como, por exemplo, hardware e software necessários e/ou taxa de atualização de equipamentos) Treinamento Viagens Outras despesas (da empresa) Observe que a estimativa de custos é impactada primordialmente pelo esforço e tamanho, portanto, para que essas estimativas sejam mais precisas, é de suma importância ter o escopo delimitado. Agora, para tratar do escopo de projeto adequadamente, ele deve ser considerado sob três perspectivas, i.e. escopo funcional, técnico e de atividades, temática a ser abordada em artigo futuro. 6