26/10/12




           Desenvolvimento ágil e pontos de função:
             gerenciando o projeto de maneira ágil e
                                 alinhado ao IFPUG
                                         Vanessa Campos
Programa
 Quem é a Dextra?
 O que fazemos?
 Desenvolvimento ágil
 Pontos de função e IFPUG
 Ligando os pontos
 Nossa experiência com IFPUG e Agile
A Dextra
A Dextra
 Criamos produtos de software sob medida usando metodologias
 ágeis que garantem flexibilidade, velocidade e aderência ao negócio

 Somos reconhecidos no mercado pela complexidade, inovação
 e resultados dos projetos executados

 Fomos eleitos a 13 a melhor empresa de TI & Telecom do Brasil
 para se trabalhar (Great Place to Work Institute 2012)

 Somos mais de 90 profissionais altamente qualificados, formados
 em universidades e centros de pesquisa de primeira linha

 Fundados em 1995, sede no Polo de Tecnologia de Campinas
Soluções de Software
Tecnologia e Parcerias
Consultoria
 Levamos nosso domínio em tecnologias e metodologias para a solução de
 problemas desafiadores e implementação de melhorias efetivas.
 Áreas de atuação:
    –   Cloud Computing
    –   Arquitetura de Sistemas e Ambientes
    –   Performance Tuning
    –   Bancos de dados
    –   Tecnologias Open Source
    –   Implantação/Coaching de Metodologias de Software
           –   Desenvolvimento ágil com Scrum e Kanban
           –   Gerência de Projetos
           –   Gestão de Configuração e Versionamento
           –   Requisitos
           –   Testes
           –   Ferramentas
Capacitação
 Ensinamos o que fazemos em nossos projetos, transferindo conhecimento
 e aprimorando competências em desenvolvimento de software e
 infraestrutura de TI
 Turmas abertas ou In-Company
 Mais de 15 mil alunos treinados
 Áreas de conhecimento:
    –   Linguagens
    –   Desenvolvimento móvel
    –   Banco de dados
    –   Frameworks e Servidores Java EE
    –   Controle de Versões
    –   Linux
    –   Gerência de Projetos e Requisitos
    –   Scrum
    –   E mais...
Desenvolvimento Ágil
  Conhecemos as dificuldades e os desafios envolvidos com criação de software
  Desde 2007 introduzimos uma abordagem pioneira e inovadora, onde:
     –   Adaptação a mudanças é mais importante do que seguir o plano inicial.
     –   Colaboração com o cliente é mais importante do que negociação de contratos.
     –   Indivíduos e interações são mais importantes que processos e ferramentas.
     –   Software funcionando é mais importante do que documentação completa e
            detalhada.



Maior valor de negócio no menor tempo

Aceleração do ROI de projetos
Clientes de Desenvolvimento Ágil
Projeto de Escopo Fechado   Projeto de Escopo Orientado   Contrato de Linha Scrum
Sempre inovando...
 Aplicativos móveis, Multiplataforma, complexos e integrados
 Sistemas otimizados para dispositivos móveis



                      Somos pioneiros em Cloud Computing no Brasil
                      Oferecemos serviços para início ou aceleração da
                      adoção de tecnologias



 Comércio eletrônico no Facebook
 Aplicativos em redes sociais
Casos de Sucesso




 Internet banking

 Operação de Câmbio

 Administração de cartões
Casos de Sucesso




                   Live streaming do
                   canal Premiere
                   Futebol Clube
                   para iPad

                   Assinantes NET
Casos de Sucesso

                                Desenvolvimento da primeira
                                operação brasileira de comércio
                                eletrônico em Facebook
                                (f-commerce)

                                Realização integral da transação
                                de compra dentro da rede social

                                Integração com meios de
                                pagamento

                                Integração com sistemas
                                legados e ERP

         www.likestore.com.br
Casos de Sucesso
                                                                       Governo
 Força Aérea Brasileira
    –   Sistema de vendas de fardamento
    –   Sistema de planejamento nutricional e compras em refeitórios
    –   Sistema de aquisições e armazenagem de materiais
    –   Sistema de Gestão Hospitalar
    –   Sistema de Gestão de Pessoal
 Exército Brasileiro
    –   Sistema de gestão de obras
 Embrapa
    –   Sistema de gestão de ativos genéticos
 Casa da Moeda do Brasil
    –   Sistemas industriais e apoio ao negócio
Casos de sucesso
                 SOFTWARE LIVRE
             ÁGIL COM PONTO DE FUNÇÃO




 CONTRATE ATRAVÉS DE ATA DE REGISTRO DE PREÇO

        www.dextra.com.br/arp
Desenvolvimento Ágil
 Por que desenvolver usando ágil?



       Manifesto ágil??




               Ágil no Brasil e no mundo




                       Ágil na Dextra
Pitfalls de desenvolvimento


Prazos e custos não cumpridos.

                 Qualidade abaixo do combinado com o cliente.

Equipes desmotivadas e não produtivas.

                    Desgaste no relacionamento com o cliente.


    Soluções que não agregam valor ao
           negócio do cliente.
uso de
       funcionalidades
 64%     em sistemas




20%
manifesto ágil
Princípios
• Nossa maior prioridade é satisfazer o cliente, através da entrega
  adiantada e contínua de software de valor.
• Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento.
  Processos ágeis se adequam a mudanças, para que o cliente possa
  tirar vantagens competitivas.
• Entregar software funcionando com frequência, na escala de
  semanas até meses, com preferência aos períodos mais curtos.
• Pessoas relacionadas a negócios e desenvolvedores devem
  trabalhar em conjunto e diariamente, durante todo o curso do
  projeto.
Princípios
• Construir projetos ao redor de indivíduos motivados. Dando a eles o
  ambiente e suporte necessário, e confiar que farão seu trabalho.
• O método mais eficiente e eficaz de transmitir informações para, e
  por dentro de um time de desenvolvimento, é através de uma
  conversa cara a cara.
• Software funcional é a medida primária de progresso.
• Processos ágeis promovem um ambiente sustentável. Os
  patrocinadores, desenvolvedores e usuários, devem ser capazes de
  manter, indefinidamente, passos constantes.
Princípios

• Contínua atenção à excelência técnica e bom design, aumenta a
  agilidade.
• Simplicidade: a arte de maximizar a quantidade de trabalho que não
  precisou ser feito.
• As melhores arquiteturas, requisitos e designs emergem de times
  auto-organizáveis.
• Em intervalos regulares, o time reflete em como ficar mais efetivo e,
  então, se ajustam e otimizam seu comportamento de acordo.
Ágil no Brasil
             http://www.agilcoop.org.br/MetodosAgeisBrasil2011
Ágil no Brasil

  http://www.agilcoop.org.br/MetodosAgeisBrasil2011
Ágil no mundo

      http://www.versionone.com/state_of_agile_development_survey/11/
Como funciona o Desenvolvimento Ágil
Pontos de função & IFPUG
 Métricas de software
 IFPUG vs NESMA
Métricas de software
 Como estimar esforço, custo, etc?
 Como medir o software pronto?
 Como medir o progresso de um projeto de desenvolvimento de software?




                                                            Homem/Hora
                            Ponto SCRUM
 COCOMO


                                                      APF
                   KLOC
Por que Ponto de Função?
 Regras objetivas
 Independência de tecnologia
 Foco nas funcionalidades do sistema
 Padrão internacional de aferição
    –   Grupo internacional de usuários de ponto de função (IFPUG)
    –   Associação de métricas de software da Holanda (NESMA)
    –   Manual de práticas de contagem (CPM)
 Fornece uma forma clara de comparar complexidade entre softwares distintos
 O tamanho funcional é medido pela visão do cliente
IFPUG ou NESMA?
 Ambos oferecem técnicas para identificar Funções de dados (ALI, AIE) e Funções de
 transação (EE, CE, SE)
 IFPUG é metodologia de contagem detalhada, considerando cada dado, campo e
 mensagem transmitida através da fronteira da aplicação
 NESMA é metodologia de contagem para as fases iniciais do projeto
    –   Método muito utilizado para estimativa base pois não entra no nível de detalhe do
          IFPUG
Ligando os pontos



E qual mesmo é a relação
entre Processo Ágil e Análise
de Pontos de Função?
Ligando os pontos
 PROCESSO ÁGIL                       PRODUTIVIDADE
   –   Como conduzir o projeto         –   O processo ágil traz produtividade
                                              crescente para a equipe
   –   Técnicas de execução
                                       –   Oferece sinergia entre fornecedor e
                                              cliente
                                       –   APF alinha a comunicação e
                                             expectativa sobre tamanho

 MÉTRICA DE PONTO DE FUNÇÃO            –   Unindo APF e Processo Ágil temos
                                             uma forma de estimar o
   –   Mede o resultado do projeto           tamanho do projeto e avaliar o
   –   Estima o tamanho funcional            progresso e aumento de
                                             produtividade da equipe,
                                             facilitando gestão de custo e
                                             tempo
Pitfalls
  IFPUG não é resposta para tudo!
     –   Funcionalidades mensuráveis
     –   Atividades não mensuráveis do processo de desenvolvimento
  Ágil não resolve todos os problemas de desenvolvimento!
     –   Envolvimento dos stakeholders em tempo integral
     –   Disponibilidade de equipe do cliente para testar e reportar desvios do plano
     –   Flexibilidade de negociação ao longo do projeto
     –   Escopo fechado vs escopo aberto
Nossa experiência IFPUG + Ágil
 Principais clientes: Órgãos Públicos


 Definição de escopo inicial
    –   Detalhamento incremental



 Estimativa usando NESMA
 Contagem final usando metodologia IFPUG
    –   Roteiro de métricas de software do SISP para itens não mensuráveis
Processo ágil e iterativo
 Pontuação SCRUM para                              APF a cada ciclo de
 acompanhar                                        desenvolvimento
 produtividade da                                  (Sprint) usando IFPUG
 equipe




                                                   Validação de escopo e
 Releases de software                              detalhamento de
 funcional a cada Sprint                           requisitos a cada Sprint


                           Testes de validação
                           incrementais do
                           software pelo cliente
Quebrando mitos
 Escopo aberto vs Escopo Fechado   Mudança de requisitos
                                   Mudanças
                                     EXISTEM e


                                   ACONTECEM!

 Sprint vs Ordem de Serviço        Participação efetiva
Como fazemos funcionar?
 Comunicação constante             Ferramentas de desenvolvimento e
                                   qualidade de software
 Revisão periódica dos métodos e
 técnicas                          Ciclos de teste (TDD, BDD, Selenium)




                                   Integração contínua (Sonar, Jenkins)
                                   Entregas de software frequêntes
                                   Ferramentas de apoio ao projeto
                                   (Trac, Redmine)
Como fazemos funcionar?
 Comunicação constante             Ferramentas de desenvolvimento e
                                   qualidade de software
 Revisão periódica dos métodos e
 técnicas                          Ciclos de teste (TDD, BDD, Selenium)




                                   Integração contínua (Sonar, Jenkins)
                                   Entregas de software frequêntes
                                   Ferramentas de apoio ao projeto
                                   (Trac, Redmine)
26/10/12


    Obrigada!


                   Vanessa Campos
                vanessa@dextra.com.br
                  @vanessaocampos

                www.dextra.com.br
                    @DextraSistemas



                 Campinas 19   3256.6722
                Campo Grande 67   3321.3661

Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ágil e alinhado ao ifpug

  • 1.
    26/10/12 Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ágil e alinhado ao IFPUG Vanessa Campos
  • 2.
    Programa Quem éa Dextra? O que fazemos? Desenvolvimento ágil Pontos de função e IFPUG Ligando os pontos Nossa experiência com IFPUG e Agile
  • 3.
  • 4.
    A Dextra Criamosprodutos de software sob medida usando metodologias ágeis que garantem flexibilidade, velocidade e aderência ao negócio Somos reconhecidos no mercado pela complexidade, inovação e resultados dos projetos executados Fomos eleitos a 13 a melhor empresa de TI & Telecom do Brasil para se trabalhar (Great Place to Work Institute 2012) Somos mais de 90 profissionais altamente qualificados, formados em universidades e centros de pesquisa de primeira linha Fundados em 1995, sede no Polo de Tecnologia de Campinas
  • 5.
  • 6.
  • 7.
    Consultoria Levamos nossodomínio em tecnologias e metodologias para a solução de problemas desafiadores e implementação de melhorias efetivas. Áreas de atuação: – Cloud Computing – Arquitetura de Sistemas e Ambientes – Performance Tuning – Bancos de dados – Tecnologias Open Source – Implantação/Coaching de Metodologias de Software – Desenvolvimento ágil com Scrum e Kanban – Gerência de Projetos – Gestão de Configuração e Versionamento – Requisitos – Testes – Ferramentas
  • 8.
    Capacitação Ensinamos oque fazemos em nossos projetos, transferindo conhecimento e aprimorando competências em desenvolvimento de software e infraestrutura de TI Turmas abertas ou In-Company Mais de 15 mil alunos treinados Áreas de conhecimento: – Linguagens – Desenvolvimento móvel – Banco de dados – Frameworks e Servidores Java EE – Controle de Versões – Linux – Gerência de Projetos e Requisitos – Scrum – E mais...
  • 9.
    Desenvolvimento Ágil Conhecemos as dificuldades e os desafios envolvidos com criação de software Desde 2007 introduzimos uma abordagem pioneira e inovadora, onde: – Adaptação a mudanças é mais importante do que seguir o plano inicial. – Colaboração com o cliente é mais importante do que negociação de contratos. – Indivíduos e interações são mais importantes que processos e ferramentas. – Software funcionando é mais importante do que documentação completa e detalhada. Maior valor de negócio no menor tempo Aceleração do ROI de projetos
  • 10.
    Clientes de DesenvolvimentoÁgil Projeto de Escopo Fechado Projeto de Escopo Orientado Contrato de Linha Scrum
  • 11.
    Sempre inovando... Aplicativosmóveis, Multiplataforma, complexos e integrados Sistemas otimizados para dispositivos móveis Somos pioneiros em Cloud Computing no Brasil Oferecemos serviços para início ou aceleração da adoção de tecnologias Comércio eletrônico no Facebook Aplicativos em redes sociais
  • 12.
    Casos de Sucesso Internet banking Operação de Câmbio Administração de cartões
  • 13.
    Casos de Sucesso Live streaming do canal Premiere Futebol Clube para iPad Assinantes NET
  • 14.
    Casos de Sucesso Desenvolvimento da primeira operação brasileira de comércio eletrônico em Facebook (f-commerce) Realização integral da transação de compra dentro da rede social Integração com meios de pagamento Integração com sistemas legados e ERP www.likestore.com.br
  • 15.
    Casos de Sucesso Governo Força Aérea Brasileira – Sistema de vendas de fardamento – Sistema de planejamento nutricional e compras em refeitórios – Sistema de aquisições e armazenagem de materiais – Sistema de Gestão Hospitalar – Sistema de Gestão de Pessoal Exército Brasileiro – Sistema de gestão de obras Embrapa – Sistema de gestão de ativos genéticos Casa da Moeda do Brasil – Sistemas industriais e apoio ao negócio
  • 16.
    Casos de sucesso SOFTWARE LIVRE ÁGIL COM PONTO DE FUNÇÃO CONTRATE ATRAVÉS DE ATA DE REGISTRO DE PREÇO www.dextra.com.br/arp
  • 17.
    Desenvolvimento Ágil Porque desenvolver usando ágil? Manifesto ágil?? Ágil no Brasil e no mundo Ágil na Dextra
  • 18.
    Pitfalls de desenvolvimento Prazose custos não cumpridos. Qualidade abaixo do combinado com o cliente. Equipes desmotivadas e não produtivas. Desgaste no relacionamento com o cliente. Soluções que não agregam valor ao negócio do cliente.
  • 19.
    uso de funcionalidades 64% em sistemas 20%
  • 20.
  • 21.
    Princípios • Nossa maiorprioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor. • Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas. • Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos. • Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.
  • 22.
    Princípios • Construir projetosao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho. • O método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara. • Software funcional é a medida primária de progresso. • Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter, indefinidamente, passos constantes.
  • 23.
    Princípios • Contínua atençãoà excelência técnica e bom design, aumenta a agilidade. • Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito. • As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis. • Em intervalos regulares, o time reflete em como ficar mais efetivo e, então, se ajustam e otimizam seu comportamento de acordo.
  • 24.
    Ágil no Brasil http://www.agilcoop.org.br/MetodosAgeisBrasil2011
  • 25.
    Ágil no Brasil http://www.agilcoop.org.br/MetodosAgeisBrasil2011
  • 26.
    Ágil no mundo http://www.versionone.com/state_of_agile_development_survey/11/
  • 27.
    Como funciona oDesenvolvimento Ágil
  • 28.
    Pontos de função& IFPUG Métricas de software IFPUG vs NESMA
  • 29.
    Métricas de software Como estimar esforço, custo, etc? Como medir o software pronto? Como medir o progresso de um projeto de desenvolvimento de software? Homem/Hora Ponto SCRUM COCOMO APF KLOC
  • 30.
    Por que Pontode Função? Regras objetivas Independência de tecnologia Foco nas funcionalidades do sistema Padrão internacional de aferição – Grupo internacional de usuários de ponto de função (IFPUG) – Associação de métricas de software da Holanda (NESMA) – Manual de práticas de contagem (CPM) Fornece uma forma clara de comparar complexidade entre softwares distintos O tamanho funcional é medido pela visão do cliente
  • 31.
    IFPUG ou NESMA? Ambos oferecem técnicas para identificar Funções de dados (ALI, AIE) e Funções de transação (EE, CE, SE) IFPUG é metodologia de contagem detalhada, considerando cada dado, campo e mensagem transmitida através da fronteira da aplicação NESMA é metodologia de contagem para as fases iniciais do projeto – Método muito utilizado para estimativa base pois não entra no nível de detalhe do IFPUG
  • 32.
    Ligando os pontos Equal mesmo é a relação entre Processo Ágil e Análise de Pontos de Função?
  • 33.
    Ligando os pontos PROCESSO ÁGIL PRODUTIVIDADE – Como conduzir o projeto – O processo ágil traz produtividade crescente para a equipe – Técnicas de execução – Oferece sinergia entre fornecedor e cliente – APF alinha a comunicação e expectativa sobre tamanho MÉTRICA DE PONTO DE FUNÇÃO – Unindo APF e Processo Ágil temos uma forma de estimar o – Mede o resultado do projeto tamanho do projeto e avaliar o – Estima o tamanho funcional progresso e aumento de produtividade da equipe, facilitando gestão de custo e tempo
  • 34.
    Pitfalls IFPUGnão é resposta para tudo! – Funcionalidades mensuráveis – Atividades não mensuráveis do processo de desenvolvimento Ágil não resolve todos os problemas de desenvolvimento! – Envolvimento dos stakeholders em tempo integral – Disponibilidade de equipe do cliente para testar e reportar desvios do plano – Flexibilidade de negociação ao longo do projeto – Escopo fechado vs escopo aberto
  • 35.
    Nossa experiência IFPUG+ Ágil Principais clientes: Órgãos Públicos Definição de escopo inicial – Detalhamento incremental Estimativa usando NESMA Contagem final usando metodologia IFPUG – Roteiro de métricas de software do SISP para itens não mensuráveis
  • 36.
    Processo ágil eiterativo Pontuação SCRUM para APF a cada ciclo de acompanhar desenvolvimento produtividade da (Sprint) usando IFPUG equipe Validação de escopo e Releases de software detalhamento de funcional a cada Sprint requisitos a cada Sprint Testes de validação incrementais do software pelo cliente
  • 37.
    Quebrando mitos Escopoaberto vs Escopo Fechado Mudança de requisitos Mudanças EXISTEM e ACONTECEM! Sprint vs Ordem de Serviço Participação efetiva
  • 38.
    Como fazemos funcionar? Comunicação constante Ferramentas de desenvolvimento e qualidade de software Revisão periódica dos métodos e técnicas Ciclos de teste (TDD, BDD, Selenium) Integração contínua (Sonar, Jenkins) Entregas de software frequêntes Ferramentas de apoio ao projeto (Trac, Redmine)
  • 39.
    Como fazemos funcionar? Comunicação constante Ferramentas de desenvolvimento e qualidade de software Revisão periódica dos métodos e técnicas Ciclos de teste (TDD, BDD, Selenium) Integração contínua (Sonar, Jenkins) Entregas de software frequêntes Ferramentas de apoio ao projeto (Trac, Redmine)
  • 40.
    26/10/12 Obrigada! Vanessa Campos vanessa@dextra.com.br @vanessaocampos www.dextra.com.br @DextraSistemas Campinas 19 3256.6722 Campo Grande 67 3321.3661

Notas do Editor

  • #19 Mesmo com todas as precauções tomadas, não só as ilustradas nos slides, os resultados são sempre os mesmos.
  • #20 E continuando a entregar soluções que não agregam valor ao negócio do cliente proporcionalmente ao investimento (físico, financeiro e emocional) realizado.
  • #21 Uma das respostas para a atual situação, para o jeito tradicional de desenvolver software, foi o manifesto ágil.
  • #22 Comentar cada um dos princípios do manifesto ágil.
  • #23 Comentar cada um dos princípios do manifesto ágil.
  • #24 Comentar cada um dos princípios do manifesto ágil. Eu costumo, ao fim desta parte, perguntar qual foi o princípio que mais sensibilizou a pessoa. E reforço que pra mim é difícil escolher 1 pois todos estão muito interligados.
  • #25 Dados de uma pesquisa realizada aqui no Brasil, por um laboratório da USP em 2012, a respeito da utilização do ágil. Cerca de 500 pessoas responderam ao questionário. Mostrar os reais benefícios conquistados pelos lugares que optaram por uma cultura ágil.
  • #26 Dados de uma pesquisa realizada aqui no Brasil, por um laboratório da USP em 2012, a respeito da utilização do ágil. Cerca de 500 pessoas responderam ao questionário. Esse slide é legal pra reforçar um pouco de que uma abordagem ágil não é só “comportamental” mas que requer uma mudança cultural geral. O assunto vai ser retomado mais pra frente na apresentação.
  • #27 O que, das metodologias e práticas ágeis, o pessoal tem utilizado.