• Nenhum resultado encontrado

Processos Ágeis Certificados

N/A
N/A
Protected

Academic year: 2021

Share "Processos Ágeis Certificados"

Copied!
32
0
0

Texto

(1)

Aplicação e integração do

SCRUM e CMMI/ MPS.BR

A experiência prática da

Powerlogic.

30 de outubro de 2007

Paulo Alvim

Processos Ágeis Certificados

Aplicando Scrum e Powerlogic jALM para Certificações CMMI/MPS.Br

Outubro 2007

(2)

Roteiro

Apresentação

¾

Sobre a Powerlogic

¾

Métodos Ágeis e Scrum

¾

CMMI e MPS.Br

¾

Powerlogic jALM

Estudo de Caso: Certificação Powerlogic

¾

Políticas Organizacionais Ágeis Explicadas

¾

Gerência de Projetos Ágil Certificada

¾

Gerência de Requisitos Ágil Certificada

¾

Garantia da Qualidade de Produto

¾

Garantia da Qualidade de Processo

¾

Medição e Análise

Apresentação Prática - Ferramentas

¾

Do requisito ao código com Powerlogic jALM

Perguntas & Debate

Paulo Alvim

(alvim@powerlogic.com.br)

Sobre a Powerlogic

(3)

Powerlogic - Timeline

1994: Fundação, em Minas Gerais

1995-1998: Cliente/Servidor e Downsizing

1998: Início de Atuação com Java App Servers

1999: eCompany Portal/Project 1.0

2000-2001: Maturidade em eBusiness

2002: Início em J2EE Open-Source.

2003: jCompany Developer 1.0. Foco em Produtos.

2004: Powerlogic SA (BNDES Pró-Soft).

2004-2006: Atuação Nacional. Crescimento.

2007 (Junho): Certificação MPS.Br Nivel F.

2007 (Dezembro): Powerlogic ALM

Powerlogic - Timeline (Processos)

1988-1993: Quadro diretor com expertise em MDS e ferramentas CASE

(Projeto de Ferramentas CASE, OO, Análise Essencial, Engenharia da Informação)

1994-2001: Uso do Processo Unificado e MDS diversas em Projetos de Clientes

2002: Uso esporádico de SCRUM e técnicas ágeis durante a formação da área de

Produtos da Powerlogic.

2003: Palestra “Gestão Ágil de Projetos – SCRUM na prática”, no congresso “Extremme

Programming Brasil”.

2004: Suporte ao SCRUM pelo eCompany Process. Expansão do uso de SCRUM.

2005: Processo empírico estabelecido, com incorporação de Disciplinas PMBOK

complementares. jCompany QA suportando Integração Contínua. Automação e Gerência

de Configuração.

2006: Formalização e expansão do processo, segundo MPSbr.

2007 (Junho): Certificação MPS.Br Nivel F

(4)

Powerlogic - Crescimento

Análise de Crescimento - P owerlogic S.A

1.738,000 2.391,000 2.996,000 2.791,000 3.207,000 4.508,000 5.847,000 9.000,000 5.178,000 5.843,000 5.370,000 5.450,000 6.300,000 7.330,000 8.370,000 9.544,000 3.303,000 3.594,000 4.038,000 4.668,000 5.307,000 5.811,000 6.042,000 6.282,000 1.000,000 2.000,000 3.000,000 4.000,000 5.000,000 6.000,000 7.000,000 8.000,000 9.000,000 10.000,000 2000 2001 2002 2003 2004 2005 2006 2007

Faturamento Anual Powerlogic (MIL) Crescimento Vol. Investimentos TI Serviços (BI) Crescimento Brasil PIB (TRI)

160 Colaboradores

(30 Área de Produto)

(5)

Projetos Nacionais

(6)

Sudeste e Centro Oeste

(7)

Norte e Nordeste

(8)

Powerlogic – Casos de Sucesso

Mais de 400 sistemas em produção:

Aplicações Internacionalizadas: Alemanha, Kuala

Lumpur, México, Bolívia, França.

Foco corporativo de Missão Crítica: Segurança,

Disponibilidade (24 x7), Performance e Escalabilidade.

Verticais Diversas: Indústria, Educação, Governo

Executivo (Municipal, Estadual e Federal), Governo

Judiciário, Financeira, Comércio, Cooperativa, Saúde,

etc.

Mais de uma centena de aplicações em tecnologias

eBusiness Java EE Open-Source.

Paulo Alvim

(alvim@powerlogic.com.br)

Métodos Ágeis e Scrum

(9)

O Manifesto da Agilidade: Valores

• www.agilealliance.org

Values of Agile Alliance

• While there is value in the items on the right,

• we value the items on the left more.

individuals and interactions over processes and tools

working software over comprehensive documentation

customer collaboration over contract negotiation

responding to change over following a plan

Uma questão de

“ênfase” – não

de “ruptura”!

The New, New Product

Development Game* Lean Mngt Iterative, Incremental Development

Smalltalk Engineering Tools

Scrum, XP

* Harvard Business Review, Jan. 1986, Takeuchi and Nonaka

(10)

O Manifesto da Agilidade:

Super-ênfase em Iteratividade!

O framework do Processo Unificado é

“Iterativo” em sua concepção, mas

tende a produzir implantações em

“Cascata”, na prática!

“It is typical to adopt the

defined

(theoretical)

modeling approach when the underlying

mechanisms by which a process operates

are

reasonably well understood

.

When the process is

too complicated for the

defined

approach, the

empirical

approach is the

appropriate choice.”

Process Dynamics, Modeling, and Control, Ogunnaike and Ray,

Oxford University Press, 1992

(11)

Requirement

Technology

Instable Stable Known Unknown Anarchy Complex Complicated Complicated Simple

Scrum Básico – Teoria do Caos

Processes States:

Ideal: Inputs, Outputs and Process Variables Stables

Î Software Development is never in this state!

Threshold: Process Reasonably Statistically Controllable. Number of

Variances small, predictable and manageble.

Î Software Development is eventually in this state!

Edge of Chaos! Severe noises. Out of acceptable tolerances. Predictive

and Planning almost ineffective.

Continuous observation can delivery convergent products!

Î Software Development usually is in this state!

Chaos! Process not producing conforming products and is not

controllable.

Î This may sound familiar to many software developers!

Scrum Básico – Teoria do Caos

O Scrum é realístico quanto às

expectativas – por isto

evidencia problemas mais

cedo!

(12)

Empirical management and control process

Inspect and adapt feedback loops

Used to manage complex projects since 1990

Delivers business functionality in 30 days

Scalable to distributed, large and long projects

CMMI Level 3 and ISO 9001 compliant

Extreme simple but very hard

Scrum Básico – Definição

(13)

Most projects deliver software every 6 to 18 months. Scrum

reduces this to many 1 month deliveries to increase control

via inspect/adapt.

This puts stress on the team and organization, exposing

underlying problems and limitations.

The Scrum Master’s job is to prioritize these problems

and help the organization overcome them to get better

at software development, managing software

investments, and becoming a community to work in.

Scrum Básico – Processo Iterativo

Activity Owner Responsibilities

Manage the

vision Product Owner

The Product Owner establishes, nurtures and communicates the product vision. He achieves initial and on-going funding for the project by creating initial release plans and the initial Product Backlog.

Manage the ROI

Product Owner

The Product Owner monitors the project against its ROI goals and an investment vision. He updates and prioritizes the Product Backlog to ensure that the most valuable functionality is produced first and built upon. He prioritizes and refines the Product Backlog and measures success against expenses.

Manage the development iteration

Team During an iteration the team selects and develops the highest-priority features on the Product Backlog. Collectively, the team expands Product Backlog items into more explicit tasks on a Sprint Backlog and then manages its own work and self-organizes around how it desires to complete the iteration. The team manages itself to its commitments.

Manage the

process ScrumMaster

The Scrum Master is responsible for setting the team up for success by ensuring the project and organizational culture are optimized for meeting the ROI goals of the project. This involves organizing a Sprint Planning Meeting (during which the team expands Product Backlog into Sprint Backlog), a Sprint Review Meeting (during which the newly developed functionality is demonstrated), shielding the team from outside disturbances, holding brief Daily Scrum meetings, and removing obstacles to progress.

Manage the release

Product Owner

The Product Owner makes decisions about when to create an official release. For a variety of reasons it may not be desirable to release at the conclusion of every increment. Similarly, if an official release is planned for after the fifth increment it may be released (with fewer features) after the fourth increment in order to respond to competitive moves or capture early market share. The Product Owner makes these decisions in a manner consistent with the investment vision that has been established for the project.

Scrum Básico - Papéis

Adicionais Powerlogic:

-

Stackholder

-

QA Master

(14)

Scrum Básico – Comunicação

(15)

Scrum Básico – Agile Radiator

(16)

Scrum Básico – Agile Radiator

Scrum Básico – Agile Radiator

Adicionais Powerlogic:

-

Retrospective Boxes

-

www (what went well)

-

wcbi (what can be improved)

(17)

Scrum Básico – Agile Radiator

(18)

Scrum Básico – Agile Radiator

(19)

Scrum Básico – Comunicação Tácita

• Sprint Planning 1 (Pre-Planning) • Sprint Planning 2 • Daily Scrum • Sprint Review • Sprint Retrospective

Scrum Básico – Reuniões Formais

Adicionais Powerlogic:

-

Release Planning (Pre-Game)

(20)

Paulo Alvim

(alvim@powerlogic.com.br)

CMMI & MPS.Br

Compatibilidade Scrum & CMMI

Level

Key Practice Area

Rating

2

Requirements management

2

Software project planning

2

Software project tracking and oversight

2

Software subcontract management

2

Software quality assurance

2

Software configuration management

3

Organization process focus

3

Organization process definition

3

Training program

3

Integrated software management

3

Software product engineering

3

Intergroup coordination

3

Peer review

(21)

Compatibilidade Scrum & CMMI

Os 5 (cinco) desafios maiores:

GPR: Como gerenciar com base em “planejamento contínuo”

(planning) em lugar do “grande plano inicial” (big-bang plan)?

GPR: Como “abraçar” a mudança e “controlá-la” ao mesmo tempo?

GRE: Como estimar requisitos que são parcialmente conhecidos?

GQA: Como averiguar qualidade de produto em um processo

“iterativo” com tempo fechado (time-boxed)?

MED: O que são indicadores importantes em um processo ágil?

Obs.: A Gerência de Configuração (GCO) é complexa, mas não é

conflitante com princípios ágeis. Deve ser automatizada, e o

conceito de Integração Contínua apoia decisivamente.

Paulo Alvim

Powerlogic jALM

(22)

Seguran

Seguran

ç

ç

a

a

e

e

Monitoria

Monitoria

em

em

Produ

Produ

ç

ç

ão

ão

Java EE

Java EE

Open

Open

-

-

Source

Source

Controle

Controle

de

de

Qualidade

Qualidade

Java EE

Java EE

Open

Open

-

-

Source

Source

Desenvolvimento

Desenvolvimento

Java EE

Java EE

Open

Open

-

-

Source

Source

Comunica

Comunica

ç

ç

ão

ão

e

e

Colabora

Colabora

ç

ç

ão

ão

Processos

Processos

Corporativos

Corporativos

e

e

Gerência

Gerência

de

de

Projetos

Projetos

Powerlogic jALM

(23)

Feecback: Erros (bugs), Dúvidas,

Sugestões de Melhorias,

Novos Requisitos, ... CASE

Requisitos, ... Elaboração jCompany Developer Java, Modelos, ... Construção jCompany QA Aplicação Executável, Códigos Fontes, ... Qualidade jCompany Security Aplicação e Práticas Averiguadas, ... Pré-Produção

eCompany Portal Produção

jCompany Monitor

Aplicação Contextualizada Para Usuários, Apoiada por Utilitários

De Colaboração, ... Monitoria eCompany Contact-Center Aplicação Monitorada: Contabilização de Uso, Auditoria, Estatísticas, Disponibilidade, ... Suporte eCompany Process Processo, Produtos, Componentes, Projetos, Requisitos Planejamento Gestor Aplicação Averiguada e Segura (Curva de Retorno do Investimento) Cliente

Powerlogic jALM

Powerlogic jALM

Segundo Scott Ambler,

o Manifesto da Agilidade, em

2001, não previu que

ferramentas (automação)

seriam tão importantes para o

sucesso de métodos ágeis.

(24)

Paulo Alvim

(alvim@powerlogic.com.br)

Estudo de Caso:

Certificação Powerlogic

Políticas Organizacionais Ágeis

São motivos para a aderência a métodos ágeis, que sigam o Manifesto da

Agilidade (http://agilemanifesto.org) com ênfase principal no Scrum

(

www.controlchaos.com

):

ƒ O altíssimo índice de incorporação de tecnologia de ponta dos produtos Powerlogic, implicando em um aumento importante da Imprevisibilidade;

ƒ Exigências de criatividade em granularidade fina, para diferenciação com a concorrência, exigindo construção com base em Exploração e Adaptação (planejamento constante e evolucionário, e não antecipado e prescritivo);

ƒ Exigências de liberação para o mercado (time-to-market) agressivas, com filosofia de entrega em "prazo fixo", via desenvolvimento iterativo com tempo definido (Time-Boxed);

ƒ Monitoramento e adaptação ágil a mudanças estratégias que gerem benefícios, em taxas notadamente altas (Embrace Change);

ƒ Presença do cliente (Product Owner) em constante contato com a equipe (Scrum Team), já que na área de produtos os requisitos são definidos e priorizados pela Powerlogic, em última instância. (Colaboração com o cliente).

(25)

Políticas Organizacionais Ágeis

(26)

Políticas Organizacionais Ágeis

(27)

Políticas Organizacionais Ágeis

Informalidade não é

sinônimo de Agilidade

Formalidade não é sinônimo

de Conformidade

GPR – Gerência de Projetos Ágil

Políticas Ágeis para a Área GPR - Gerência de Projetos

a) As práticas de Gerência de Projetos devem prever e garantir que se esteja trabalhando de forma verdadeiramente

iterativa, (...);

b) As iterações de desenvolvimento devem ter durações fixas de 30 dias, com restrição principal em tempo (Time-Boxed). As iterações subsequentes de Garantia da Qualidade (QA) devem durar 15 dias, também com restrição principal em tempo (Time-Boxed);

c) As datas dos projetos e iterações da família jCompany devem ser defasadas em 15 dias das datas dos projetos e iterações da família eCompany, (...);

d) O processo deve privilegiar e estimular, com primeira técnica de acompanhamento do andamento dos projetos, a

inspeção frequente do produto de software em si, pelo líder das equipes (Scrum Master) e entre os

membros da equipe, eventualmente utilizando-se programação em pares. Como segunda técnica, o processo deve prever e garantir que reuniões diárias de 15 minutos, conhecidas como Daily Scrum, estejam sendo feitas,

garantindo feedback face-a-face (tácito), diário, inter-equipe. Como terceira prioridade, deve prever

acompanhamento via indicadores indiretos de progresso (apropriações, percentual de andamento, etc.); e) O processo deve prover espaço para que o Scrum Master e o Scrum Team possam realizar adaptações em

granularidade fina durante um ciclo, sem entraves formais neste nível (micro-gestão), implementando uma política de "solicitação de mudança formal" leve (lightweight change request). Ainda assim, deve garantir rastreamento de todas as modificações que ocorram após o "compromisso" (commitment), e formalização em situações críticas (ameaça a objetivos fundamentais, alteração de versão de item de configuração, etc.); f) O processo deve prover reunião formal de reflexão das equipes (Retrospective Meeting), com frequencia de uma

ou duas vezes por iteração, de modo a apontar "o que foi bem" (WWW - What Went Well) e "o que pode ser melhorado" (WCBI - What Could Be Improved);

(28)

Políticas Ágeis para a Área GRE - Gerência de Requisitos

a) As práticas de Gerência de Requisitos devem prover e garantir técnicas de elicitação de requisitos

evolucionárias (planejamento contínuo), evitando um longo plano inicial, conforme preconizado por práticas

ágeis. Ainda assim, devem garantir uma previsão razoável de escopo e prazo que seja factível para um "plano de projeto" (release plan) inicial, como consenso entre o Product Owner (representante do cliente) e o Scrum Team (Equipe).

b) Requisitos devem ser mantidos em listas textuais, descritas em linguagem do usúario (bom português), seguindo os preceitos de Estórias de Usuários (User Stories) do XP e também de Product Backlog do Scrum. Estas listas devem ser priorizadas por "valor para o negócio" (business value), pelo Product Owner. c) Requisitos devem ser refinados em reuniões de planejamento coletivas, incluindo o Product Owner e o

Scrum Team. Somente o Scrum Team deve ter habilitação para fazer previsões de tamanho, e sua opinião deve soberana. Para dimensionar tamanho, o Scrum Team deve seguir técnicas ágeis e unidade em

Ideal Days. A ordenação das lista de requisitos pode sofrer ajustes pelo Scrum Team, para refletir dependências técnicas e ajustes de custo/benefício, uma vez que o "tamanho" do requisito for definido. O objetivo da priorização deve ser maximizar o "business value" liberado, em cada iteração.

d) Para facilitar a consolidação de interesses de clientes, prospects e interesses estratégicos da Powerlogic, o processo deve prover facilidades de coleta de lista de requisitos do mercado (Product Backlog), que podem receber contribuições de qualquer Stackholder.

e) Para o sucesso do processo de planejamento contínuo e para a agilidade em remoção de impedimentos, o processo deve considerar a presença forte do representante do Cliente (Product Owner), para solucionamento de dúvidas microscópicas em requisitos, além de tomadas rápidas de decisão.

GRE – Gerência de Requisitos Ágil

Políticas Ágeis para a Área GCO - Gerência de Configuração

a) As práticas de Gerência de Configuração para a área de produtos da Powerlogic devem ser

especialmente rigorosas e completas, por se tratarem de produtos de mercado, com grande diversidade de empresas usuárias e exigências especiais de controle de versão.

Estas práticas devem utilizar automação e controles presentes nos produtos da Powerlogic, sempre que possível, de modo a serem implementadas de forma produtiva;

b) Os itens de configuração devem ser definidos em nível de Produto, e não Projeto, já que tendem a se manter os mesmos ao longo de vários projetos. Em cada projeto, deve-se definir os registros de versão de cada item e atualizações eventuais. Para cada projeto

subsequente, deve-se definir somente alterações em versões de itens anteriores, deste

modo a evitar redundância desnecessaria;

c) Deve-se possuir um conceito de "Configuração Global", que reuna um único número de versão que consolide os demais números gerados pelos diversos repositórios que se façam

necessários (Subversion para fontes e documentos, Continuum para executáveis, eCompany Process para Planos e Processos, etc.);

d) Alterações de versões de itens de configuração devem ser realizadas formalmente, via "Solicitação de Mudança" a ser analisada e aprovada por Comitê, de modo a se evitar falta de sincronismo e integridade provocada por modificações não controladas.

(29)

Políticas Ágeis para a Área GQA – Gerência de Qualidade de Produto e Processo

a) As práticas de Gerência de Qualidade para Produto devem prever ciclos de averiguação

de 15 dias, após a interação padrão de 30 dias, e serem realizadas também em filosofia de

restrição de tempo (Timed-Boxed);

b) O processo deve prever o uso do QA Team de forma compartilhada (em pool) para todos os projetos. Este deve testar de forma priorizada e limitado ao tempo disponível;

c) O processo deve prever uso dos produtos de automação da Powerlogic, e garantir

solução de automação para execução de "testes de regressão" continuamente (integração contínua);

d) As práticas de Gerência de Qualidade para Processo devem auditar o desempenho do processo, os produtos de trabalho e atividades previstas em todas as áreas. Ao identificar

problemas, deve apresentar proposições de soluções e melhorias, e acompanhar suas deliberações até o despacho final pela empresa;

e) Deve garantir que os radiadores ágeis estão sendo utilizados, além de promover a

visibilidade adequada de suas próprias averiguações, dando retorno ao Scrum Master, Scrum Team e QA Team (de Produto);

f) Deve fornecer relatório à Diretoria Técnica da Powerlogic, contendo os resultados das

revisões e auditorias, atráves do Relatório de GQA.

GQA – Gerência de Qualidade Ágil

Source-Code Repository Subversion (SVN) Subversion (SVN) Customer.java v1 . Customer.java v2 . Customer.java v3 Product.java v1 . Product.java v2 Invoice.java v1 Component Repository (Maven)

sales.jar v3.0 (Customer.java v2, Product.java v1, ...)

. sales.jar v3.01 . sales.jar v3.02 . sales.jar v.4 salesutils.war v1.0 . salesutils.war v1.1 hibernate.jar v3.2 Application Repository Advanced Continuum Advanced Continuum salesapp.ear v5.0

(sales.jar v3.0, salesutil.war v1.0, hibernate.jar 3.2, ...)

. salesapp v5.1 . salesapp v6.0

...

Maven

Maven MavenMaven MavenMaven MavenMaven

Maven Maven

Repositórios de

Gerência

de Configuração do

jCompany QA Suite

Developer 1 Developer 2 Developer N Tester

Maven Proxy

Maven Proxy

(30)

Políticas Ágeis para a Área MED – Medição e Análise

a) As práticas de Medição e Análise do processo devem coletar e armazenar informações que

auxiliem a Diretoria de Tecnologia da Powerlogic a acompanhar, de forma quantificada, os resultados esperados do processo, observando e enfatizando as questões estabelecidas

nas presentes Políticas Organizacionais para o Processo;

b) Os indicadores obtidos pela medição devem contemplar prioritariamente a performance de equipes com um todo, e não somente indicadores individuais, dentro do espírito do Scrum; c) Os indicadores devem ser coletados de modo que estejam disponíveis para divulgação

durante reuniões de retrospectivas (Retrospective Meeting), e possam ser analisados pelas

equipes coletivamente;

d) Os indicadores devem ficar visíveis junto aos radiadores ágeis, e também em relatório

consolidado de GQA, para a Diretoria Técnica;

e) Os indicadores, sempre que possível, e ao longo do tempo, devem ser automatizados pelos

produtos Powerlogic.

MED – Medição e Análise Ágil

Paulo Alvim

(alvim@powerlogic.com.br)

Apresentação Prática: Ferramentas

(31)

Objetivo:

Simular um Projeto Scrum incluindo

Gestão, Levantamento, Especificação,

Construção e QA para uma aplicação

de eBusiness

(MVC Java EE 5, Design

Patterns, Mapeamento OO x SGBD-R,

performance, segurança e GUIs

sofisticadas, etc.),

do “zero absoluto”,

(32)

Paulo Alvim

(alvim@powerlogic.com.br)

Perguntas & Debate

Paulo Alvim

(alvim@powerlogic.com.br)

Fim

Referências

Documentos relacionados

In this study clay mineral assemblages, combined with other palaeoenvironmental data, were studied in a core recovered from the outer sector of the Ria de Vigo, a temperate

Dessa forma, a partir da perspectiva teórica do sociólogo francês Pierre Bourdieu, o presente trabalho busca compreender como a lógica produtivista introduzida no campo

A integração de terapia gênica, engenharia tecidual e biomateriais apresentam o potencial para criar ambientes sintéticos que forneçam os sinais necessários para promover a

Este artigo está dividido em três partes: na primeira parte descrevo de forma sumária sobre a importância do museu como instrumento para construção do conhecimento, destaco

complexa. De fato, o pensamento cartesiano opera a partir de causalidades simples. Assim, as políticas públicas apenas detectam uma variável e, com isso, tendem a perder

Campanha do programa nacional de prevenção ao trabalho 2014.. • As NR’s são instrumentos padronizados pelo MTE que regularizam proce- dimentos obrigatórios que envolvem

O CES é constituído por 54 itens, destinados a avaliar: (a) cinco tipos de crenças, a saber: (a1) Estatuto de Emprego - avalia até que ponto são favoráveis, as

RESUMO: O objetivo da pesquisa foi descrever a relação entre a adoção de uma inovação administrativa, denominada Sistema de Avaliação da Conformidade de Empresas de Serviços