PSP e TSP Criando Equipes Nível 5

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

Auditoria de Processo Marcelo Waihrich Souza
Gerenciamento de Projetos
CMM-Capability Maturity Model
1 ANÁLISE E PROJETO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO: CONCEITO MODELOS DE PROCESSO PROCESSO UNIFICADO HISTÓRIA CARACTERÍSTICAS AS QUATRO.
Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos SP – UFSCAR 2010 Engenharia de Software – UFSCAR.
O Modelo de Jesus para Crescimento e Serviço
Rational Unified Process
ISO Processos do Ciclo de Vida do Software
Gerência de Projetos Wesley Peron Seno Introdução
Professor Roberto Petry
Engenharia de Software CMMI Prof. E.A.Schmitz 2007.
Garantia de Qualidade do software
Rational Unified Process(RUP)
Gestão de Projetos Áreas de conhecimentos Integração
O padrão de gerenciamento de projetos de um projeto
Gerenciamento do escopo do projeto
INTRODUÇÃO A INFORMÁTICA
Mitos e Problemas Relacionados ao Software
O que é 5(S)? ? 5(S) É a prática de hábitos que permitem mudanças nas relações... É a base de qualquer programa de qualidade. 1.
Projeto em Engenharia de
CONSULTORIA EMPRESARIAL
SEPG Conference ´97.
Como Desenvolver Sistemas de Informação
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Gerenciamento do Escopo
Elementos de um Programa Eficaz em Segurança e Saúde no Trabalho
Planejamento e controle de Projetos
Rational Unified Process
GERENCIAMENTO DE AQUISIÇÕES PMBOK
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
RUPinho Qualidade de Software
Técnicas e Projeto de Sistemas
Planejamento e Gerenciamento de Projetos
Cap 2 – Processo de Software
Universidade São Marcos Curso: Gestão de Negócios Internacionais
Projeto: Capacitação em GP
Capability Maturity Model (CMM)
PMBOK 5ª Edição Capítulo 9
GESTÃO DE PROJETOS Aula 5 1.
Prof. Alexandre Vasconcelos
Modelos de Maturidade de Processos de Software
Profa. M.Sc. Yáskara Menescal
Disciplina Implantação
Técnicas e Projeto de Sistemas
PSBD II Projeto de Sistemas de Banco de Dados II
1 Workshop de introdução à responsabilidade País, Mês de 20XX A Viagem de Ahmed.
Máquina de Turing Universal
ISO Processos do Ciclo de Vida do Software
Qualidade de Processo de Software CMM e CMMI Aldo Rocha.
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Modelos de Qualidade para indivíduos e grupos: PSP & TSP
Engenharia de Software
Capítulo 1 A administração hoje.
Integração.
TSP (Times) e PSP (Pessoa) Criando Equipes Nível 5
© 2002 Universidade do Porto Engenharia de Software 1 Engenharia de Software.
Estrutura de Gerenciamento de projetos
Prof. Fábio Botelho Metodologia de Desenvolvimento de Software - MDS Padrões de Processo de Software: CMMI.
Erton W. Vieira Metodologias Ágeis, Qualidade de Software e Design Centrado no usuário: Pontos de Interação Erton W. Vieira.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
PSDS com CMMI Nível 2 Dimitri de Almeida Malheiros Barbosa 27/03/2006.
O uso de XP em uma Organização CMM 2 Renata Endriss

1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
GUGP - GRUPO DE USUÁRIOS DE GERENCIAMENTO DE PROJETOS OS DESAFIOS DO GERENCIAMENTO DE PROJETOS DE IMPLANTAÇÃO DE ERP.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

PSP e TSP Criando Equipes Nível 5 Atila Belloquim Gnosis

Apresentação Atila Belloquim E vocês? Bacharel em Ciência da Computação (IME-USP) Mestre e Doutorando em Administração (FEA-USP) Diretor da Gnosis – IT Knowledge Solutions Coordenador dos cursos de pós-graduação em Qualidade no Desenvolvimento de Software e Gerenciamento de Projetos do Senac-SP Fundador e Presidente do Conselho do SPIN-SP Membro do conselho do congresso Developers’ Meeting E vocês?

Sumário PSP, TSP e CMM: relacionamentos mútuos PSP TSP O que é o PSP? Estrutura do PSP TSP O que é o TSP TSP e TSPi Conceitos e estrutura O Processo do TSPi Papéis Teamwork e teambuilding

PSP

Três Níveis CMM -> Capacitação Organizacional TSP -> Capacitação de Equipes PSP -> Capacitação de Indivíduos

Relacionamento O CMM diz “o que” deve ser feito Desenhado para ser amplo e duradouro Não entra em detalhes de técnicas específicas O PSP e o TSP dizem também “como” Sugerem técnicas e dão alternativas

Princípios do PSP A qualidade de um software é governada pela qualidade de seus piores componentes A qualidade de um componente de software é governada pelo indivíduo que o desenvolveu Conhecimento Disciplina Comprometimento

Princípios do PSP O profissional de software deve conhecer sua própria performance Medir, acompanhar e analisar seu trabalho Aprender das variações na performance Incorporar estas lições em suas práticas pessoais

O Processo Pessoal de Software (PSP) O PSP permite ao desenvolvedor Estimar e planejar o trabalho a ser feito Cumprir compromissos Resistir a pressões por compromissos irrealísticos Compreender sua habilidade Estar mais apto a melhorar sua forma de trabalho

O Processo Pessoal de Software (PSP) O PSP estabelece Uma base testada e comprovada para o desenvolvimento e uso de disciplinas pessoais de alcance industrial Uma disciplina que mostra como o processo pessoal pode ser melhorado Os dados necessários para a melhoria contínua da produtividade, qualidade e previsibilidade do trabalho do desenvolvedor

O Que é um PSP ? Um processo pessoal para o desenvolvimento de software Passos definidos Formulários Padrões Uma infra-estrutura de medição e análise para a caracterização deste processo Um procedimento definido para a melhoria da performance

Visão Geral do PSP O PSP é apresentado em 7 passos consecutivos e complementares Um ou dois programas são escritos a casa passo Dados sobre o trabalho são coletados e analisados Estes dados são então usados para a melhoria do trabalho

Visão Geral do PSP PSP0 - A performance atual é medida e estabelecida – Baseline PSP1 - São elaborados planos de tamanho, recursos e tempos gastos no trabalho – Gerenciamento de Projetos PSP2 - É realizado o gerenciamento de defeitos e rendimento (Yield) – Gerenciamento do Processo e da Qualidade PSP3 - Os métodos do PSP são ampliados para projetos maiores – Escalabilidade do Processo

Visão Geral do PSP PSP3 PSP2.1 PSP2 PSP1.1 PSP1 PSP0.1 PSP0 Current process Time recording Defect recording Defect type standard PSP1 Size estimating Test report PSP2 Code reviews Design reviews PSP3 Cyclic development PSP2.1 Design templates PSP1.1 Task planning Schedule planning PSP0.1 Coding standard Size measurement Process improvement proposal (PIP)

PSP e CMM O CMM fornece a infra-estrutura organizacional para a melhoria contínua dos processos de software O PSP aplica estes mesmos conceitos ao nível individual O CMM assume que os desenvolvedores utilizarão métodos pessoais disciplinados O PSP, por sua vez, assume que existe um gerenciamento efetivo do processo de software

PSP e CMM 5 4 3 2 1 *PSP key practices Level 1 Level 5: Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight* Software project planning* Requirements management *PSP key practices Level 3 Peer reviews* Intergroup coordination Software product engineering* Integrated software management* Training program Organization process definition* Organization process focus* Level 4 Quality management* Process measurement and analysis* Level 5: Process change management* Technology innovation* Defect prevention* Level 1 1 2 3 4 5

Resultado Ao final do curso, o desenvolvedor terá praticado elementos chave de um processo de software Nível 5 entenderá quais métodos funcionam melhor para ele fará um melhor trabalho terá objetivos de melhoria de longo prazo

Conclusão Mensagem a reter O PSP é um processo definido para ajudar o desenvolvedor a fazer melhor seu trabalho O PSP ensina e recomenda técnicas que podem ser utilizadas também no âmbito da equipe (TSP) e da organização (CMM)

TSP

O que é o TSP? O TSP (Team Software Process) é uma estrutura para a melhoria quantitativa de processo de software que ajuda equipes a desenvolver produtos de software de modo eficaz Baseia-se nos conceitos do CMM Supõe que os membros da equipe tenham sido treinados no PSP

Conceitos e Estrutura Equipes auto-gerenciadas A gerência provê orientação e suporte A equipe planeja o próprio trabalho, acompanha o progresso e gerencia as tarefas do dia-a-dia Cada membro da equipe tem papéis e responsabilidades definidos Todos os membros participam do planejamento do projeto e da tomada de decisões-chave

Conceitos e Estrutura A equipe é proprietária dos seus processos e pode mudá-los sempre que necessário Os processos da equipe são baseados em sua experiência conhecimento maturidade As equipes aplicam práticas do Nível 5 do CMM

Conceitos e Estrutura O TSP provê um conjunto de scripts de processos formulários métodos métricas Estes elementos guiam os desenvolvedores em criar equipes eficazes estabelecer metas e planos para a equipe acompanhar e reportar o trabalho TSPi Versão simplificada do TSP para equipes e projetos menores

O Design do TSPi Estrutura simples construída sobre o PSP Desenvolvimento incremental Métricas padronizadas de qualidade e performance Métricas precisas para equipes e indivíduos Uso de avaliações de papéis e de time Exigência de disciplina de processo Aconselhamento nos problemas do trabalho em equipe

O Processo do TSPi

Estrutura e Fluxo Lançamento ciclo 1 Lançamento ciclo 2 Estratégia 2 Planejamento 2 Requisitos 2 Design 2 Implementação 2 Teste 2 Postmortem 2 Lançamento ciclo 2 Estratégia 1 Planejamento 1 Requisitos 1 Design 1 Implementação 1 Teste 1 Postmortem 1 Lançamento ciclo 1 Declaração de necessidades do produto Estratégia 3 Planejamento 3 Requisitos 3 Design 3 Implementação 3 Teste 3 Postmortem 3 Lançamento ciclo 3 Produto acabado Avaliação final

O Processo do TSPi Cada ciclo inclui as seguintes fases Lançamento (launch) Estratégia Planejamento Requisitos Design Implementação Teste Postmortem O processo inclui Scripts Formulários Padrões

Para Quê o Launch? A construção de equipes não ocorre por acaso Um lançamento inicial permite Estabelecer as relações de trabalho Definir e distribuir os papéis pelos membros da equipe Chegar a um acordo sobre as metas da equipe

Planejar Antes Porquê planejar antes de conhecer o produto em detalhes? Porque é assim na vida real Porque ao desenvolver o plano a equipe adquire uma melhor compreensão comum do trabalho a ser feito Porque um plano é a base para acompanhar o trabalho Porque, sem um plano, a equipe acabará se comprometendo com o prazo imposto pela gerência ou o cliente, acredite ou não que será capaz de cumpri-lo Daí a necessidade de iniciar pela Estratégia

O Quê é uma Estratégia? A Estratégia define a ordem na qual as funções do produto serão definidas, desenhadas, implementadas e testadas O processo de desenvolvimento do TSPi é cíclico Cada ciclo produz uma versão operacional do produto Ciclos subseqüentes incrementam a funcionalidade do produto Este processo é também conhecido como “ciclo de vida incremental” A equipe decide o conteúdo de cada ciclo (no curso) ou negocia este conteúdo com o usuário / cliente, com base no prazo e recursos disponíveis

A Necessidade do Planejamento Com um plano Você trabalha com mais eficiência Você sabe o que fazer e quando Você faz as coisas numa ordem produtiva Você não esquece passos importantes Você tem maior chance de cumprir seus compromissos Você pode assumir compromissos realistas com seus colegas de equipe e com seu cliente Você faz um trabalho melhor, ao não pular, por exemplo, revisões e inspeções, o que levaria a mais tempo gasto em teste e a um produto de baixa qualidade Você sabe onde está ao longo do desenvolvimento

Planejamento Passos Liste os produtos a serem desenvolvidos no ciclo e estime seus tamanhos Produza a lista de tarefas Produza o cronograma Produza o plano de qualidade Produza os planos individuais dos desenvolvedores Realize o balanceamento da carga Produza e distribua o planos

Planos balanceados Com planos balanceados Todos os membros da equipe contribuem com esforço igual Não é necessário esperar pelos outros Os recursos são usados mais eficientemente Consegue-se o menor prazo possível O balanceamento deve ser feito pelos desenvolvedores São os únicos que podem planejar em detalhes

Fases do desenvolvimento Requisitos Design Implementação Teste Estratégias gerais É feito o gerenciamento de configuração de todos os artefatos Todos os artefatos são inspecionados Todos os planos de teste são feitos na fase de desenvolvimento correspondente Processo em “V”

Para Quê o Postmortem? Sem uma fase específica para analisar o trabalho feito, pouco se aprende e não se pode fazer melhoria contínua O Postmortem é uma forma estruturada de aprender e melhorar Compara-se o planejado com o que realmente aconteceu Procura-se oportunidades de melhoria Mudanças no processo para o próximo projeto ou ciclo

Papéis

Por Quê Papéis? Para distribuir a carga de trabalho associada ao desenvolvimento que vão além da construção do produto Para permitir o desenvolvimento de diferentes habilidades pelos desenvolvedores Para explicitar as responsabilidades pelas tarefas Para explicitar a necessidade de tarefas associadas ao desenvolvimento que normalmente são ignoradas pelas equipes

Escolha dos papéis Cada membro da equipe atua ao mesmo tempo como desenvolvedor e assume um dos papéis do TSPi Os papéis devem ser escolhidos / distribuídos Conforme o interesse dos membros da equipe De acordo com suas habilidades Convém haver rodízio de papéis a cada novo ciclo / projeto Cada pessoa deveria especializar-se em dois ou três papéis

Os Papéis do TSPi Líder da Equipe Gerente de Desenvolvimento Gerente de Planejamento Gerente de Qualidade / Processo Gerente de Suporte

Teamwork e Teambuilding

Por Que os Projetos Falham Os projetos falham, geralmente, por causa de problemas no trabalho em equipe (teamwork), e não por razões técnicas Um dos principais problemas é a dificuldade em lidar com a pressão Tomam-se “atalhos” Usam-se métodos ruins (ou nenhum) Aposta-se em novas linguagens, ferramentas ou técnicas O TSPi ajuda a lidar com a pressão através da definição da estratégia e do planejamento Permite saber o que é para fazer Permite resistir a cronogramas irrealistas

O Quê é uma Equipe? Ao menos duas pessoas Trabalhando por um objetivo comum Com cada pessoa assumindo papéis específicos ou funções a desempenhar O atingimento do objetivo requer alguma forma de dependência entre os membros do grupo

Problemas Comuns nas Equipes - 1 Liderança ineficaz Abandono dos planos Abandono da disciplina pessoal Falta de compromisso ou cooperação Um ou mais membros não querem cooperar trabalhando em equipe Pressão dos pares normalmente resolve Mas podem ser necessárias ações mais drásticas Falta de participação Um ou mais membros podem não estar dando a contribuição necessária

Problemas Comuns nas Equipes - 2 Procrastinação e falta de confiança própria Falha em definir objetivos e prazos Resultado de liderança inexperiente, falta de objetivos claros, ou falta de processo e planejamento Qualidade pobre Falta de documentação, revisões e inspeções, práticas de implementação pouco rigorosas Injeção de requisitos Usuários ou desenvolvedores acrescentando funcionalidade no meio do projeto Avaliação por pares ineficaz Relutância ou competição

A Equipe Tamanho da equipe A Equipe Coesa (“jelled” team) De 4 a 8 pessoas Equipes muito grandes dificultam o estabelecimento de relações próximas, necessárias à sinergia do grupo A Equipe Coesa (“jelled” team) Produção da equipe é maior do que seria a soma das produções individuais As pessoas encontram uma satisfação maior do que a esperada dada a natureza da tarefa

Condições básicas para o Trabalho em Equipe O trabalho a ser feito é claro e distinto Definido explicitamente Faz sentido para a equipe A equipe sabe o que deve fazer A equipe está claramente definida Sabe-se quem está dentro e quem está fora Os membros se conhecem O trabalho de todos é visível Todos sabem os papéis de cada um A equipe tem controle sobre a tarefa A equipe controla o processo A equipe é capaz de fazer o trabalho

Construindo Equipes Eficazes Coesão da equipe A equipe age como uma unidade física e emocional Comunicação aberta e freqüente Respeito e apoio mútuos Objetivos desafiadores Específicos e mensuráveis Cada membro aceita os objetivos como próprios Feedback O progresso é acompanhado Framework de trabalho comum Processo, papéis etc.

Como as Equipes “Acontecem” Processo iterativo de convergência Entendimento comum do produto a ser construído Acordo sobre os objetivos Entendimento sobre a estratégia e o plano de desenvolvimento Identificação do que é desconhecido e das discordâncias Acordo sobre o modo de resolvê-las e resolução Descida ao próximo nível de detalhe A cada passo, a equipe vai aumentando a coesão

Como o TSPi Constrói Times Propondo um conjunto de objetivos iniciais A cada ciclo, devem ser revistos e ajustados pela equipe Identificação antecipada de papéis pré-definidos Distribuição de responsabilidades Processo definido para o planejamento Comunicação interna Reuniões periódicas Informação disponível (processos, planos, métricas) facilitam a comunicação precisa Comunicação externa Reporte periódico

Deveres no Trabalho em Equipe Os elementos de um trabalho em equipe efetivo são três Comunicação entre os membros Visibilidade Saber ouvir Negociação Estabelecimento e cumprimento de compromissos O compromisso tem que ser livremente assumido O compromisso é público Para assumir responsavelmente um compromisso, é preciso preparação (planejamento) Participação nas atividades da equipe Obter a atenção da equipe Pedir e aceitar ajuda

Deveres na Construção da Equipe (teambuilding) Para a construção de equipes efetivas, é necessário Aceitar a responsabilidade por um papel e desempenhá-lo o melhor possível Participar no estabelecimento de metas e planos da equipe e esforçar-se por cumprir essas metas e seguir o plano Construir e manter uma equipe efetiva e cooperativa

Conclusão São quatro as lições do TSP A maior parte do desenvolvimento de software é e será feita por equipes Equipes com as habilidades apropriadas e em que todos os membros trabalham juntos cooperativamente e efetivamente podem produzir resultados extraordinários Um trabalho em equipe efetivo requer oito coisas Metas da equipe com que todos concordam Papéis estabelecidos Um ambiente de trabalho adequado Um processo de trabalho comum Um plano para o trabalho O compromisso mútuo com as metas, papéis e o plano Comunicação aberta entre todos os membros do time Respeito mútuo e suporte de todos os membros do grupo Quando times encontram essas condições, produzem um trabalho superior, são mais produtivos e apreciam o seu trabalho

Bibliografia e Referências Introduction to the Team Software Process – Watts. S. Humphrey – Addison Wesley, 2000 www.sei.cmu.edu

Gnosis Treinamento e Consultoria em Metodologias de Desenvolvimento de Sistemas, Engenharia de Software e Modelos SEI/CMM, PSP e TSP Fone: (011) 3062-6133 e-mail: atila@gnosisbr.com.br