vendido para diversas empresas) e de melhor qualidade.Atualmente, as fabricas de software sao realidades e se tornaram muito mais complexas do que poderiamos imaginar. Alem de possuirem as funcoes de desenvolvimento que existiam nos NPDs, somaram a si funcoes de negocio e administrativas, algumas ate possuindo departamentos especializados em pesquisa (ver Figura 2.4). Trabalham, muitas vezes, dispersas em areas geograficas diferentes e sub-contratam servicos. Sao impulsionadas e avaliadas pelos mesmos quesitos de qualquer outra industria: qualidade do produto e produtividade.A Figura 2.5 caracteriza algumas diferencas entre a organizacao que produzia software na decada de 1970 e a organizacao que atualmente desenvolve software. E logico que nem todas as organizacoes se encaixam em uma ou outra ponta. Quando se fala, por exemplo, que no ano 2000 as organizacoes estao fora da empresa que necessita do software, nao se esta ditando nenhuma regra absurda, apenas trata-se do mais comumente encontrado e de uma tendencia que e vislumbrada.Figura 2.5: NPDs versus fabricas de softwareA proxima secao apresenta aspectos referentes aos processos utilizados pelas ODSs para produzir software.2.3 OS PROCESSOS DA ODSUm processo pode ser definido como um conjunto de atividades inter-relacionadas que transformam um conjunto de entradas em resultados [ISO12207:95]. Segundo a ISO15504 [ISO15504:1-9:98] processo de software e um conjunto de processos utilizados por uma ODS ou um projeto de software para planejar, gerenciar, executar, monitorar, controlar e melhorar as atividades que estao relacionadas com software.O trabalho de Wang [Wang99] apresenta um framework unificado de um sistema de processo para uma ODS. A Figura 2.6 mostra este modelo, que esta dividido em tres agrupamentos principais: o modelo do processo, o modelo de avaliacao do processo e o modelo de melhoria do processo. O modelo do processo e utilizado para descrever a organizacao, sua categoria, sua hierarquia, o inter-relacionamento e as instancias dos seus processos. O modelo de processo descrito por [Wang1999] identifica tres conjuntos de subsistemas: processo organizacional, processo de desenvolvimento de software e processo de gerenciamento. Os processos organizacionais regulam as atividades que sao geralmente praticadas em uma ODS acima do nivel de projeto. Os processos de desenvolvimento e de gerenciamento sao interativos e, em paralelo, atuam sobre o projeto. O modelo de avaliacao do processo serve para definir procedimentos para avaliar os pontos fortes e fracos dos processos da ODS, alem de identificar os pontos para melhoria. Atraves do modelo de melhoria do processo podem-se definir procedimentos sistematicos para uma efetiva melhoria do desempenho dos processos da ODS, mudando os processos correntes ou adicionando a eles novos processos para correcao ou melhoria de problemas identificados. O processo de melhoria vem a seguir do processo de avaliacao e o relacionamento entre eles forma um ciclo repetitivo ate o processo de a ODS estar otimizado. Exemplo disso e o plan-do-check-act descrito por Campos [Campos1992]. O capitulo 6 detalhara os aspectos referentes a avaliacao e melhoria dos processos de software.Diversos modelos, normas e padroes definem certificacao, avaliacao e melhoria para o processo de software, entre eles, podem-se citar: a ISO9000 [ISO9000-3:1997], CMM [Paulk1993] [Paulk1997], CMMI [CMMI:00], ISO15504 [ISO15504:1-9:98] e BootStrap [Kuvaja1993] [Kuvaja1994]. O capitulo 6 detalhara