terça-feira, 26 de maio de 2015

Fábrica de Software?


Olá pessoal, inicio esta discussão, fruto de um debate iniciado no âmbito da disciplina de Engenharia de Software, acerca da contratação de serviços de desenvolvimento e manutenção de sistemas, na modalidade denominada Fábrica de Software. Antes de tratar especificamente desse assunto, é importante delinear o paradigma atual de contratação de Soluções de Tecnologia da Informação no Governo Federal.

Os órgãos da Administração Pública Federal (APF) têm adotado a prática da execução indireta dos serviços que dão suporte às suas áreas finalísticas, conhecida comumente como “terceirização de serviços”, inserindo-se entre estes os serviços de Tecnologia da Informação (TI).

Este fato deve-se, principalmente, às disposições estabelecidas no Decreto-Lei 200/1967, que traz, no art. 10, §7º, a diretriz para que a APF se desobrigue da realização de tarefas executivas (execução de tarefas operacionais), recorrendo, sempre que possível, à execução indireta.

De acordo com o Decreto, os principais objetivos da a adoção da execução indireta são: permitir que a Administração Pública Federal execute melhor as atividades de gestão e governança; e impedir o crescimento desmesurado da máquina administrativa, em função da incorporação de tarefas de caráter operacional.

Neste aspecto, é importante lembrar que os serviços de TI são normatizados no âmbito do SISP. O SISP - Sistema de Administração dos Recursos de Tecnologia da Informação – tem o objetivo de organizar a operação, controle, supervisão e coordenação dos recursos de informação e informática da administração direta, autárquica e fundacional do Poder Executivo Federal.

O SISP instituiu a Instrução Normativa-SLTI/MP nº 4 de 2014 que dispõe sobre o processo de contratação de Soluções de Tecnologia da Informação, que é o atual paradigma de contratação de Serviços de TI, abrangendo inclusive os serviços de desenvolvimento e manutenção de sistemas, na modalidade denominada Fábrica de Software.

Depois dessa digressão, retomamos nosso foco, discorrer sobre os serviços de desenvolvimento e manutenção de sistemas, na modalidade denominada Fábrica de Software. Mais especificamente, o que eu gostaria de discutir é sobre um conceito inerente à denominação "Fábrica de Software".

Esta denominação embute uma analogia dos serviços de desenvolvimento de sistemas a uma fábrica ou estabelecimento fabril, que nos moldes e metodologias se afiguraria ao paradigma do Fordismo. Essa apropriação é resultado da proximidade e influência da área de conhecimento da engenharia sobre a Tecnologia da Informação.

De fato, podemos de relance observar esta influência, nas terminologias, no métodos e nas metodologias, nas áreas de estudo, entre outros. Não que constitua algum demérito estas heranças, desde que guardadas as devidas proporções. Esta premissa se aplica perfeitamente ao falarmos de Fábricas de Software, que tem sido considerada e gerenciada como uma atividade fabril, em seu sentido original.

Esta conclusão não se fundamenta apenas no aspecto semântico. As Fábrica de Software reproduzem praticamente todos os aspectos de um modelo fordista: racionalismo; padronização, linhas de produção lineares; produção em massa; foco em processos e divisão do trabalho hierárquica.

Certamente estes aspectos contribuem para a eficiência das atividades desenvolvidas nas Fábricas de Software, desenvolvimento de sistemas que contribuam para o alcance de determinados objetivos. Até este ponto nada a reparar, o que tem sido discutido amplamente, e foi o cerne da provocação que incentivou estas considerações, é a adequação deste modelo à natureza do produto pretendido: software ou sistema de informação.

Obviamente partimos da premissa de que existem certos produtos que são mais adequados a um processo industrial do que outros. Assim como existem certos produtos cujas características exigem por si só um processo mais artesanal. Trazendo esta análise aos produtos software ou sistema de informação, podemos fazer a seguinte analogia: software está para um veículo automotor, assim como sistemas estariam para veículos espaciais.

Um software normalmente atende a resolução de um problema específico, pode possuir regras e características padronizadas, os requisitos e as especificações são facilmente identificadas, dentre outras características. Partindo destes pressupostos, o que se verifica de fato é que o processo de "construção" do software é mais previsível. Desse modo, são mais suscetíveis ao processo do que à atividade humana, no sentido de que se o processo for repetível as variações nos produtos são menos relevantes.

Por outro lado, os sistemas são produtos predominantemente intelectuais, portanto muito mais suscetíveis às variabilidades da ação humana. Tomadas determinadas entradas (requisitos, especificações, etc), a mera utilização de uma receita (processo) não garante que será gerado o mesmo produto. Dessa forma, o "produto" sistema depende muito mais da atividade humana do que do processo, poderíamos caracterizá-los como mais adequado a um processo artesanal. 

Estas constatações não são recentes, a tempos consideráveis a literatura acadêmica de engenharia de software relata observações similares. Isto nos leva a indagar, quais circunstâncias levam os contratantes ou usuários dos serviços de Fábrica de Software a não considerarem tais características. O que tem sido observado no âmbito da Administração Pública Federal é uma predominância da utilização de Fábricas de Software de modo indistinto, softwares e sistemas são demandados à empresas contratadas, sem considerar suas complexidades, características, ou peculiaridades que poderiam levar à utilização de uma "fabricação" mais fabril ou mais artesanal.

Estes aspectos abordados são relevantes não apenas sob a ótica conceitual, é sabido que a eficiência tende a acarretar economicidade. Dessa forma, a não diferenciação acaba gerando ineficiência e ineficácia, segundo as estatísticas do ISBSG, International Software Benchmarking Standards Group, são  comuns os projetos de desenvolvimento em regime de fábrica que acabam fracassando.

O propósito destas considerações foi discorrer brevemente sobre a adequação do modelo de Fábrica de Software ao desenvolvimento de softwares e sistemas de informação, e fomentar discussões sobre melhorias cabíveis para reduzir as ineficiências observáveis no paradigma atual. Espero ter trazido contribuições para o debate, e em breve serão trazidas outras considerações relevantes sobre o assunto.


Celson Carlos Martins Júnior é aluno do Mestrado Profissional em Computação Aplicada da Universidade de Brasília, Servidor Público do Ministério do Planejamento, e atua na SLTI em contratações  de Tecnologia da Informação.

Nenhum comentário:

Postar um comentário