quarta-feira, 29 de maio de 2013

Gestão de Projetos - XI

Projetos e planejamento estratégico

Os projetos são frequentemente utilizados como meio de atingir o plano estratégico de uma organização. Os projetos são normalmente autorizados como resultado de uma ou mais das seguintes considerações estratégicas:

  • Demanda de mercado (por exemplo, uma companhia automobilística autorizando um projeto para fabricar carros mais econômicos em resposta à escassez de gasolina);
  • Oportunidade/necessidade estratégica de negócios (por exemplo, uma empresa de treinamento autorizando um projeto para criar um novo curso a fim de aumentar a sua receita);
  • Solicitação de cliente (por exemplo, uma companhia de energia elétrica autoriza um projeto de construção de uma nova subestação para atender a um novo parque industrial);
  • Avanço tecnológico (por exemplo, uma empresa de produtos eletrônicos autoriza um novo projeto para desenvolver um laptop mais rápido, mais barato e menor após avanços obtidos em tecnologia para memória e circuitos eletrônicos de computador) e
  • Requisito legal (por exemplo, um fabricante de produtos químicos autoriza um projeto para estabelecer diretrizes para o manuseio de um novo material tóxico).

Os projetos, em programas ou portfólios, são um meio de atingir metas e objetivos organizacionais, geralmente no contexto de um planejamento estratégico. Embora um grupo de projetos em um programa possa ter benefícios distintos, eles também podem contribuir para os benefícios do programa, para os objetivos do portfólio e para o plano estratégico da organização.

As organizações gerenciam portfólios com base em seu plano estratégico, o que pode ditar uma hierarquia para o portfólio, programa ou projetos envolvidos. Um objetivo do gerenciamento de portfólios é maximizar o valor do portfólio através do exame cuidadoso de seus componentes: os projetos e programas integrantes e outros trabalhos relacionados. Os componentes que contribuem menos para os objetivos estratégicos do portfólio podem ser excluídos. Dessa forma, o plano estratégico de uma organização torna-se o principal fator de orientação para investimentos em projetos. Ao mesmo tempo, os projetos fornecem feedback aos programas e portfólios através de relatórios de progresso e solicitações de mudanças que possam impactar outros projetos, programas ou portfólios. As necessidades dos projetos, incluindo as necessidades de recursos, são encaminhadas e comunicadas no nível do portfólio, o qual, por sua vez, determina a orientação para o planejamento organizacional.

Grande Abraço,
Gilberto Ribeiro.

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.

SCRUM - Implantação XI

Colaboração com o cliente, mais que negociação de contrato

Existia aqui uma grande queda de braço entre o time de desenvolvimento e o cliente. Com o objetivo de delinear o escopo na elaboração da proposta o time defendia a ideia de enxugar ao máximo a quantidade de funcionalidades, pois não conhecia os meandros do projeto, os seus riscos e a quantidade de mudanças que poderiam encontrar no tempo de projeto. Do outro lado o cliente forçava para colocar o máximo de funcionalidades, pois uma vez fechado o contrato não haveria mais alteração no escopo, sem a geração de custos para o projeto.

Os softwares inteligentes variam de acordo com o negócio do cliente, e são únicos. Um projeto com domínio de negócio complexo não podem seguir um cronograma rígido e cuja participação do cliente só aconteça no final.

A framework ágil tem como fundamento o envolvimento do cliente em todas as fases do projeto, para nós denominado “coautor do sistema”. Nada mais inteligente, pois é ele quem conhece o domínio do negócio e é o feedback regular e frequente do cliente que nos garantirá o sucesso do projeto.

Em um contrato não conseguimos especificar todas as complexidades dos requisitos, e refletir em um cronograma fixo os meandros, as particularidades que o domínio do negócio nos imputará ao logo do ciclo de vida do sistema, pois não somos os especialistas no negócio. Os contratos devem regular as relações entre cliente e fornecedores, norteando o modo como a equipe de desenvolvimento e o cliente trabalharão juntos, e esse foi o nosso diferencial.

Grande Abraço,
Gilberto Ribeiro.

Engenharia de Software - XI

Portabilidade segundo a Norma ISO 9126

“Capacidade do produto de software de ser transferido de um ambiente para outro”. (NBR ISO/IEC 9126)

A arquitetura emergente no framework Scrum garante este item da Norma ISO.

Adaptabilidade
“Capacidade do produto de software de ser adaptado para diferentes ambientes especificados, sem necessidade de aplicação de outras ações ou meios além daqueles fornecidos para essa finalidade pelo software considerado”. (NBR ISO/IEC 9126)

A arquitetura emergente no framework Scrum garante este item da Norma ISO.

Capacidade para ser instalado

“Capacidade do produto de software para ser instalado em um ambiente especificado”. (NBR ISO/IEC 9126)

A arquitetura emergente no framework Scrum garante este item da Norma ISO.

Coexistência

“Capacidade do produto de software de coexistir com outros produtos de software independentes, em um ambiente comum, compartilhando recursos comuns”. (NBR ISO/IEC 9126)

A arquitetura emergente no framework Scrum garante este item da Norma ISO.

Capacidade para substituir

“Capacidade do produto de software de ser usado em substituição a outro produto de software especificado, com o mesmo propósito e no mesmo ambiente”. (NBR ISO/IEC 9126)

A arquitetura emergente no framework Scrum garante este item da Norma ISO.

Conformidade relacionada à portabilidade

Capacidade do produto de software de estar de acordo com normas ou convenções relacionadas à portabilidade.

Grande Abraço,
Gilberto Ribeiro.

Métrica de Software - XI

Arquivos de Índice

Não possuem funcionalidade de armazenar dados ou informações de controle, portanto não podem ser ALI ou AIE.

Arquivos com Dados Consolidados

Cujo único objetivo fim é agilizar o processamento, não representam requisitos funcionais, mas sim de desempenho, requisito não funcional. Exceção se as informações não forem constituídas a partir dos dados de outras tabelas.

Requisitos não Funcionais – atributos do sistema ou ambiente do sistema.

  • Extensibilidade
  • Usabilidade
  • Confiabilidade
  • Desempenho
  • Escalabilidade
  • Reusabilidade
  • Capacidade de manutenção
  • Reutilização de código
  • Eficiência no desenvolvimento
  • Confiabilidade nos dados apresentados

Arquivos Temporários e de Passagem de Movimento

Quando sua principal intenção é transportar dados, são de fato mensagens. Neste caso o arquivo original não representa um requisito funcional de armazenamento.

Distribuição de Dados

A distribuição de dados de um mesmo grupo lógico de dados em vários arquivos físicos mantidos em localidades diferentes não é um requisito funcional, portanto não pode ser considerados um ALI ou AIE.

Visões

Não são considerados Arquivos Lógicos, pois não representam requisitos funcionais de armazenamento do USUÁRIO. (visão do negócio)

Entidade de Ligação

As entidades com apenas as chaves de duas ou mais outras entidades como atributos, definindo com isso a intersecção entre elas, representam a implementação de um relacionamento em um modelo de dados normalizado, do tipo “N:M”, não podemos classificar o resultado da intersecção como um ALI ou AIE.

Entidades não Mantidas por Processos Elementares

Não são contadas como ALI ou AIE.

Atenção: Processo Elementar é a menor unidade de atividade significativa para o usuário final.



Grande Abraço,
Gilberto Ribeiro.