Mostrando postagens com marcador Fábrica de Software. Mostrar todas as postagens
Mostrando postagens com marcador Fábrica de Software. Mostrar todas as postagens

segunda-feira, 24 de junho de 2013

Fábrica de Software - XVII

As técnicas usadas em projetos integrados são:

Uso de especialistas

Quando o projeto envolve novidade para a empresa e pela equipe do projeto, é importante contar com o aconselhamento externo para fins de estimativas de prazo.

Técnicas Delphi

Pode produzir estimativas adequadas na ausência de conhecimento externo. Ela prega uma abordagem de brainstorming, em que cada membro da equipe do projeto fornece sua melhor estimativa a respeito da duração de uma atividade. Os resultados individuais são tabulados e sua frequência é calculada; a média e a dispersão são também calculadas.

Os resultados fora da média são discutidos para saber a razão dessa variação. Então é feita outra rodada de estimativas em função das observações dos indivíduos que estavam fora da média. Os resultados são novamente “plotados” e as variações são discutidas. Parte-se então para a terceira rodada para se chegar a uma estimativa final.

Uma variação dessa técnica é empregar especialistas e confrontar os resultados da equipe do projeto a fim de aprimorar a estimativa.

Técnica dos três pontos

Parte do pressuposto que a duração da atividade é aleatória, mesmo considerando condições exatamente iguais de projeto. Para tanto, reúne-se a equipe do projeto e solicita-se que cada indivíduo faça três estimativas acerca da duração da atividade; uma otimista, outra pessimista e a outra mais provável. A pessimista é dada se tudo correr errado. A mais provável é gerada com base na experiência individual dos membros da equipe.

Esse método emprega a seguinte fórmula para a determinação da duração da atividade:

E (estimativa de duração) = EO + 4EM + EP/6, sendo:

EO = estimativa otimista;
EM = estimativa mais provável;
EP = estimativa pessimista;

Técnica Delphi ampliada

É a combinação da técnica Delphi com a técnica de três pontos. Ao invés de um estimativa, os membros da equipe fazem três estimativas. São feitas médias para as três estimativas que são aplicadas na fórmula anterior.

PERT (Program Evaluation and Review Technique)

Essa técnica foi desenvolvida pela empresa de consultoria Booz-Hallen and Hamilton para a Marinha dos Estado Unidos da América. O método é uma técnica de redes e consiste em um conjunto de processos, técnicas para planejamento, programação e controle de um empreendimento ou operação, ou projeto.

Estimativas de Custos

A estimativa de custo é o processo de desenvolver uma estimativa aproximada dos custos dos recursos necessários para completar o projeto. Para tanto, é necessário quantificar em valores monetários o orçamento de recursos do projeto, assim como definir alternativas de custo se houver restrições orçamentárias colocadas para a equipe do projeto.

A estimativa de custo vai ser usada quando da elaboração do Orçamento de Custo do Projeto, quando é feita a apropriação dos custos estimados a cada uma das atividades requeridas para elaboração de um “pacote de trabalho” (elemento de menor nível de um WBS). A estimativa de custo depende da estimativa de prazo e recurso.

Grande Abraço,
Gilberto Ribeiro.

segunda-feira, 17 de junho de 2013

Fábrica de Software - XVI

Prazos e Recursos

Prazos e recursos são estimativa interligadas e concorrentes no projeto. O uso de recursos influenciam nos nos prazos estabelecidos para as atividade no planejamento do projeto, assim como restrições relacionado a prazos geralmente influenciam na qualidade de recursos do projeto,

Estima PRAZOS implica em obter informações sobre:
  • Escopo
  • Recursos
  • Duração das atividades

As entradas acima servem de insumos para a elaboração do cronograma.

Estimativa de RECURSOS determina:
  • Pessoas
  • Equipamentos
  • Materiais
  • Serviço

A métrica acima é fundamental para o sucesso do projeto.

Como determinar o custo?

Com base no tempo de uso do recurso ou sua quantidade consumida nas atividades do projeto.

Fatores considerados nas estimativas:
  • Envolver a equipe na estimativa projeto, a visão técnica é fundamental.
  • Envolver os profissionais seniores nas estimativas é uma boa prática adotada no mercado.
  • Envolver especialista no negócio, que conheça de fato o domínio do negócio, para aprimorar as estimativas. Caso a empresa não tenha esse profissional, a prática é buscá-lo no mercado.
  • Usar a base de conhecimento da empresa, pois mantém os histórico dos projetos implementados.
  • Evitar comprometer-se com pedidos de estimativas fora da realidade.
  • Procurar não fazer estimativas sem os subsídios da Especificação Técnica da Fábrica.
  • Considerar os riscos pertinentes ao projeto.
  • Aplicar a estratégia definida para o desenvolvimento do projeto.
  • Planejamento de folgas para que a ocorrência de trabalho não atrase o projeto.
  • Definir premissas sobre a qualidade de recursos e fornecedores.
  • Analisar os recursos considerando:
    • pessoas
    • máquinas
    • ferramentas
    • softwares
    • serviços internos
    • serviços externos
    • instalações físicas
    • recursos de comunicação
  • Considerar os fatores de produtividade conhecidos para a realizar as estimativas.
  • Utilizar uma técnica para a estimativa de prazo.
  • Adequar as estimativa de prazo as expectativas do cliente, revisando as atividades, as estratégias de desenvolvimento e ao escopo do projeto, oferecendo propostas alternativas e realistas.
  • A base de conhecimento do seu relacionamento profissional é também de grande valia.

Grande Abraço,
Gilberto Ribeiro.

sexta-feira, 14 de junho de 2013

Fábrica de Software - XV

Definição das Atividades e Precedências

Com base no WBS definimos as atividades requeridas para a geração de cada fase ou produto. Por exemplo, as atividades básicas para elaboração do produto Plano de Capacitação deve ser elaborado e supervisionado pelos recursos seniores da empresa:
  • Preparação do programa de treinamento
  • Validação do programa
  • Desenvolvimento do material de treinamento
  • Validação do material de treinamento
  • Programação do treinamento e sua logística
  • Execução do treinamento
  • Avaliação do treinamento

É necessário o estabelecimento de pontos de controle para a avaliação do progresso do projeto. Geralmente, são atividades de verificação e validação de produtos críticos para o sucesso do projeto. São produtos que estão no caminho crítico do projeto.

Grande Abraço,
Gilberto Ribeiro.

quinta-feira, 13 de junho de 2013

Fábrica de Software - XIV

Planejamento da Implantação

O planejamento da implantação da Fábrica deve seguir alguns passos e gerar um Plano do Projeto. A entrada principal para o planejamento da implementação da Fábrica de Software é constituída por suas especificações técnicas e pela estratégia de desenvolvimento.

O planejamento do projeto deve considerar os seguintes passos:
  1. Definição do WBS do projeto.
  2. Definição das atividades para geração de cada produto previsto para ser entregue pelo projeto (exemplo: instalação dos servidores, procedimento documentado de controle de qualidade etc.).
  3. Definição sobre precedência entre as atividades.
  4. Estimativa de prazos e recursos.
  5. Estimativas de custo.
  6. Elaboração do plano da qualidade.
  7. Elaboração do plano organizacional.
  8. Elaboração do plano de aquisição de recursos.
  9. Elaboração do plano de riscos.
  10. Elaboração do plano de comunicação.
  11. Elaboração do cronograma do projeto.
  12. Elaboração do orçamento de custo do projeto.
  13. Elaboração dos critérios de controle do cronograma, custo e escopo.
  14. Consolidação do Plano do Projeto.


WBS do projeto da Fábrica de Software 

O WBS do projeto define os entregáveis do projeto.



Um projeto de Fábrica de Software geralmente tem os seguintes entregáveis:

  • Instalações Físicas
  • Imobiliário
  • Projeto de Rede
  • Servidores
  • Softwares
  • Cabeamento
  • Dispositivo de Rede
  • Ferramentas do Processo de Construção
  • Processo de Gestão do Projeto
  • Ferramentas do Processo de Gestão do Projeto
  • Processo de Gestão da Operação
  • Ferramentas do Processo de Gestão da Operação
  • Processo de Suporte
  • Ferramenta de Processo de Suporte
  • Processo de Gestão Estratégica
  • Ferramentas de Processo de Gestão estratégica
 
  • Organização Funcional
  • Organização Matricial
  • Organização Projetizada
  • Organização Composta
  • Gestão de Demanda
  • Gestão de Desempenho
  • Gestão do Projeto
  • Gestão Financeira 
 
  • Processos e Ferramentas de Comunicação
  • Processos e Ferramentas de Gestão de Projeto
  • Processos e Ferramentas de Gestão de Operação
  • Processos e Ferramentas de Suporte
  • Processos e Ferramentas de Processos Estratégicos
  • Plano da Garantia da Qualidade
  • Relatórios da Garantia da Qualidade
  • Plano do Projeto
  • Controle do Cronograma
  • Controle do Custo
  • Controle da Qualidade
  • Controle do Escopo

Grande Abraço,
Gilberto Ribeiro.

terça-feira, 4 de junho de 2013

Fábrica de Software - XIII

Modelo de Estratégia de Implantação

A documentação da estratégia que irá guiar o planejamento do projeto pode conter, pela ordem, os seguintes itens:
  1. Estrutura analítica do projeto – WBS – Work Breakdown Structure.
  2. Alternativas de aquisição.
  3. Ciclos de vida selecionados.
  4. Estratégia de liberação de produtos.
  5. Requisitos para o plano da qualidade.
  6. Requisitos para o plano organizacional.
  7. Requisitos para o plano de riscos.
  8. Requisitos para o plano de comunicação.
  9. Critérios para as estimativas.
  10. Estratégia de envolvimento.
  11. Necessidades de recursos.
  12. Plano do planejamento.
  13. Pontos de revisão do planejamento.
  14. Estratégia de homologação.

Algumas sugestões práticas para a implementação de um projeto de Fábrica de Software são:
  1. Selecionar um gerente de projeto com autoridade (formal e informal) e conhecimento dentro da empresa para ser o responsável pelo projeto.
  2. Adotar uma abordagem incremental para a implantação da Fábrica (dificilmente se consegue implantar tudo de uma vez só).
  3. Dar prioridade para:
    1. •    A gestão da operação
    2. •    A gestão de projeto
    3. •    O processo de construção.
  4. Implementar as ferramentas básicas para a automação da Fábrica, principalmente gestão de demanda.
  5. Se for fazer o desenvolvimento interno de ferramentas de apoio, alocar recursos dedicados.
  6. O projeto tem que ter um orçamento específico e deve haver comprometimento da empresa em seguir o planejamento.

Grande Abraço,
Gilberto Ribeiro.

segunda-feira, 3 de junho de 2013

Fábrica de Software - XII


Modelo de Estratégia de Implantação

Considerando os seguintes pontos:
  1. Como iremos estruturar ao deliverables do WBS – Work Breakdown Structure ou EAP - Estrutura Analítica do Projeto?
  2. A estratégia vai ser o desenvolvimento interno de toda a fábrica?
  3. Qual o ciclo de vida a ser adotado para o projeto?
  4. Qual a estratégia para entrega de produto a longo tempo (por partes ou tudo de uma vez?)
  5. Quais os requerimentos do plano de qualidade do projeto?
  6. Quais os requerimentos para estrutura organizacional do projeto?
  7. Quais os requerimentos para o planejamento de recursos?
  8. Quais os requerimentos para o plano de risco?
  9. Quais os requerimentos para o comunicação do projeto?
  10. Quais os requerimentos de envolvimento de pessoas chaves durante o desenvolvimento do planejamento?

As respostas a essas questões vão orientar a equipe responsável pela execução do produto.

Os passos para o desenvolvimento da estratégia do projeto são:

  1. Analisar a especificação da fábrica de software, visando alinhar a estratégia de desenvolvimento do projeto.
  2. Verificar a experiência em projetos com as mesmas características no mercado para obter informações sobre as lições aprendidas.
  3. Definir a estrutura básica do WBS, considerando as frentes de trabalho esperada para o projeto, que mereçam destaque.
  4. Ao definir as frentes de trabalho ou conjunto de deliverables, identificar:
    • O conjunto principal do produto (produto final).
    • Os conjuntos de apoio e secundário que são importantes para a geração do produto final.
  5. Decidir sobre a estratégia de desenvolvimento do produto resultante do projeto, considerando:
    • As alternativa de desenvolvimento interno, integral ou parcial
    • Contratação de terceiros integral ou parcial
    • Aquisição de pacotes
    • Envolvimento de fornecedores
    • Contratação de pessoas que já vivenciaram projetos dessa natureza etc.
  6. Decidir sobre o ciclo de vida a ser adotado para o desenvolvimento do projeto (podemos utilizar um ciclo de vida para cada tipo de deliverables do projeto, considerando as frentes de trabalho definidas pelas estrutura do WBS – Work Breakdown Structure).
  7. Decidir sobre como os produtos vão ser entregues ao longo do tempo, devido às restrições de prazo e custo (a entrega do produto também está associada ao ciclo de vida selecionado para o projeto)
  8. Definir os requisitos do plano da qualidade do projeto, como decidir sobre uso de revisões, ambientes de testes estruturados, papel do Q.A.- Quality Assurance, uso de padrões etc. (esses requisitos servem de guia para o Plano de Qualidade do Projeto);
  9. Definir os requisitos de Plano Organizacional do Projeto em termos de: (esses requisitos servem de guia para a elaboração do Plano Organizacional do Projeto).
    • Uso de “Comitê de Projeto”.
    • Sobre “quem” é imprescindível para participar nesse comitê.
    • Quais formadores de opinião devem ser trabalhados.
    • Qual a qualificação dos recursos humanos requeridas etc.
  10. Definir os requisitos para o Planejamento da Aquisição do Projeto em termos de: (também serve de guia para a elaboração do Plano de Aquisições do Projeto)
    • Tipo e qualificação de recursos
    • Parceiros e fornecedores
    • Tipos de equipamentos etc.
  11. Definir os requisitos para o Plano de Riscos em termos de:
    • Pontos de atenção em função do tipo de projeto.
    • Indicar os riscos prováveis do projeto, conforme conhecimento de práticas do mercado.
  12. Definir os requisitos para o Plano de Comunicação do Projeto, considerando:
    • Os meios usuais de comunicação e relatórios já empregado pela empresa ou em função das características da audiência.
    • Identificar os meios adequados em vista da cultura da empresa.
  13. Definir qual a estratégia básica de envolvimento das pessoas chaves no projeto:
    • Quem da equipe do projeto deve “trabalhar”.
    • Quem da equipe dos stakeholders deve ser envolvido no projeto.
    • Como os stakeholders deverão ser envolvidos durante o planejamento do projeto e nas aprovações e homologações intermediárias, caso seja necessário.
  14. Definir os pontos de revisão dos produtos do planejamento do projeto antes das apresentações para os stakeholders e gestor do projeto.
  15. Definir a estratégia de homologação evolutiva dos produtos do planejamento junto aos stakeholders e gestor do projeto.
  16. Documentar a estratégia de desenvolvimento.
Grande Abraço,
Gilberto Ribeiro.

quarta-feira, 29 de maio de 2013

Fábrica de Software - XI

Como modelar uma Fábrica de Software?

Planejamento - Fase 1

  • Identificação do Modelo Organizacional.
  • Definição do modelo de gestão e nível de maturidade. (CMMI - PMI/SCRUM)

Planejamento - Fase2

  • Levantamento da estrutura onde a Fábrica será implantada.
  • Levantamento da infraestrutura, instalações e equipamentos (estado da arte ou orçamento)

Planejamento - Fase3
  1. Identificar os itens qualificados e ganhadores do pedido.
  2. Determinar os objetivos de desempenho da operação.
    • Determinar a estrutura organizacional.
    • Determinar a infraestrutura operacional.
    • Especificação da Fábrica.
A estratégia define:
  • Como vamos estruturar a WBS dos produtos a serem entregues ao longo do projeto.
  • Qual vai ser o ciclo de vida adotado para o projeto.
  • Qual a melhor sequência das atividades em função das prioridades.
  • Quem devemos envolver desde o início do projeto.
  • Como os formadores de opinião vão ser envolvidos, e assim sucessivamente.

A estratégia depende também da complexidade do projeto, levando em consideração o seu porte e risco. O maior objetivo do planejamento estratégico é a redução da complexidade do projeto.

Grande Abraço,
Gilberto Ribeiro.

segunda-feira, 27 de maio de 2013

Fábrica de Software - X

Fundamentando o Conhecimento

Como estabelecer uma operação de software mais efetiva em termos de custo, agregação de valor ao negócio, qualidade, previsibilidade do atendimento aos serviços de desenvolvimentos e manutenção? Por onde começar o processo de implantação de gestão e de operação na área de TI? (Em especial na área de desenvolvimento de sistemas)

Gestão de Operações


Garante que os processos ocorram de acordo com padrões estabelecido, garantindo aos clientes os produtos e serviços previstos na contratação. Isso envolve planejamento prevendo estratégias para o entendimento dos diferentes domínios de negócio, sua transformação em sistema e aplicação produzindo os resultados esperados.

Operação de Software


Toda operação de software envolve custo, é preciso agregar valor ao negócio do cliente, os requisitos deve atender as necessidade do cliente e adequá-lo ao negócio, envolve também previsibilidade no atendimento aos serviços de desenvolvimentos e manutenção, garantido a continuidade da prestação de serviço.

Uma série de atividades como as listadas abaixo compõe a operação de software:


  • Análise da OS (Ordem de Serviço)
  • Especificação dos Requisitos
  • Desenvolvimento do Projeto
  • Construção do Sistema
  • Planejamento de Testes
  • Teste Unitário
  • Teste de Integração
  • Teste de Sistema
  • Instalação
  • Teste de Aceitação
  • Implantação
  • Ajustes


No modelo fabril as operações acima pertencem a disciplina Construção de Produto de Software, que fazem parte do Sistema de Gestão, podemos citar:
  • Gestão Estratégica
  • Gestão da Operação
  • Gestão do Projeto
  • Construção de Produto de Software


Aprendemos que o maior desafio neste novo cenário é manter a Fábrica de Software de forma regular e consistente ao longo do tempo, gerindo operações de software em larga escala e todas as suas variáveis e elementos que as  fundamentam, e isso só será possível com um processo bem definido.

Uma empresa que pretende trabalhar com o conceito de Fábrica de Software, precisa ter fundamentado as fases clássicas do processo de engenharia de software, como:
  • Planejamento
  • Especificação de Requisitos
  • Projeto de especificação
  • Especificação física
  • Construção (que abrange a programação)
  • Implantação
  • Transição (passagem para produção)


Pontos de atenção na evolução contínua do modelo Fabril:


  • Estabelecer objetivos da manufatura de software.
  • Focar no produto e nos processos - Software de Prateleira e Software Customizados.
  • Coletar os dados sobre o processo existente - Mapeamento dos processos existentes.
  • Estabelecer Sistemas de controle - Modelos de gestão PMI, SCRUM e etc.
  • Ferramentas para apoiar o controle dos projetos. 
  • Estabelecer controle de qualidade e círculos da qualidade.
  • Revisar dos padrões.  


  • Padronizar os métodos para o desenvolvimento - Conceito de "Pronto".
  • Desenvolver em ambiente on-line - ex. GSD - Global Software Development.
  • Implantação de Plano de Capacitação para os recursos, padronizando suas habilidades.
  • Criação de Base do conhecimento - Bibliotecas de código-fonte.
  • Metodologias integradas e ferramentas de desenvolvimento.
  • Ferramentas para geração de código, teste e documentação.
  • Intregrar ferramentas com banco de dados e plataformas de desenvolvimento.
  • Introduzir ferramentas de apoio à reutilização.
  • Introduzir ferramentas de automação e design.
  • Introduzir ferramentas de apoio à análise de requisitos.
  • Integrar ferramentas em plataforma de desenvolvimento.
  • Aumento da capacidade das ferramentas existentes.
  • Transferências de métodos e ferramentas para as subsidiárias.
  • Evolução dos métodos e ferramentas.

Quality Assurance

Importantes recomendações visando a qualidade na codificação, focar na qualidade dos processos de desenvolvimento e programação, ao invés de remover defeito em software através de teste, ou seja, antes de enviar o resultado do desenvolvimento para a equipe de Q.A., certificar se a equipe de desenvolvimento seguiu o prescrito nos processos delineado para a área.


Alguns princípios


  • Eliminar qualquer especificação ou porção de código que não adiciona valores efetivos às funções do software.
  • Eliminar, simplificar e automatizar os processos que possam causar problemas na fase de teste.
  • Testar e aperfeiçoar o processo, em vez do produto.
  • Enfatizar o treinamento e a aplicação disciplinada e consistente de padrões.
  • Promover autonomia às equipes para construir e implantar a arquitetura da Fábrica de Software.
  • Fazer grande uso de componentes reutilizáveis.
Referências


  • CMMI – Capability Maturity Model Integration - principal referência em gestão de processos de software em nível mundial. 
  • RUP – Rational Unified Process
  • Série ISO 
  • PMI – Project Management Institute.
  • SCRUM
  • XP - Extreme Programming

Resumo Código de Ética dos Engenheiros de Software



Os engenheiros de software devem estar convictos a fazer do conjunto da análise, da especificação, do projeto, do desenvolvimento, do teste e da manutenção de software, uma profissão benéfica e respeitada. De acordo com o seu comprometimento com a saúde, segurança, e bem-estar do público, os engenheiros de software devem adotar os oito princípios.

  • Público. Engenheiros de Software devem atuar consistentemente com os interesses públicos.
  • Clientes e empregados. Engenheiros de Software devem atuar de modo a atender os melhores interesses dos seus clientes e empregados, consistentemente com os interesses públicos.
  • Produto. Engenheiros de Software devem assegurar que seus produtos e modificações relacionadas atendam os melhores padrões profissionais possíveis.
  • Julgamento. Engenheiros de Software devem manter a integridade e independência nos seus julgamentos profissionais.
  • Administração. Administradores e líderes de Engenharia de Software devem aderir e promover uma abordagem ética ao gerenciamento do desenvolvimento e manutenção de software.
  • Profissão. Engenheiros de Software devem desenvolver a integridade e reputação da profissão consistentemente com os interesses do público.
  • Companherismo. Engenheiros de Software devem ser justos e dispostos a auxiliar seus colegas.
  • Identidade. Engenheiros de Software devem participar do aprendizado de suas vidas valorizando a prática da sua profissão e devem promover uma abordagem ética à prática da profissão.”

Grande Abraço,
Gilberto Ribeiro.

sexta-feira, 24 de maio de 2013

Fábrica de Software - IX

A Fábrica de Software de Evans

Outro conceito que enriquece nosso estudo é o da Fábrica de Software de Evans, que por sua vez a denomina, Ambiente de Engenharia de Software de 4ª Geração.

Evans propõe nesse modelo que o ambiente de software enxergue o processo de engenharia como uma linha de montagem. Essa linha e montagem tem como objetivo o ciclo de vida do desenvolvimento (o processo produtivos), que interage com processos de garantia da qualidade do produto, suporte automatizado para o desenvolvimento e gestão do ambiente e com os processos de gestão propriamente ditos.



As características básicas desta fábrica são:
  • O processo é padronizado, ou seja:
    • Documentado
    • Praticado
    • Medido
    • E as pessoas são treinadas para operá-lo.
  • A capacidade de atendimento é planejada juntamente com o cliente, considerando um período mínimo de um ano.
  • A plataforma de desenvolvimento é totalmente automatizada.
  • Há uma sistemática de Planejamento e Controle de Produção, com controle rigoroso da alocação dos recursos.
  • Flexibilidade de ambiente.
  • Recursos humanos são flexíveis, à medida que cada programador domina pelo menos 3 (três) linguagens de programação.
  • Há controle de qualidade e de metas, inclusive controle estatístico de processos e gráficos de Pareto para identificar a maior incidência de defeitos por tipo.
  • As versões de programas são controladas por suporte automatizado.
  • Os tempos de ciclo de produção da fábrica e o tempo de codificação são padronizados, considerando o tipo de linguagem e a complexidade do programa a ser construído.
  • As metas de desempenho em termos de atendimento dos tempos padrões, produtividade individual dos programadores e nível de defeitos são controladas.
  • Há projetos de melhoria contínua do processo em função dos resultados das metas de desempenho.
  • A Fábrica opera em várias localidades separadas geograficamente, utilizando o mesmo processo padrão.
  • O recebimento de especificações do cliente e o envio do programa codificado são feitos por meio eletrônico, inclusive pela internet.
Grande Abraço,
Gilberto Ribeiro.

quinta-feira, 23 de maio de 2013

Fábrica de Software - VIII



Quais as principais razões para as empresas (de manufatura) utilizarem serviços terceirizados em tecnologia da informação - TI?

Estudos realizados em Terceirização em Informática no Brasil e Terceirização em informática sob a ótica do prestador de serviço, publicado pela revista de Administração de Empresas, LEITE, J. C., São Paulo, foram abordados diversos aspecto, dos quais retirei as principais considerações:
  • Acesso imediato a novos recursos, necessidade para concentrar-se nas atividades fins, busca por eficácia e redução de custo representam os motivadores principais para o processo de terceirização.
  • Excelência e qualidade do parceiro, filosofia de trabalho (processo de operação e serviço), preço, idoneidade, solidez a longo prazo e disponibilidade de serviços diversificados são considerados os itens principais para a tomada de decisão de selecionar os prestadores de serviço.
  • Manutenção de equipamentos, treinamento, programação, desenvolvimento e manutenção de sistemas representam os seguimentos mais terceirizados.
  • Controle de qualidade, custos, prazos, sigilos, segurança e falta de padrão dos terceiros são algumas das principais preocupações em um processo de terceirização.
No estudo relacionado às empresas prestadoras de serviço de tecnologia da informação, com amostragem de 15 empresas líderes de mercado, observou:
  • Há uma polarização na oferta de serviços, em termos de diversificação e focalização.
  • Os principais mecanismos de acompanhamento dos serviços prestados mais comuns são reuniões periódicas com cliente e relatórios da empresa prestadora de serviço.
  • 70% das empresas utilizam metodologias próprias para o controle e qualidade dos serviços.
  • Qualidade dos serviços e capacidade de customização são os dois principais fatores críticos de sucesso da operação de prestação de serviço.
Grande Abraço,
Gilberto Ribeiro.

quarta-feira, 22 de maio de 2013

Fábrica de Software - VII


Como mudar da forma artesanal para uma ciência, conhecida com Engenharia de Software:

  •      Métodos e ferramentas padrão.
  •      Apoio para automatização do desenvolvimento.
  •      Planejamento disciplinado, análise e controle de processos.
  •      Códigos e componentes reutilizáveis.


A evolução para Fabrica de Software:


Fase 1 – Organização Básica e Gerência da Estrutura (meados de 60 e início de 70)

  • Objetivos da manufatura de software são estabelecidos.
  • Foco no produto é determinado.
  • Começa a coleta de dados sobre o processo.

Fase 2 – Customização da Tecnologia e Padronização (início de 70)

  • Objetivos dos sistemas de controle são estabelecidos.
  • Métodos padrões são estabelecidos para o desenvolvimento.
  • Desenvolvimento em ambiente on-line.
  • Treinamento dos recursos para padronizar as habilidades.
  • Bibliotecas de código-fonte são introduzidas.
  • Começam a ser introduzidas metodologias integradas e ferramentas de desenvolvimento.

Fase 3 – Mecanização e suporte ao processo (final dos anos 70)

  • Introdução de ferramentas para apoio ao controle de projetos
  • Introdução de ferramentas para geração de código, teste e documentação.
  • Integração de ferramenta com banco de dados e plataformas de desenvolvimento

Fase 4 – Refinamento do Processo e Extensão

  • Revisão dos padrões.
  • Introdução de novos métodos e ferramentas.
  • Estabelecimento de controle de qualidade e círculos da qualidade.
  • Transferências de métodos e ferramentas para as subsidiárias.

Fase 5 – Automação Flexível

  • Aumento da capacidade das ferramentas existentes.
  • Introdução de ferramentas apoio à reutilização.
  • Introdução de ferramentas de automação e design.
  • Introdução de ferramentas de apoio à análise de requisitos.
  • Integração de ferramentas em plataforma de desenvolvimento.

Importantes recomendações visando a qualidade na codificação, focar na qualidade dos processos de desenvolvimento e programação, ao invés de remover defeito em software através de teste, ou seja, antes de enviar o resultado do desenvolvimento para a equipe de QA, certificar se a equipe de desenvolvimento seguiu o prescrito nos processos delineado para a área.

Alguns princípios como:

  • Eliminar qualquer especificação ou porção de código que não adiciona valores efetivos às funções do software.
  • Eliminar, simplificar e automatizar os processos que possam causar problemas na fase de teste.
  • Testar e aperfeiçoar o processo, em vez do produto.
  • Enfatizar o treinamento e a aplicação disciplinada e consistente de padrões.
  • Promover autonomia às equipes para construir e implantar a arquitetura da Fábrica de Software.
  • Fazer grande uso de componentes reutilizáveis.

Devem ser aplicados no processo de desenvolvimento.

Grande Abraço,
Gilberto Ribeiro.