Você está na página 1de 6

INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

Licenciatura em Eng.ª Informática e de Telecomunicações – LEIT

Ficha de apoio Engenharia de Software

Projectos Académicos – Engenharia de Software 1 de 6 Ag-19


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

Gestão de projectos de desenvolvimento de software

Introdução
O maior objectivo da gestão de projectos de desenvolvimento de software é poder minimizar
custos de desenvolvimento de software assim como o seu tempo de desenvolvimento, mas sem
desconsiderar a garantia de qualidade de software.
Gerir um projecto de desenvolvimento de software consiste na organização do pessoal disponível
para o desenvolvimento tomando em consideração os custos, os recursos, o processo e o produto
a ser desenvolvido.
A maior parte dos projetistas já realiza uma estimativa grosseira no processo anterior a
planificação.
É importante que seja feito um estudo inicial do projecto o que é chamado de antiprojecto; no
documento produzido nesse estudo virá, basicamente o objectivo do projecto, objectivo do
produto, restrições, previsão de duração e outros.
É com base nessas informações que o cliente decidirá se o projecto será iniciado e o trabalho
deixa de ser um estudo, mas sim um projecto.
A probabilidade de que o custo seja surrealístico é grande.
Para poder estabelecer uma estimativa que se aproxime do valor real de desenvolvimento
precisamos de dois elementos importantes: o produto que será desenvolvido e os recursos
necessários.

Produto
A primeira coisa a se fazer é definir o escopo do projecto, que será possível através do
levantamento de requisitos e de seguida, o produto deve ser decomposto em uma abordagem
“dividir para reinar”.
Inicialmente o sistema é decomposto em subsistemas, por sua vez decompostos em módulos, os
módulos em funções e assim sucessivamente.
Desta decomposição é obtida a Estrutura Analítica do Projecto em inglês Work Breakdown
Structure (WBS).
WBS é uma estrutura arborescente que representa o ciclo de vida de um projecto.

Exemplo: ciclo de vida de desenvolvimento de software

Diagrama de Gantt.

Projectos Académicos – Engenharia de Software 2 de 6 Ag-19


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

Recursos necessários
Para o caso dos recursos, os mais difíceis de gerir são os humanos. Em um processo de software,
haverá muitas pessoas envolvidas, executando diferentes papéis tais como: Gestor de projecto,
gestor de qualidade, clientes, usuários e outros.
O número de papéis e suas denominações pode variar dependendo da organização e até do
projecto.
As pessoas trabalhando em um projecto são organizadas em equipas, assim, o conceito de equipa
pode ser visto como um conjunto de pessoas exercendo diferentes tarefas, mas objectivando uma
meta comum.
Esta não é só uma característica do desenvolvimento de software apenas, mas da organização de
pessoas em qualquer actividade.
Então, a definição de equipa dada é válida para uma ampla variedade de situações, tal como uma
equipa de futebol.
Para uma boa formação de equipas devem ser considerados aspectos fundamentais para a
definição de papéis, tais como:
 Liderança;
 Organização;
 Coordenação; entre outros
Além disso, há outros factores que afectam a formação de equipas como:
 Relacionamento interpessoais;
 Tipo de projecto; e
 Criatividade

Tipos de equipas
No que diz respeito a formação de equipas, podemos identificar três tipos de equipas como sendo
os mais comuns:
1. Democrática descentralizada:
Neste tipo de equipas, n indivíduos são alocados a m tarefas diferentes, formando equipas
informais de desenvolvimento com um responsável de cada equipa, sendo que a
coordenação entre as equipas fica a cargo do gestor do projecto.

2. Controlada descentralizada:

Projectos Académicos – Engenharia de Software 3 de 6 Ag-19


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

Neste caso, n indivíduos são organizados em k equipas, cada equipa sendo alocada a uma
ou mais tarefas; a organização de cada equipa é específica a ela mesma, a coordenação
ficando a cargo do gestor do projecto; e

3. Controlada centralizada:
Neste tipo de equipa, n indivíduos são alocados a m diferentes tarefas com pequeno grau
de interação, sendo que a coordenação da equipa fica a cargo do gestor do projecto.

Por fim, na formação de equipas deve-se levar em consideração o tamanho da equipa pois,
quanto maior for o número de membros da equipa, maior é a quantidade de caminhos de
comunicação, o que pode ser um problema uma vez que o número de pessoas que devem se
comunicar pode afectar a qualidade do produto resultante.

A partir dos fundamentos apresentados já é possível estabelecer estimativas.

Estimativas
As estimativas servem para dar uma imagem do trabalho a ser realizado, os recursos necessários,
a duração do projecto e por fim os custos do mesmo.
A pesar de as estimativas serem um pouco de arte e ciência, elas não devem ser conduzidas de
forma desordenada, porque elas é que ditarão o funcionamento das restantes actividades do
projecto.

Para alcançar boas estimativas de prazo, esforço e custos existem algumas técnicas.

Técnicas de estabelecimento de estimativas

1. Postergar as estimativas para o mais tarde no projecto:


Esta opção é atraente mas não é prática, pois, as estimativas devem ser estabelecidas logo
no início do projecto. No entanto deve-se reconhecer que quanto mais tarde for feita a
estimativa, maior é o conhecimento do projecto e menores são as chances de se cometer
erros.

2. Utilização de procedimentos não algorítmicos:


Estimativas na base da opinião de um especialista

Projectos Académicos – Engenharia de Software 4 de 6 Ag-19


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

Estimativas na base do melhor preço


Estimativas na base de projectos similares

3. Uso de procedimentos algorítmicos:


Consiste na utilização de fórmulas matemáticas derivadas de experiências para prever o
esforço como uma função do tamanho (linhas de código ou pontos de função)
É de salientar que as experiências que deram origem a esses métodos derivam de um
conjunto limitado de projectos. E que nestes modelos, os factores culturais da
organização não são tomados em consideração pois os projectos que constituem a base de
dados dos modelos são externos à organização.
O ideal seria utilizar dados históricos da organização, mas na ausência destes, os modelos
empíricos têm se mostrado mais eficientes a pesar das suas limitações.

Estimativas de tamanho:
Entre as formas de se medir o tamanho de um software, a mais simples, directa e altamente
utilizada é a contagem das linhas de código dos programas fontes.
Existem vários estudos que demonstram a alta correlação entre esta métrica e o tempo para
desenvolver um sistema. Entretanto, o uso dessa métrica apresenta algumas desvantagens:
a) Verifica-se que ela é fortemente ligada a linguagem de programação utilizada no
desenvolvimento;
b) Pode ser difícil estimar essa grandeza no início do desenvolvimento, sobretudo quando
não há dados históricos relacionados com a linguagem de programação utilizada no
projecto.

Visando a possibilitar a realização de estimativas de tamanho mais cedo no processo de software,


foram propostas outras métricas. O exemplo mais conhecido é a contagem dos pontos de função
(PF), que busca a medir as funcionalidades de um sistema requisitadas e recebidas pelo usuário,
de forma independente da linguagem de programação utilizada no desenvolvimento. Depois
podem ser convertidos em LOC por ponto de função para cada linguagem de programação.

A título de exemplo segue a tabela representando o número de linhas de código para cada ponto
de função de acordo com a linguagem de programação utilizada para o desenvolvimento:

Linguagem de Programação C C++ Java Sql

Projectos Académicos – Engenharia de Software 5 de 6 Ag-19


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

LOC’s/PF 162 66 63 40

Estimativas de esforço:
Para a realização de estimativas de tempo e custos é fundamental estimar antes o esforço
necessário para completar o projecto ou cada uma das suas actividades.
Estimativas de esforço podem ser obtidas directamente pelo julgamento de um especialista,
tipicamente usando técnicas de decomposição ou a partir de dados de tamanho ou ainda a partir
de dados históricos.
Quando estimativas de tamanho são usados como base, deve-se considerar um factor de
produtividade, indicando quanto em unidade de esforço é necessário para completar um projecto
ou módulo descrito em unidades de tamanho.
Quando uma organização não tem ainda dados suficientes para definir seus próprios factores de
produtividade, é aconselhável que se utilize modelos algorítmicos ou empíricos.
Existem vários modelos que derivam estimativas de esforço a partir de dados de LOC’s (Lines
Of Code) ou PF’s (Pontos de Função). De maneira geral, todos têm a seguinte estrutura:

Projectos Académicos – Engenharia de Software 6 de 6 Ag-19

Você também pode gostar