defined product line."Os objetivos principais da linha de produtos de software:tirar proveito das caracteristicas comuns e gerenciar a variacao de modo areduzir tempo, esforco, custo e complexidade na criacao e gerenciamento delinha de produto de softwares similares.A variacao presente em alguns dos ativos de software podeser acessada em alguns momentos especiais durante o processo produtivo. Dentreesses momentos destacam-se:Codigo fonte: durante o reuso e configuracao deartefatos fonteDesenvolvimento: durante arquitetura, projeto e codificacao.Instanciacao estatica do codigo: durante amontagem do codigo antes da compilacaoBuild: durante a compilacaoEmpacotamento: durante a montagem de colecoesbinarias e executaveisCliente: durante codificacao personalizada noclienteInstalacao: durante a instalacao do produto desoftwareInicializacao: durante a inicializacao dosistemaTempo de execucao: durante a execucao do sistemaQuanto ao escopo existem duas abordagens de gerenciamento doescopo de linha de produtos de software: proativa e reativa. Na abordagemproativa todos os produtos necessarios no horizonte previsivel sao suportadospela linha de produtos. No caso da abordagem reativa somente os produtosnecessarios imediatamente sao suportados pela linha de produto e novos produtossao incrementalmente adicionados a medida que as necessidades mudam. E comumque artefatos como arquitetura tenham um escopo mais proativo do que artefatoscomo codigo fonte. strategic software reuse: consolidate commonality throughout the product line, strategically manage all product line variation, and aggressively eliminate all duplication of engineering effortQuanto a adocao de linhas de produtos de softwares nasempresas existe diversas abordagem que suportam esse processo. Alguns estudosmostram esforcos que variam de 2 meses a 5 anos. Esse esforco e influenciadoprincipalmente pela origem dos ativos de software. A fonte dos ativos desoftware que mais tarde comporao a linha de produto inclui: artefatosreutilizaveis de uma biblioteca existente, artefatos encapsulados em produtosexistentes, ou ainda artefatos desenvolvidos do zero. Enfim, muito tempo podeser ganho se os ativos forem extraidos de produtos existentes, repositoriosexistentes e bibliotecas comerciais. No entanto, existem tecnicas leves que podemajudar a diminuir o esforco da adocao de linhas de produtos de software:Minimizar diferencas entre sistemas unicos elinha de produtoUtilizar uma adocao incremental parainicialmente fazer a transicao de um pequeno subconjunto dos ativos, produtos,subsistemas ou pessoasOferecer ferramentas e tecnologias de apoio a linha de produtosUsar abordagens reativas para adiar odesenvolvimento de produtos e esforco de implantacaoEstruturar producao para minimizar a necessidadede fusoes complexas e custosasAgora que voce tem uma ideia do que e Linha de Produtos de Software resposta a pergunta de pesquisa: Como produzir uma Linha de Produtos de Software usando uma abordagem agil?O autoatendimento pode, obviamente, tirar grande vantagem da abordagem usando Linha de Produtos de Softwares. Imagine que uma aplicacao de autoatendimento pode ser ela propria uma Linha de Produto e cada servico que ela disponibiliza e um produto do conjunto. Cada um desses servicos ou produtos podem possuir pontos de personalizacao ou configuracao que permitem mudar o comportamento do produto de modo a, por exemplo, oferecer um servico de saque com fluxo para cartao de credito e outro para debito. A propria linha de produto com opcoes de configuracao para execucao em equipamentos dotados de telas touch screen ou sem esse recurso e assim por diante. O fato e que essa abordagem permite uma seria de combinacoes que ao final resultarao em