sábado, 11 de maio de 2013

Perfil Profissional - III

Perfil do Analista de Requisitos e participação no processo de Engenharia de Software.

Expectativas dos Clientes
  • Automatizar processos, visando o aumento da competitividade no mercado, gerenciando serviços e produtos de forma dinâmica e competitiva.
  • Certeza que os prazos e os custos acordados sejam cumpridos.
  • Liberação de release funcional que viabilize o retorno do investimento - ROI. 

Considerações sobre Engenharia de Requisitos
  • Engenharia de Requisitos
  • Estudos de viabilidade
  • Fontes de informações
  • Prazo para conclusão do estudo de viabilidade
  • Elaboração do relatório
  • Possíveis proposições
  • Elicitação e análise de requisitos
  • Elicitação e Compreensão
  • Modelo genérico de elicitação e análise de requisitos
  • Obtenção dos requisitos
  • Validação de Requisitos
  • Gerenciamento de Requisitos
  • Apoio de ferramentas CASE
  • Matriz de rastreabilidade
  • Suporte ao gerenciamento de requisito
  • Gerenciamento de mudanças de requisitos
  • Resumo Levantamento de requisitos

Formação da Equipe

Analista de Requisitos – Perfil Profissional


Nos próximos posts descreverei todas as fases do processo de elicitação dos requisitos, e o mesmo se dará com os outros perfis na formação da equipe.

Grande Abraço,
Gilberto Ribeiro.

Métrica de Software - III


Os Requisitos e a Contagem de Ponto de Função

Na análise de ponto de função, os requisitos funcionais são a base para o cálculo dos pontos de função e o tamanho funcional de cada software pode ser expresso em ponto de função. Requisitos funcionais são definidos no CPM como um subconjunto dos requisitos do usuário, como requisitos que descrevem o que o software fará, em termos de tarefas e serviços. Eles incluem, mas não estão limitados a:
  • Transferência de dados.
  • Transformação de dados.
  • Armazenamento de dados.
  • Recuperação de dados.

A precisão alcançada com a contagem depende da qualidade e maturidade dos requisitos identificados.

Níveis de maturidade:

  • Proposta de projeto
  • Especificação de necessidade de negócio
  • Documento de visão
  • Modelo de entidade e relacionamento
  • Diagrama de fluxo de dados
  • Diagrama de casos de uso
  • Especificação de caso de uso
  • Protótipo de interface e etc.

Fases do ciclo de vida do software em que é possível realizar uma medição ou estimativa do tamanho do projeto em Ponto de Função.


Fase em um ciclo de vida
Tamanho pode ser aproximado/estimado
Tamanho pode ser medido
Proposta: Usuário expressa necessidade e intenção
Sim
Não
Requisitos: Analista de Requisitos e usuários reveem e acordam quanto à expressão das necessidades e intenção do usuário.
Sim
Sim
Projeto: Desenvolvedores podem incluir elementos para implementação que não são utilizados pela análise de pontos de função.
Sim
Sim
Construção
Sim
Sim
Implantação
Sim
Sim
Manutenção
Sim
Sim
 
Grande Abraço,
Gilberto Ribeiro.

SCRUM - Implantação III

Objeto da Consultoria

A preocupação com a melhoria do modelo de gestão do ciclo de vida do projeto e do processo de desenvolvimento de sistemas foram os fatores motivadores para a proposta de implantação do framework Scrum na Fábrica de Software, visando o amadurecimento dos processos de engenharia de software, simplificando e agilizando as entregas dentro dos prazos, garantindo a qualidade e custo dos projetos.

O estudo da estrutura organizacional é o pré-projeto para a implantação, é o marco zero na consultoria, e dele dependerá todo o processo de implantação.

Conceituando Engenharia de Software

"A Engenharia de Software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe eficientemente em máquinas reais" (Pressman, 2002). O termo Engenharia de Software já sugere a construção em fases, seguindo um processo bem definido, o que também apoia a implantação do framework ágil.

Fases no Processo de Implantação

Toda proposta de mudança em uma organização precisa ter o apoio da alta direção, responsável pelos objetivos estratégicos, futuro e sobrevivência da empresa no mercado. Com a proposta de implantação do framework Scrum não é diferente, pois a mudança no processo afeta a empresa como um todo, ou parte da empresa, dependendo do nível de maturidade e vivência nos processos.

Segundo Mike Cohn em uma mudança de cima para baixo, um líder influente compartilha uma visão do futuro e a empresa o segue na materialização dessa visão. A empresa que tentar fazer a transição para o Scrum sem apoio dos níveis mais altos enfrentará uma resistência que não poderá ser superada a partir dos níveis inferiores. (2011, 27)

A mudança pode ser motivada por diversas razões, como por exemplo:
  • Insatisfação do cliente.
  • Problemas na comunicação no ciclo de vida do projeto.
  • Problemas na colaboração dos envolvidos no projeto.
  • Baixo retorno do investimento em projetos.
  • Equipe de desenvolvimento desmotivada.
  • Necessidade de melhoria da qualidade do produto.
  • Diminuição dos custos de produção.
  • Aumento de produtividade da equipe de desenvolvimento.
  • Diminuição no tempo gasto no termino dos projetos.
  • Diminuição do risco em projetos de desenvolvimento.
Visão do Framework Scrum

Primeiro passo na implantação do framework Scrum, é a realização de uma apresentação/passagem de conhecimento, esclarecendo todas as duvidas da diretoria. Não me refiro às questões técnicas, inerentes ao chão de fábrica, mas a visão gerencial do framework e seus impactos positivos e negativos, com base no modelo organizacional, estudado previamente.

John Kotter, especialista em gerenciamento de mudanças ressalta que “nenhuma pessoa sozinha, até mesmo um CEO de estilo autoritário, consegue desenvolver a visão correta, comunicá-la para uma grande quantidade de pessoas, eliminar todos os obstáculos principais, vencer etapas de curto prazo, liderar e gerenciar dezenas de projetos de mudança e fixar novas abordagens profundamente na cultura da empresa” (1996, 51-52).

Sem o apoio da diretoria que são os grandes responsáveis e os maiores interessados na evolução e continuidade da empresa no mercado, qualquer mudança é utópica.

Tenho identificado muita implantação "teórica" do framework, mas basta implantá-lo teoricamente, é preciso torná-lo um caso de sucesso na empresa contratante.

A visão do framework tem que atender as expectativa do cliente, e sua implantação, a princípio, deve começar com projetos pequenos, porém de relevância considerável para a empresa.

Grande Abraço,
Gilberto Ribeiro.

O Propósito do Guia SCRUM - III

No desenvolvimento ágil o software é construído por partes e para cada parte ou incremento executa-se um ciclo ou iteração, que inclui todas as atividades necessárias para completar as funcionalidades acordadas para o incremento.


O SCRUM consiste em Equipe SCRUM associada aos seus papéis, eventos, artefatos e regras.
  • PAPÉIS - (EQUIPE SCRUM)
  • EVENTOS
  • ARTEFATOS
  • REGRAS

9. Como é composto o time SCRUM?
  • É composto pelo Product Owner, Equipe de Desenvolvimento e Scrum Master.

10. Quais as principais características do Time SCRUM?
  • Auto organizáveis
  • Multifuncionais
Característica auto-organizável – Escolhe a melhor forma de completarem o seu trabalho, sem a necessidade de serem geridos por outras pessoas fora da equipe.

Característica multifuncional – Possuem todas as competências necessárias para completar o trabalho sem depender tecnicamente de terceiros.


11. Qual o perfil da equipe SCRUM?
  • FLEXIBILIDADE
  • CRIATIVIDADE
  • PRODUTIVIDADE

12. Como são realizadas as entregas pelas equipes SCRUM?
  • De forma iterativa e incremental, maximizando as oportunidades de realimentação.

13. Qual a vantagem das entregas incrementais?
  • Garantir que uma visão potencialmente funcional do produto de trabalho esteja sempre disponível.

Grande Abraço,
Gilberto Ribeiro.

Engenharia de Software - III


Objetivos das normas

Estabelecer um idioma internacional, onde todas as empresas falem a mesma língua, no tocante a gestão da qualidade.

…“facilitando a compreensão mútua no comércio nacional e internacional”. (ABNT NBR ISO 9000:2005)
 

Começamos a leitura da norma pelo item generalidades e podemos destacar o seu objetivo:

…“apoiar organizações, de todos os tipos e tamanhos, na implementação e operação de sistemas de gestão da qualidade EFICAZES”.

Nosso primeiro questionamento: Gerir a qualidade ou gerir com qualidade? Será que uma coisa depende da outra?

Neste ponto gostaria de chama a atenção para dois pequenos termos mais com um significado imenso:
  • Eficaz
  • Qualidade
Quanto ao primeiro recorrendo ao dicionário encontramos os seguintes significados:

Eficaz: que efetua o que promete ou o que se espera; que causa o resultado inicialmente pretendido, dicionário Priberam. No Aurélio encontramos como significado, aquele que produz o efeito esperado, que dá resultado.

Para definirmos qualidade recorremos ao processo de formação das normas, buscando os primeiros conceitos, em normas que atualmente já foram substituídas, mas que fundamentaram todo o processo, num clima nostálgico.

Qualidade: segundo antiga norma NBR ISO 8402 de 1993, que tratava da gestão da qualidade e garantia da qualidade, registramos o seguinte:

“Qualidade é a totalidade das características de uma entidade que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas”.
 

Trazendo estes conceitos para o nosso universo, o universo do desenvolvimento de sistemas, da engenharia de software. Na relação comercial com nossos clientes, que nos contrataram em busca de soluções tecnológicas que automatizem seus processos produtivos, de controle, científicos, matemáticos, financeiros, e uma série de outras atividades, que englobam as mais variadas áreas do conhecimento e de negócio, o que eles esperam de nós?

Baseados no significado do termo EFICAZ, poderíamos afirmar que o cliente quando nos contrata, ele espera que os resultados inicialmente pretendidos sejam atingidos, foco nas suas requisições no entendimento do negócio. Com relação ao conceito de qualidade, que disponibilizemos ”a totalidade das características de uma entidade que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas”, superando as suas expectativas.

Chegamos a conclusão que para mantermos uma relação saudável com o cliente de fato precisamos implantar um sistema coerente que apoie os nosso processos interno de produção, apoiados nas normas de qualidade, cada organização segundo as suas características, tirando o máximo proveito da norma:

…“apoiar organizações, de todos os tipos e tamanhos, na implementação e operação de sistemas de gestão da qualidade EFICAZES”.

Quando nos envolvemos em um projeto, em que momento nos lembramos desta definição: 

“Qualidade é a totalidade das características de uma entidade que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas”?.

Olha o Aurélio aí de novo, na definição do termo qualidade: 

Superioridade, excelência em qualquer coisa”…


Vamos conhecer um pouco sobre a família ISO:

A ABNT NBR ISO 9000
Fundamenta o sistema de gestão da qualidade e sua terminologia.

A ABNT NBR ISO 9001 
Ocupa-se com a especificação dos requisitos para um sistema de gestão da qualidade. Traçando um perfil de qualificação para as empresas, onde elas precisam demonstrar a sua capacidade para fornecer produtos de acordo com os requisitos do cliente, o foco é a satisfação do cliente.

A ABNT NBR ISO 9004
Aponta o caminho para as empresas que desejam atingir a eficácia e a eficiência do sistema de gestão da qualidade. Foco no desempenho das empresas e satisfação de todos os envolvidos.

A ABNT NBR ISO 19011
Versa sobre a auditoria de sistemas de gestão da qualidade e ambiental.

A implantação do sistema de gestão da qualidade nos permite dirigir e controlar a organização de maneira transparente e sistemática. Mas é preciso entendê-la como um único organismo, visão holística, esta visão tem que ser clara para quem a administra. E podemos começar com pequenos passos como a melhoria continua, aferindo o desempenho, atendendo as necessidades de todos os envolvidos, ou seja, mapeando os processos. O foco está na disciplina e na gestão da qualidade.

Oito princípios orientam a alta direção na implantação do processo de gestão da qualidade. A norma frisa alta direção, pois existe a necessidade da conscientização para a qualidade da diretoria, quem de fato decide ou não sobre a implantação. Não nos deixemos enganar! Para implantarmos o sistema de gestão da qualidade, é preciso que a alta direção esteja consciente da necessidade. Essa é a maneira mais eficaz.

Os oito princípios de gestão da qualidade são:
  1. Foco no cliente
  2. Liderança
  3. Envolvimento de pessoas
  4. Abordagem de processo
  5. Abordagem sistêmica para a gestão
  6. Melhoria contínua
  7. Abordagem factual para tomada de decisão
  8. Benefícios mútuos nas relações com os fornecedores

Foco no cliente

Já paramos para pensar na grande responsabilidade quando lidamos com os investimentos de terceiros? Quando o cliente nos confia a automação de processos, o desenvolvimento de um produto ou o fornecimento de qualquer bem que agregue valor ao seu negócio. Qual o seu objetivo? Do esforço do investimento o que ele espera? Aumentar o lucro? Reduzir seus custos? Ou a simples automação de tarefas que aumente a sua produtividade? Que por consequência aumenta o seu lucro e reduz os seus custos. Diversas são as possibilidades e cada uma, relacionada com o ramo de atividade da organização. Porém o nosso foco deverá sempre está voltado em atender as necessidades do cliente, agregando valor ao seu negócio.

“Organizações dependem de seus clientes e, portanto, convém que entendam as necessidades atuais e futuras do cliente, os seus requisitos e procurem exceder as suas expectativas”. (ABNT NBR ISO 9000:2005)


Novamente em nosso universo, Pressman, em seu famoso livro Engenharia de Software, 

“Qualidade de software é a conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido”.


Aumentou a nossa responsabilidade…

Podemos também dizer que qualidade é estar em conformidade com especificações, ou seja, quando os produtos possuem as características que estão descritas no projeto, catálogos ou listas de especificações.

Mais um questionamento: Entendemos o que nos foi confiado a desenvolver?

Liderança

É função precípua das lideranças manterem o ambiente interno voltado para os objetivos organizacionais. Amadores cansam o mercado com seus engodos, gerando a falsa impressão que realizaram algo de bom e produtivo para as empresas. O bom líder deve focar:

  • Na unidade de propósito
  • No rumo da organização.
  • Nos objetivos da organização.
Envolvimento das Pessoas

A valorização do quadro funcional: investimento na capacitação, valorizando todos os profissionais que fazem parte da organização é uma prática fundamental para o sucesso nos projetos. Pois elas são a essência da organização, e me refiro a todo o quadro funcional, a todos os níveis hierárquicos. Um funcionário insatisfeito pode gerar prejuízos para a organização. Lembro-me de uso caso contado por um empresário argentino, onde um dos seus funcionários que trabalhava na distribuição das correspondências estava insatisfeito com o seu salário, e teve o pedido de reajuste salarial negado, adotou com procedimento jogar no lixo todas as correspondências referentes a participação em licitação. Resumindo a empresa teve grandes prejuízos, mas felizmente a atitude do funcionário foi descoberta a tempo.

Abordagem de Processo

A visão de processo nos direciona ao sucesso, pois atingimos os resultados esperados com mais eficiência. As atividades e os recursos fazem parte da visão. Todo é processo, tudo tem que estar completamente mapeado, controlado, gerido.

Abordagem sistêmica para gestão.

Os processos inter-relacionados na empresa dever ser identificados, entendidos e gerenciados, contribuindo para realização dos objetivos da organização com eficiência e eficácia.

Melhoria contínua

Se acreditarmos que não precisamos mudar mais nada na organização, alguma coisa está muito errada. O conceito de melhoria continua faz parte do universo da Qualidade, pois esta ligado ao desempenho global da organização, que deve ser medido sistematicamente e só desta forma conseguiremos atingir permanentemente os objetivos da organização.
Abordagem factual para tomada de decisão

A base de conhecimento da organização serve com parâmetro na tomada de decisão, aliamos a análise dos dados e todas as informações disponíveis. Chega de levantar a ponta do dedo e saber para onde o vento sopra.

“Decisões eficazes são baseadas na análise de dados e informações”. (ABNT NBR ISO 9000:2005)
Benefícios mútuos nas relações com os fornecedores


Uma relação comercial só é boa quando as partes envolvidas usufruem dos seus benefícios. Com foco no planejado atingindo os objetivos dos interessados, agregamos valores ao negócio. Existe uma interdependência entre organização e fornecedor, ou seja, um depende do outro para sobreviver no mercado.

Grande Abraço,
Gilberto Ribeiro.