Escolar Documentos
Profissional Documentos
Cultura Documentos
Professores: Cristina de Abreu Silveira Daniel M. Munhoz Arboleda Edgar Costa Oliveira Fabiana Freitas Mendes Marcus Vinicius Giro de Morais Manuel Barcelos Maura A. Milfont Shzu Ricardo Matos Chaim Edson Mintsu Hung
Tcnica Pomodoro
Os objetivos da tcnica
Alivia a ansiedade pelo trabalho e estudo que est por fazer. Melhora o foco e a concentrao ao retirar interrupes do estudo e do trabalho. Aumenta a percepo em suas decises. Aumenta a motivao e o mantm constante. Refora a determinao para atingir seus objetivos. Refina o processo de estimao em termos qualitativos e quantitativos. Melhora o processo de trabalho ou estudo. Mantem o foco e a determinao para resolver problemas e situaes complexas.
Tcnica Pomodoro
Escolha uma tarefa a ser cumprida. Ajuste o Pomodoro para 25 minutos .
(o Pomodoro o cronmetro)
Trabalhe focadamente na tarefa at o Pomodoro tocar, ento indique o cumprimento numa folha de papel. Faa um breve intervalo (5 minutos est timo). A cada 4 Pomodoros faa um intervalo maior (em torno de 15 a 20 minutos).
Regras e Dicas
Um Pomodoro indivisvel Se uma atividade tem entre 5 a 7 Pomodoros, quebre-a em mais Pomodoros Se uma atividade leva menos de um Pomodoro, ento combine-a com outras atividades Uma vez que o Pomodoro comea, o alarme tem que tocar O prximo Pomodoro ser sempre melhor A tcnica Pomodoro no deve ser usada em atividades de seu tempo livre. Aproveite os tempos livres!
O que um projeto?
A project is a temporary endeavor undertaken to create a unique product or service (fonte: PMI). endeavor: esforo consciente em direo a um objetivo = empenho. temporary: Datas de incio e trmino definidos. undertaken: do qual algum se encarrega, se incumbe. unique: O produto ou servio difere, de alguma forma, de outros similares.
Gesto de projetos
Combinao de recursos (humanos e materiais) por meio de metodologias e tcnicas para atender os objetivos de um projeto
10
Como gerenciar?
Soluo: Usar uma metodologia
Adotar prticas que ajudaram outros projetos pode beneficiar o seu. Guia de referncia sobre o que deve ser considerado.
Questo da Ferramenta
Comprar um martelo no transforma voc em um arquiteto!
Quando tudo o que voc tem um martelo, todos os problemas parecem pregos.
Informa que deve haver fases Informa que fases existem e e um planejamento realizado que atividades devem ser antes de cada fase consideradas no planejamento
Metodologia de desenvolvimento
Planejamento (PMBOK)
Planejamento do escopo Escopo Definio Definio das atividades do escopo Tempo Seqenciamento das atividades Planejamento de recursos Custos Estimativa de durao das atividades Estimativas de custos Planejamento da qualidade Desenvolvimento do cronograma Elaborao de oramentos Qualidade Recursos humanos Planejamento organizacional Montagem de equipes Planejamentogerncia de riscos Comunicaes Planejamento de de comunicaes Identificao de riscos Riscos Anlise de riscos Planejamento de aquisies Aquisies Planejamento de respostas Planejamento de solicitaes Integrao Desenvolvimento do plano de projeto
22
implementando o framework
Escopo
Como definir o escopo de produto?
Tempo
Como estimar o tempo de desenvolvimento?
Custos
Como estimar os custo de desenvolvimento?
Riscos
Como minimizar os riscos?
Qualidade
Como garantir a qualidade do produto?
Metodologia de desenvolvimento
23
O que so requisitos?
Descrio de necessidades ou desejos para um produto
Elaborao de requisitos
1 passo para todas as demais atividades Se todos os requisitos forem identificados no incio do projeto (!!!) no haver surpresas na entrega do produto
Etapas
Analisar o problema Identificar as necessidades Definir as caractersticas do sistema
24
Analisando o problema
Muitos projetos no tm sucesso devido ao pouco investimento:
No entendimento dos reais problemas das organizaes Na coleta das necessidades No ambiente que o sistema vai estar inserido
Concordncia sobre a definio do problema Identificao dos interessados no projeto Identificao da fronteira do projeto Identificao das restries do projeto Elaborao de um vocabulrio comum
25
Identificando as necessidades
26
7,5%
6,2% 16,2%
The Standish Groups CHAOS report
27
Tcnicas
Tcnica Brainstorming Role playing Facilidade de comunicao Baixa Baixa
Prottipo Entrevista
Mdia Alta
28
Categorizao
Requisitos dos usurios Requisitos do sistema Requisitos funcionais Requisitos no-funcionais
Refinando os requisitos
Requisitos do produto
Funcionalidades Descrio em linguagem natural
Requisitos detalhados
Cada metodologia utiliza sua prpria ferramenta
Exemplo 1: Casos de uso (UP) Exemplo 2: Histria do usurio (XP)
30
Tamanho
Linhas de cdigo (LOC)
Como os usurios enxergam o sistema Mede o que o sistema faz e no como feito
Caractersticas
Fornece medidas consistentes Mede funcionalidades Independente de tecnologia (ling. de programao) Simples
34
Estimando erros
H sempre uma relao linear entre nmero de pessoas e tempo? E o tempo necessrio para se chegar aos requisitos (funcionalidades)? E as mudanas ocasionais durante o projeto (quando no houver, desconfie se o projeto no est sendo deixado de lado)? E os bugs que aparecero (sempre ocorrer)? E as dependncia de componentes?
35
36
Minimizando riscos
Projetos gerenciamento de mudanas
Riscos relacionados ao projeto: afetam o desenvolvimento Riscos relacionados ao produto: afetam a qualidade do produto Riscos relacionados aos negcios: afetam a organizao
Risco Rotatividade de pessoal Mudana de gerenciamento Indisponibilidade de recursos Alterao nos requisitos Atrasos na especificao Projeto Projeto Projeto Projeto e produto Projeto e produto Tipo
Esforo subestimado
Ferramentas inadequadas Mudana de tecnologia
Projeto e produto
Produto Projeto, produto e negcios
37
Gerenciamento de riscos
Identificao
Tecnologia, pessoal, organizacional, ferramentas, requisitos, estimativas
Identificao
Lista de riscos em potencial Lista de riscos priorizados Plano de preveno e contingncia Avaliao de riscos
Anlise
Avaliao de probabilidade e conseqncia dos riscos Definio de prioridades
Anlise
Planejamento
Estratgias preventivas Estratgias de minimizao Planos de contingncia
Planejamento
Monitoramento
Avaliao peridica de tendncias
Monitoramento
38
Garantindo a qualidade
Do processo ou do produto? Atividades
Garantia de qualidade Planejamento de qualidade Controle de qualidade
39
Anlise de Requisitos
Anlise de Requisitos
Requisito : uma descrio dos principais recursos de um produto, seu fluxo de informaes, comportamento e atributos. Fornece uma estrutura bsica para o desenvolvimento de um produto. O grau de compreensibilidade, preciso e rigor da descrio fornecida por um documento de requisitos tende a ser diretamente proporcional ao grau de qualidade do produto resultante Peters p. 102
Anlise de Requisitos
O tratamento da informao um requisito que fundamenta o processo de desenvolvimento de produto antes da soluo de tecnologia a ser aplicada. Cada projeto deve ter suas fases de desenvolvimento adequadas s necessidades de tratamento da informao.
Conceitos
Engenharia de Requisitos : Estabelecer quais funes so requeridas pelo sistema e as restries sobre a operao e o desenvolvimento do sistema Sommerville p. 46
Conceitos
Requisito (so): Descries das funes e das restries de um sistema Definio detalhada, matematicamente formal, de uma funo do sistema O processo de:
Descobrir Analisar Documentar Verificar
Sommerville p. 82
Conceitos
Engenharia de Requisitos : Um processo que envolve todas as atividades exigidas para criar e manter o documento de requisitos de sistema Sommerville p. 103
Conceitos
Levantamento e Anlise de Requisitos
Obteno de requisitos
1) 2) 3) 4) 5)
Requisitos
Fala-se muito sobre requisitos; propagam-se necessidades de gesto de mudanas de atendimento ao cliente; Diz-se muito de mtodos, tcnicas e ferramentas para descrev-los e representlos, mas muito pouco da aplicao prtica deste conhecimento
Requisitos
O requisito uma condio cuja exigncia deve ser satisfeita. Se a condio produzir algo, diz-se que o requisito funcional. Se a condio caracterizar algo ( propriedade, comportamento, restrio, etc,...), diz-se que o requisito no-funcional.
Requisitos funcionais correspondem listagem de todas as coisas que o sistema deve fazer; Requisitos no funcionais so restries e qualidades que se coloca sobre como o sistema deve realizar seus requisitos funcionais;
Requisitos
Usabilidade: Requisitos que selecionam ou afetam a usabilidade do sistema. Confiabilidade: Tratamento de falhas, possibilidade de previso, no erros de desenvolvimento ou programao; Desempenho: Velocidade, eficincia, preciso, tempo de recuperao, tempo de resposta, etc; Configurabilidade: O que pode ser configurado pelos usurios do sistema; Portabilidade:restries sobre a plataforma de hardware e de software nas quais o sistema ser implantado e sobre o grau de facilidade para transportar o sistema para outras plataformas. Segurana: Permisses de usurios do sistema; Ergonomia, conforto, etc.
Requisitos
Requisitos funcionais evidentes so efetuados com conhecimento do usurio; Requisitos funcionais ocultos so efetuados pelo sistema sem o conhecimento explcito do usurio; Descrever requisitos funcionais e requisitos nofuncionais requer tratar dois aspectos: primeiro, "Produzir"; segundo, "com Qualidade", as duas faces da moeda aplicveis Engenharia.
Requisitos
O processo de desenvolvimento depende da definio clara de qual produto construir. Esta definio fundamenta-se no conhecimento do problema e na viabilizao de oportunidade de negcio com o uso de tecnologia.
Requisitos: Sempre tenha em mente os requisitos definidos pelo usurio. Utilize componentes (mdulos ou sub-sistemas): Ao dividir o problema
viabilizamos os testes especficos para cada mdulo, antes de ser agrupado ao sistema em desenvolvimento.
Processos do RUP
RUP
Especfico para projetos de software Gerenciamento de projetos e tcnicas de desenvolvimento de software
Cobre alguns aspectos de gerenciamento de projetos
Dividido em fases. Tipicamente 4 ou 5, mas existe a possibilidade de se utilizar mais de 10. Cada fase definida pela concluso de uma tarefa contendo um ou mais entregveis.
Dividido em 4 fases: Iniciao, Elaborao, Construo e Transio. Cada fase pode ser dividida em mais de uma interao. Cada interao produz uma verso executvel do software ou sistema (metodologia incremental).
Diagrama de Atividades
Ferramentas de UML
IBM Rational Rose Rhapsody MagicDraw UML StarUML ArgoUML Umbrello BOUML PowerDesigner Dia Eclipse NetBeans Visual Studio
Metodologias tradicionais
Fluxo do processo
Organizao e sequenciamento de atividades gerando ou atualizando artefatos at se atingir o objetivo do projeto.
Hoje
Tem-se mudado o foco para pessoas (reas criativas) Tem-se dado ateno s mudanas
65
Agilidade
O que agilidade?
Habilidade de criar e responder a mudanas do maneira a aproveitar as mudanas no ambiente (Highsmith) Precisamos parar de tentar evitar mudanas
Coleo de prticas organizadas para modelagem e desenvolvimento de software Filosofia onde muitas metodologias se encaixam Completam alguns mtodos existentes
66
Metodologias geis
Reao s metodologias tradicionais Manifesto gil (2001)
Agile Alliance Princpios
Indivduos e interaes so mais importantes que processos e ferramentas Software funcionando mais importante que documentao completa Colaborao com o cliente mais importante que negociao com contratos Adaptao s mudanas mais importante que seguir um plano
67
Caractersticas gerais
Procuram minimizar riscos de desenvolvimento em pequenos espaos de tempo (iteraes) Cada iterao como um pequeno projeto
Planejamento, requisitos, projeto, codificao, testes...
Adaptativos
Enfatiza as mudanas e suas conseqentes adaptaes A equipe no sabe o que ir fazer a mdio e longo prazo Problemas so encarados a medida que eles chegam
geis
Iterao curta, em um tempo fixo, de algumas semanas (2-4 sem.)
69
Conceitos equivocados
Mtodos geis so geralmente comparados a metodologias orientadas ao planejamento
No so orientadas predio, porm h planejamento
Crticas
No prov documentao necessria
Funciona apenas para equipes experientes Pouca ateno ao projeto de software (arquitetura)
Prticas disciplinadas e rigorosas Dificuldades aps o projeto
Em geral, a arquitetura definida de baixo pra cima Ex.1: necessidade do cliente fazer parte da equipe Ex.2: Patrocinadores do projeto querem saber exatamente o que ser feito e quando
71
Scrum
Proposto por Ken Schwaber em 1996
Controlled Chaos: Living on the Edge. Cutter IT Journal Especialista em metodologias orientadas a processo 80s Defende que desenvolvimento de software deve ser emprico
Cada caso diferente e deve ser adaptado
Gerentes de projeto so forados a viver uma mentira eles devem achar que so capazes de planejar, fazer predies e entregar os produtos (conforme planejado)
Scrum tem como premissa mudanas constantes Define um framework p/ gerenciamento de projetos
73
Conceitos bsicos
Papis
Proprietrio do produto (gerente de produtos, cliente interno, etc) ScrumMaster (Lder do projeto. Facilitador) Equipe do projeto (Programadores, QA, Designer de interface, etc)
Fases
Pre-sprint (reunio de planejamento do Sprint)
Identificao de funcionalidades Planejamento para o prximo Sprint
Sprint
Perodo de desenvolvimento Perodo fixo de 30 dias
O processo Scrum
75
Reunio de planejamento
Proprietrio do produto descreve as features prioritrias
Definio do Backlog do produto
Equipe do projeto escolhe as features do backlog do produto para o backlog do prximo Sprint Ambos definem o objetivo do Sprint
Breve descrio do que seria sucesso ao final do Sprint
Equipe pode se reunir para definir at onde podem ir no Sprint e negociar com o Proprietrio do produto
76
Backlog do produto
77
Backlog do Sprint
78
Scrum dirio
Reunio rpida de acompanhamento dirio No tem como objetivo em resolver problemas, mas responder as questes
O que foi feito ontem? O que ser feito hoje? H algum impedimento no caminho?
79
80
Reunio de reviso
Reunio ao final de cada Sprint (30 dias) Participantes
Proprietrio do projeto Equipe do projeto Clientes
Equipe mostra o que eles alcanaram O que foi alcanado comparado ao objetivo do Sprint (definido na reunio inicial)
mais importante fechar o objetivo que as tarefas individuais
81
XP eXtreme Programming
Criada por Kent Beck
Projeto da Daimler-Chrysler (de 1997 a 1999)
Valores
Simplicidade
Tente sempre desenvolver a soluo mais simples possvel Solues devem responder aos requisitos, e nada mais que isso
Comunicao
Comunicao cara-a-cara; cliente na equipe
Coragem
Colocar o cliente (chefe) a par de tudo Fazer o que precisa ser feito (exemplo: jogar fora cdigo ruim)
Retorno
D retorno cedo, concreto (atravs de testes) e constantemente
Respeito
Evite complicar o trabalho dos demais. Preserve a qualidade do cdigo, do design.
82
Prticas do XP
Retorno detalhado
Jogo do planejamento Desenvolvimento dirigido a testes Equipe completa (cliente sempre disponvel) Programao em pares
Processo contnuo
Compreenso compartilhada
Evoluo do design (refatoramento) Integrao contnua Pequenas releases Projeto simples Uso de metforas Padres e convenes de cdigo Propriedade coletiva
83
Papis
Dono da grana (GoldOwner)
Dono dos objetivos (GoalOwner) Gerente
Facilitador do projeto Patrocinador (quem paga pelo software) Quem define os requisitos (em geral, um usurio)
Define os critrios de aceitao junto ao cliente Responsvel pela implementao Coleta sinais do projeto (mtricas). Avalia desempenho
84
Atividades
Implementao
Cdigo o item mais importante para o XP Diagramao em ferramentas que geram automaticamente cdigo, tambm considerado codificao
Teste
Teste de cdigo (testes unitrios) Testes de aceitao (se o que voc fez corresponde aos requisitos)
Escuta
Atividade realizada durante o aprendizado com o usurio
Projeto
A medida que o sistema vai ficando complexo, mudanas no projeto do software precisam ser adotadas
85
Jogo do Planejamento
Planejamento de uma release
Determinar quais requisitos devem ser levados em conta para a prxima release Fases
Explorao: requisitos do sistema Aceitao: concordncia com os requisitos e a data da prxima release Ajuste: plano pode ser alterado e requisitos modificados
86
GanttProject http://www.ganttproject.biz/ Achievo http://www.achievo.org/ Open Workbench http://sourceforge.net/projects/openworkbench/ Faces http://faces.homeip.net/ TaskJuggler http://www.taskjuggler.org/ OpenProj http://openproj.org/ DotProject http://www.dotproject.net/ Mingle http://www.thoughtworks-studios.com/mingle-agileproject-management ProjectKoach http://www.projectkoach.com/ ScrumWorks http://www.danube.com/scrumworks VersionOne http://www.versionone.com/ Rally http://www.rallydev.com/
87
Outras ferramentas
Wiki Dotproject MS Project. SVN, CVS, etc.
Patente
Concesso pblica, conferida pelo Estado, que garante ao seu titular a exclusividade, mas por tempo limitado, de explorar comercialmente o objeto da patente. Os direitos exclusivos da patente referem-se ao direito de preveno de outros fabricarem, venderem, usarem, oferecerem vender ou importar o objeto da patente. O conhecimento dos pontos essenciais e as reinvidicaes que caracterizam a inovao do invento so disponibilizados ao pblico. No Brasil a patente regida pela Lei da Propriedade Intelectual e pelo rgo INPI (Instituto Nacional da Propriedade Industrial).
Etapas da patente
Busca prvia: constitui basicamente a busca nos arquivos de patentes existentes (nacional ou internacional dependendo da abrangncia de sua patente), de uma inovao que seja similar a patente em questo. Ainda que no seja obrigatrio, pode poupar custos e tempo. Depsito do pedido de patente: para depositar deve-se ter o conhecimento dos formulrios exigidos, que variam entre os diversos escritrios de patentes. Publicao: desde que o pedido tenha atendido as especificaes do sistema de patentes, o relatrio da inovao ser publicado. Isso feito para que possveis interessados (algum que julgue injusto o pedido de patente se manifeste). No Brasil, a publicao ocorre um ano e meio aps o pedido de patente, podendo ser adiantada.
Etapas da patente
Solicitao do exame do pedido: nesse exame, ser analisada se a inovao possui os requisitos para ser patenteada (inclusive se uma inovao), nesse momento sero analisados tambm os motivos que terceiros apresentem para que a patente em questo no seja concedida. No Brasil, o exame ocorre no mnimo sessenta dias depois da publicao. Expedio da Carta-Patente: caso o pedido passe pelo exame, ser solicitada a Carta-Patente que corresponde ao documento propriamente dito. Manuteno: Atravs do pagamento das anuidades da patente durante o tempo em que estiver em vigor.
Preos
o Busca prvia: R$55,00 a R$140,00. o Solicitao de exame: R$110,20 a R$400,00. o Expedio da carta patente: R$40,00 a R$95,00. o Anuidades: Aumenta com o passar dos anos (R$80,00 a R$1950,00).
No patenteveis
No Brasil, a proteo da Propriedade Industrial, inclusive as Patentes, objeto da Lei 9279 de 14 de Maio de 1996. Segundo o art. 10 de tal lei, no se considera inveno nem modelo de utilidade: I - descobertas, teorias cientficas e mtodos matemticos; II - concepes puramente abstratas; III - esquemas, planos, princpios ou mtodos comerciais, contbeis, financeiros, educativos, publicitrios, de sorteio e de fiscalizao; IV - as obras literrias, arquitetnicas, artsticas e cientficas ou qualquer criao esttica; V - programas de computador em si; VI - apresentao de informaes; VII - regras de jogo; VIII - tcnicas e mtodos operatrios, bem como mtodos teraputicos ou de diagnstico, para aplicao no corpo humano ou animal; IX - o todo ou parte de seres vivos naturais e materiais biolgicos encontrados na natureza, ou ainda que dela isolados, inclusive o genoma ou germoplasma de qualquer ser vivo natural e os processos biolgicos naturais.
Direitos Autorais:
Software.
Patentes em Engenharia
Proteo do Software: Proteo por direitos autorais (Lei de
processo ou mtodo.
Perguntas?!?