Produtos e Artefatos de Software
26 de fevereiro de 2009
O termo software pode ser interpretado como a coleção de produtos criados durante a execução de um processo de desenvolvimento de software.
Opa! Aqui vou fazer uma separação de significados… Como vimos no post “O que é Produto?” o termo produto pode significar muitas coisas. Na definição acima, a palavra produto significa resultado.
Na Cad tenho feito junto a alguns colegas a separação entre os termos de produto e de artefato de software. Por isso, prefiro reescrever a definição anterior da seguinte forma: software é a coleção de artefatos criados durante a execução de um processo de desenvolvimento de software.
E complementando, os artefatos de software podem ou não fazer parte de um produto da Cadsoft. Porém, esse produto de software é muito mais do que os artefatos que o compõem. Sua criação envolve processos que vão além daqueles de desenvolvimento de software. Por exemplo, analisar as necessidades do mercado de educação para conceber um novo produto de software envolve a identificação de novas oportunidades e esta tarefa pertence ao domínio de marketing, e não ao de sistemas de informação. Além disso, garantir que exista sustentabilidade financeira para um determinado produto é uma tarefa de economia, e não de tecnologia.
Nesse contexto, o Collegium e o Universus são Produtos da Cad que representam a história da inteligência coletiva de nossos especialistas e clientes amalgamados em um produto tecnológico.
Esses produtos são compostos pelos artefatos de software que conhecemos muito bem, como a Ficha Acadêmica e a Geração de Boletos; mas também fazem parte deles os contratos que fechamos com os nossos clientes e os serviços que a eles são agregados como Suporte ao Uso (SUSO) e Garantia de Produto (GPRO). De fato, o produto tem amplas fronteiras, sendo sua percepção feita em quatro camadas… Só que esse assunto fica pra outro post.
Quando entregamos o nosso trabalho aos clientes, muitas vezes eles recebem não apenas produtos, mas também artefatos de software. Contudo, se não dizermos a distinção entre estes conceitos poderemos entrar em conflitos com relação às expectativas do que estamos entregando.
Se produzirmos uma nova funcionalidade por meio do Serviço de Evolução de Produto (EPROD) para o Universus e a incorporarmos à versão 7.8, estamos entregando Produto. Esta funcionalidade receberá suporte ao uso, manutenção corretiva, perfectiva e evolução. A funcionalidade será documentada, revisada e mantida dentro dos termos do contrato de trabalho com o cliente.
O cliente, por vezes, precisa que avancemos além da fronteira dos nossos produtos para melhor atendê-lo. Suponha que exista uma necessidade de coletar informações executivas compiladas a partir de critérios específicos. A consulta em banco escrita e entregue aos técnicos deste cliente é um artefato criado pontualmente, e que terá garantias conforme o serviço de intervenção de dados (ITDA) e no prazo de vida do projeto.
É neste ponto que nós Especialistas precisamos ter o discernimento entre produto e artefato. O artefato entregue para realizar a consulta em banco tem o seu uso limitado àquela necessidade pontual. Contudo, o cliente por vezes passa a utilizar a consulta como parte de suas tarefas diárias, ignorando os riscos envolvidos. Na eventualidade de uma mudança estrutural de base, essa consulta deixará de funcionar e seu dia-a-dia ficará comprometido.
Quando um artefato deixa de funcionar, e caso o cliente julgue que necessita esse recurso, será necessária a contratação de um novo projeto para recriá-lo ou até mesmo incorporá-lo definitivamente ao produto.
As integrações, em particular, são o caso mais clássico de artefatos entregues aos clientes que habitualmente são confundidos com produto. Quando uma integração é feita, os artefatos que a compõem não são parte do Collegium ou Universus. O cliente não tem o seu valor de manutenção estendido para cobrir custos de produto, e portanto não dispõe de maiores garantias ou serviços agregados.
Os plugs que desenvolvemos também são artefatos, com a diferença de que retemos na Cadsoft os códigos-fonte para continuidade nas prestações de serviços adicionais como EPROD.
E você? Como vê a diferença entre Produto e Artefato?
Texto de Rodrigo Cabral