Fábrica de Software

Atualmente com o crescente aumento do mercado consumidor de TI, torna-se necessário um maior profissinalismo envolvendo os processos de criação de software por empresas desenvolvedoras, tais como: custo e qualidade.

Com isso nos deparamos cada vez mais frequentemente com o termo Fábrica de Software(Software Factory). Este termo vem evoluíndo deste a década de 60, onde foi empregado pela primeira vez pela japonesa Hitach, mas acabou ganhando força no início dos anos 90 com o surgimento das linguagens de orientação a objeto. Juntamente com a OO(Orientação a Objetos) pode-se então ter uma maior reutilização de código e componentes, algo imprescindível para uma Fábrica de Software.

Como na área de informática é difícil uma clara definição dos processos empregados para o desenvolvimento de software, o termo Fábrica de Software, ganha basicamente três tipos de definições de acordo com a metodologia da empresa envolvida:
  • apenas a codificação;
  • apenas o modelo físico;
  • o projeto como um todo(lógico, físico, implementação, teste, implantação).
Os processos envolvidos em um projeto deve ser claramente definidos de acordo com o PMBOK(Project Management Body of Knowledge). Em software a iniciativa de definição e padronização dos processos surgiu através do SEI(Software Enginnering Institute), e também, com a brasileira MPS-BR(Melhoria dos processos de Software), ambas baseadas no PMBOK.

Embora tenha-se citado três definições de Fábrica de Software, a que melhor abrange o conceito de fábrica é a terceira, um projeto como um todo. Onde podemos subdividi-la em dois tipos de projeto: contínuo e discontínuo.
  • Contínuo: quando há necessidade de maior demanda por parte da empresa contrante, a fábrica de software fica em contato de forma contínua com o cliente aprendendo seus processos para uma maior produtividade.
  • Descontínuo: pode-se trabalhar uma única vez com a contratante e não ter mais envolvimento com seu negócio após o término do projeto.
É altamente recomendado que os profissionais que trabalharão em cada processo empregado por uma Fábrica de Software tenha suas atividades bem definidas e coordenada por um Gerente de Projeto. Ficará a cargo do Gerente de Projeto realizar uma interface entre a contratante e a contratada, definindo prazos, planejamento, monitoramento e controle. Basicamente, em uma Fábrica de Software têm-se a seguinte estrutura funcional:
  • Gerente de Negócios: prospecção do mercado e venda dos serviços;
  • Gerente de Projeto: gerenciamento dos riscos das atividades em desenvolvimento, dimensionamento e alocação de recursos, interação com o cliente e o gerente de negócios;
  • Analista de Sistemas: Levantamento de requisitos, análise, definição da arquitetura e documentação do sistema a ser desenvolvido;
  • Analista de Qualidade: revisão dos artefatos gerados, controle de mudanças, definição e validação da qualidade e precisão do processo utilizado;
  • Engenheiro de Software: Implementação do sistema conforme as especificações e documentação, seguindo o processo de desenvolvimento definido, desenvolvimento, validação e execução de testes de software visando assegurar a qualidade e precisão do software produzido;
  • Líder de Equipe: Coordenação e atribuição de tarefas dentro de um grupo específico, relatando periodicamente ao gerente de projetos o andamento das atividades.
Abaixo segue um esquema da empregabilidade dos processos envolvidos em uma Fábrica de Software:

Fig. 1

Vale lembrar que a maioria das empresas que se denominam Fábrica de Software precisam melhorar, consideravelmente, sua metodologia para que realmente possa se enquadrar neste termo.

José Mauro da Silva Sandy

Leia Também

4 comentários:

  Lopes

16 de novembro de 2008 às 22:59

Este texto mostra como é complicado fazer um software do jeito certo.

Tem gente que senta na frente do computador e começa a programar. Fazem um programa que funciona, mas sem documentação, sem extensibilidade, de difícil correção de erros...

Funciona? Sim, mas basta dar um problema que aparecem 500 e aí já era o programa e o barato sai caro e aí falam que o "cara da informática" é enrolado, mas não levam em consideração que esse cara muitas vezes não fez um curso sequer de computação e é só mais um fuçador...

Sem contar que agora isso tem a ver com a sua realidade, né?!

Abraço!

  José Mauro

17 de novembro de 2008 às 08:19

Com certeza desenvolver um bom programa não é uma das coisas mais faceis que se pode ter.

O problema das profissões vinculadas a informática é que nada impede que uma pessoa sem nenhum curso possa desempenhar um bom papel na área, fazendo com que uma pessoa que tenha investindo em sua formação(geralmente tem um conhecimento mais profundo sobre as práticas corretas) perca espaço por cobrar o preço justo por sua mão-de-obra.

Qualquer um com cara de pau o bastante pode ter um programa rodando em uma loja qualquer, resta saber se este software tem quealidade.

No final das contas o que temos é nosso nome, ou seja, para fazer uma coisa comercial ou faz direito ou não se presta ao ridículo.

É nos vamos fazer do jeito certo....

Abraço.

  José Mauro

17 de novembro de 2008 às 08:26

COMPLEMENTO: PRECISAMOS DE UM ORGÃO QUE REGULAMENTE A PROFISSÃO!!!!!

  Lopes

17 de novembro de 2008 às 08:38

É como eu já te disse: não existe farmácia sem farmacêutico e nem hospital sem médico. E além disso, há pisos salariais para eles, de acordo com as horas de serviço.

Sonho com o dia em que, ao usar um software, a empresa tenha que ter um responsável pelo mesmo, com curso médio ou superior, dependendo da complexidade do programa. O dia em que, para ter uma rede de computadores, a empresa tenha que ter um técnico ou analista, de acordo com o número de computadores. O dia em que, para um banco de dados de tamanho X, tenha que ter um dbadmin...

Enfim, um dia que nossa profissão seja realmente reconhecida por todas as empresas que usam sistemas computacionais, para dar valor ao profissional sério e especializado!

:D