0% acharam este documento útil (0 voto)
4 visualizações5 páginas

Gestão de Software na CTIS Informática

O documento expressa agradecimentos a colaboradores e discute a crise do software no Brasil, destacando a necessidade de uma abordagem gerencial e de engenharia para seu desenvolvimento. A gestão do software é apresentada como essencial para garantir qualidade e produtividade, com foco em planejamento e execução de projetos. Além disso, o texto aborda a importância de medições e processos estruturados para a evolução e manutenção do software.

Enviado por

alexeus trader
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações5 páginas

Gestão de Software na CTIS Informática

O documento expressa agradecimentos a colaboradores e discute a crise do software no Brasil, destacando a necessidade de uma abordagem gerencial e de engenharia para seu desenvolvimento. A gestão do software é apresentada como essencial para garantir qualidade e produtividade, com foco em planejamento e execução de projetos. Além disso, o texto aborda a importância de medições e processos estruturados para a evolução e manutenção do software.

Enviado por

alexeus trader
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Agradecimentos

Este livro não seria possível sem a colaboração das seguintes pessoas e
organização:

Professor Antônio Loureiro Gil, cuja comunhão de idéias e abordagens validaram


muitos dos conceitos introduzidos no texto;

David Card, Diretor de Métricas e Processos da CSC, cujos ensinamentos


constituiram-se no grande incentivo para o meu auto-aperfeiçoamento;

Jaime Roberto Perez Herrera, Gerente Técnico de Projetos da UNPROJETOS -


SP da CTIS -Informática e Sistemas Ltda, cuja apurada capacidade de análise
crítica e lógica foi decisiva para a organização final do texto;

Murilo Maia Alves, Gerente de Garantia da Qualidade da CTIS - Informática e


Sistemas Ltda, cujo conhecimento linguístico, que não é o meu forte, foi também
decisivo para a arrumação semântica e gramatical do texto;

Tereza Cristina Maia Fernandes, minha esposa, amiga , companheira e


colaboradora, cujo profundo conhecimento matemático, avalizou muitos dos
algoritmos colocados neste texto;

CTIS-Informática e Sistemas Ltda pelo apoio material dado para a elaboração


desta obra.
Capítulo
1
COMPREENDENDO A DIMENSÃO DO
SOFTWARE E DE SUA GESTÃO

Apesar da disciplina de software já contar com pelo menos cinquenta anos de progresso ,
a abordagem para o seu desenvolvimento ainda tem se fundamentado em métodos e
práticas “artesanais” . Ao contrário dos que pregam que o desenvolvimento de software
deve ser encarado como um esforço de engenharia, infelizmente não há correspondência
com a realidade, talvez com raríssimas exceções e principalmente em organizações cuja
finalidade ou negócio é o software.

No Brasil em especial, mesmo com o acesso ao que há de mais atual em termos


de ferramentas de desenvolvimento , vivemos eternamente a “crise do software”, isto é:
baixa qualidade, prazos e orçamentos ultrapassados e métodos gerenciais
igualmente empíricos.

A nosso ver a “crise do software” é uma crise eminentemente gerencial, que


muitas vezes transcende as responsabilidades dos gerentes de software, pois sem o
patrocínio à mudanças, vindo da alta administração da empresa, dificilmente uma
inovação ou implantação de métodos de gestão eficazes, é bem sucedida.

Entretanto com a importância econômica cada vez maior atribuída ao software


pelas organizações, visto ser um dos principais insumos para a competitividade
empresarial e até mesmo de nações, as condições para tratar seu desenvolvimento com
um enfoque de engenharia, começam a ser estabelecidas. Outro aspecto a contribuir
para isto é a rápida disseminação dos conceitos de qualidade, qualidade total e sistemas
da qualidade que se observa pelo mundo , cuja filosofia preconiza o controle dos custos
de não conformidade do processo e do produto.

De acordo com Arthur 1 , na área de software, os custos da má qualidade


podem atingir 50% dos custos totais do desenvolvimento.

Mesmo sem empregar abordagens mais científicas para o desenvolvimento de


software temos tido sucesso?

É óbvio que sim , mesmo com as imperfeições introduzidas e entregues aos


usuários temos tido sucesso, porém com um processo cuja tônica é “apagar incêndios” ,
a um altíssimo custo ( infelizmente não mensurado), considerando todo o ciclo de vida do
software , e a um “timing” inaceitável dada a dinâmica dos negócios e do mercado.

Toda e qualquer disciplina de engenharia é fundamentada em medições. É


impossível imaginar como a Engenharia Civil, Elétrica, a Física, a Química teriam
progredido sem medições. Elas são a base de qualquer ciência.
Há uma famosa frase de Tom de Marco 2 que diz: “You cannot control what
you cannot measure” , ou seja, não gerenciamos nada sem as medições necessárias,
até mesmo projetos de software.

Para começarmos a tratar o software sob uma abordagem de engenharia, é


necessário entendermos as características de sua dimensão e a importância da medição
para a sua gestão.

1.1 - A Dimensão do Software

Todo e qualquer software é desenvolvido, independente de plataforma e


tecnologia, segundo uma sequência básica de grandes atividades, denominada de Ciclo
de Vida.

PROJETO PRODUTO

Análise do Definição Projeto Projeto Construção Teste e Manutenção


Negócio dos Lógico do Físico do do Sistema Implantação /Melhoria/
Requisi- Sistema Sistema do Sistema Descarte

PROCESSO
Figura 1-1

O desenvolvimento do software ocorre no contexto de um projeto , o qual é


executado de acordo com um processo, gerando produtos intermediários e um
produto final ( release do software ) , o qual deve ser mantido a fim de corrigir defeitos
introduzidos durante o projeto, deve ser melhorado com a incorporação de novas
“features” e por fim , deve ser desativado, substituído ou descartado, ao final de sua vida
útil.

Projetos de Software

Um projeto de software é um esforço no sentido de construir um produto , dentro


de determinadas especificações, que atenda necessidades dos usuários (clientes) para
que executem processos operacionais e gerenciais de negócios.

Na verdade, um projeto de software é a junção de Objetivos + Atividades +


Prazos + Recursos Envolvidos + Riscos e Incertezas.

É uma forma de organização do trabalho que apresenta as seguintes


características:

É um esforço finito, com início e fim e a cujo término pretende-se a entrega,


geração ou finalização de um determinado produto, definido a priori;
É um esforço que pode ser subdividido em unidades de trabalho (
fases,etapas, atividades ) que ocorrem em uma sequência pré-
determinada;

O objetivo, a alocação de recursos e o progresso realizado podem ser


monitorados e avaliados.

Podemos considerar como projetos de software:

Desenvolvimento de Software sob medida ou encomenda


Desenvolvimento de Software - Produto
Desenvolvimento de novas releases do software

Não consideramos serviços de manutenção esporádicos como remover defeitos ,


realizar pequenas adaptações e adicionar pequenas funcionalidades, projetos de
software, apesar de que os mesmos também devem ser gerenciados.

Processo de Software

O processo de software é um conjunto de atividades , (numa sequência pré-


determinada ), métodos e práticas que são utilizados na produção e evolução do software.

O processo compreende:

Políticas de desenvolvimento
Procedimentos para o desenvolvimento
Diversas técnicas e padrões para a construção de produtos
Padrões de apresentação de produtos intermediários

O processo define a forma como o projeto é executado e, consequentemente,


gerenciado.

O conjunto de atividades , numa sequência pré-determinada, compõem o que se


denomina a arquitetura do processo de software.

A arquitetura do processo , no jargão mais comumente utilizado na área de


informática, é o que chamamos de metodologia de desenvolvimento.

O processo de software existe em qualquer organização, independente de seu


nível de organização e padronização. Pode ser um processo sem formalização ou
altamente padronizado.

Produto de Software

O processo de software tem como resultado um produto (release) que contém


uma série de atributos derivados dos requisitos e especificações a fim de atender
necessidades implícitas e explícitas dos usuários (clientes). Estes atributos definem as
características do produto em termos de desempenho, confiabilidade, eficiência,
usabilidade, nível de manutenibilidade, nível de portabilidade e nível de reutilização.

O software enquanto produto sofre alterações, caracterizadas como:

Manutenção corretiva, que compreende:

remoção de defeitos introduzidos pelo projeto


remoção de defeitos introduzidos por manutenções adaptativas
remoção de defeitos introduzidos por melhorias

Manutenção adaptativa, que compreende:

a alteração de determinadas funções do software visando adequá-lo


a requisitos regulatórios ou de legislação

Melhorias no software, que compreendem:

introdução de novas “features” no software em função de novos


requisitos dos negócios
introdução de novas “features” no software em função de mudança
de tecnologia

Uma nova release do software é o somatório de manutenções adaptativas e de


melhorias.

O desenvolvimento de uma nova release pode ser realizado sob a filosofia de


projeto, ao passo que manutenções corretivas geralmente não.

1.2 - A Dimensão da Gestão do Software

A gestão do software consiste nas ações necessárias para a gestão do projeto, do


ambiente de desenvolvimento, e do produto (release) visando atingir objetivos
previamente estabelecidos no que concerne a produtividade e qualidade e quanto ao
atendimento das necessidades dos usuários ( clientes ).

Gestão do Projeto

As ações necessárias para a gestão do projeto podem ser categorizadas em:

Planejamento do Projeto, que compreende:

Elaborar o escopo preliminar do produto a ser desenvolvido


Elaborar estimativas de prazos, recursos, esforço, custos e
tamanho do produto
Definir o processo de desenvolvimento a ser adotado pelo projeto
Definir a estrutura de organização do projeto

Você também pode gostar