Palestra Eng. de Software

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Palestra Eng. de Software - Presentation Transcript

    1. ENGENHARIA DE SOFTWARE MÉTODOS, TÉCNICAS E REALIDADE DEI-FCTUC, 21 Outubro 2009
    2. 2 Nuno Seixas MSE 2008 Carnegie Mellon University | Universidade de Coimbra CMMI Authorized Instructor Certified SCRUM Master Process Engineer @ PT Inovação Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    3. Tópicos 3 Processos de Desenvolvimento de Software Porquê usar Como usar Principais metodologias de desenvolvimento Métodos Ágeis SCRUM XP Métodos Prescritivos PSP/TSP Melhorias de Processo Modelo CMMI Métodos nas empresas Perguntas & Respostas Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    4. 4 Processos de Desenvolvimento de Software Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    5. Processos de Desenvolvimento de Software 5 Process – a sequence of steps performed for a given purpose (IEEE) Process – the logical organization of people, materials, energy, equipment, and procedures into work activities designed to produce a specified end result (From Pall, Gabriel A. Quality Process Management. Englewood Cliffs, N.J.: Prentice Hall, 1987.) Process – activities that can be recognized as implementations of practices in a model (CMMI glossary) Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    6. Processos de Desenvolvimento de Software 6 Noção de Processo aplicado ao desenvolvimento de software? Qual o vosso processo? Como foi definido? Como é mantido? Como é melhorado? Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    7. Processos - Porquê usar 7 Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    8. Processos - Porquê usar 8 Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    9. Processos - Porquê usar 9 2009 Standish CHAOS Report (http://www1.standishgroup.com/newsroom/chaos_2009.php) 32% dos os projectos entregues no prazo, custo e funcionalidades acordadas; 44% dos projectos tiveram problemas num dos 3 pontos; 24% dos projectos falharam completamente, sendo mesmo cancelados; Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    10. Processos - Porquê usar 10 Estaremos a produzir software com qualidade? O que é software com qualidade? Qualidade Externa Qualidade Interna Prazo O que é um projecto com sucesso? Scope Custo E a satisfação do cliente? Incorporação da mudança, flexibilidade Verificação VS. Validação Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    11. Processos - Porquê usar 11 Premissa da qualidade baseada em processo A qualidade de um produto é altamente influenciada pela qualidade do processo para o seu desenvolvimento, manutenção e suporte. PEOPLE TECHNOLOGY PROCESS Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    12. Processos – Porquê usar 12 Processos Ad-hoc Previsões muito complicadas e irrealistas; Subprocessos dependentes exclusivamente das pessoas; Se uma pessoa falta, todo o projecto sente; Gestão baseada na reacção . Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    13. Processos - Como usar 13 Utilizar processos definidos Existe uma infraestrutura de suporte aos processos O processo está definido, documentado e é seguido Todos sabem como fazer o seu trabalho A melhoria contínua está presente no dia a dia Colocando na prática: O documentado é consistente com a prática. Resultados não apenas dependentes nas pessoas. Resultados e processos são medidos. Skills são aumentados, novos colaboradores são orientados e melhoria é constante Uso de tecnologias e ferramentas é orientado e realista Transição para novas tecnologias é seguida e monitorizada Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    14. Processos - Como usar 14 Benefícios obtidos Não há necessidade de re-inventar a roda; A organização não sobrevive à custa de heróis; Tecnologia seleccionada com base nos objectivos de negócio; Existem guias para implementação de mudanças (i.e., regra 80/20); Lições aprendidas evitam erros; Experiência aprendida permite a evolução da organização; Gestão mais flexível; Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    15. Processos - Como usar 15 Alguns princípios: “In god we trust, all others bring data”, Edwards Deming Adaptar os processos às necessidades do negócio e não ao contrário “There is no silver bullet”, Fred Brooks Identificação de objectivos de negócio Confiar nas pessoas: quando existem problemas, tentar entender o porquê – problemas no processo, na equipa, no projecto? Modo de actuação: medir, adaptar, medir, adaptar Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    16. 16 Principais metodologias de desenvolvimento Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    17. Principais metodologias de desenvolvimento 17 Question: What is the difference between a bank robber and a methodologist? Answer: You can negotiate with a bank robber © David Root & Anthony J. Lattanze, 2006, all rights reserved Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    18. Principais metodologias de desenvolvimento 18 O que é então um método de desenvolvimento? Requirements Solution Space The Method System © David Root & Anthony J. Lattanze, 2006, all rights reserved Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    19. Principais metodologias de desenvolvimento 19 Princípios básicos: Não existe um método óptimo para responder a todos os tipos de projecto, em todos os domínios Todos os métodos são baseados em abstracções e retirada de informação Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    20. Principais metodologias de desenvolvimento 20 Weight = amount of project overhead/code XP and RUP and MSS Hackers Scrum TSP Too scary to imagine Agile processes Prescriptive processes “Light” “Heavy” Artifact Challenged Artifact Heavy Adapted from Justin Rockwood, “Choose your Weapon Wisely,” 2003 © David Root & Anthony J. Lattanze, 2006, all rights reserved Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    21. 21 Métodos Ágeis Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    22. Métodos Ágeis 22 O que significa Ágil? Webster Dictionary: “Marked by ready ability to move with quick easy grace” As applied to Software Development: “Ability to change development in response to changing requirements” Cockburn © David Root & Anthony J. Lattanze, 2006, all rights reserved Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    23. Métodos Ágeis 23 Agile Manifesto Individuals and Interactions over Processes and Tools Team dynamics experience mix, team size Physical workspace, communality, meetings Working Software over Comprehensive Documentation Code primary artifact Iterative (subscription) Value to the customer QA inherent © David Root & Anthony J. Lattanze, 2006, all rights reserved Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    24. Métodos Ágeis 24 Agile Manifesto (2) Customer Collaboration over Contract Negotiation Customer Onsite (Involved/Knowledgeable) Requirements Centric Rapid Return of Perceived Value Customer Expectation Management Responding to Change over Following a Plan Developer / Customer Team Emergent Requirements Short Iterations Smaller changes Adaptation © David Root & Anthony J. Lattanze, 2006, all rights reserved Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    25. Métodos Ágeis 25 Agile Processes From Agile Alliance XP RUP Scrum Dynamic Systems Crystal Develop Method Feature Driven Adaptive Software Open Source Software Develop Develop Synch and stabilize Agile Modeling Pragmatic Programming Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    26. Métodos Ágeis - SCRUM 26 SCRUM (Formação espontânea em rugby) Metodologia de GESTÃO de PROJECTOS Product Backlog como base de todas as funcionalidades a implementar (story) Compreende várias iterações (sprints) Cada Sprint contém: Sprint Backlog Planeamento Desenvolvimento Release Papéis: Product Owner Scrum Master Team Member Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    27. Métodos Ágeis - SCRUM 27 Imagem retirada de: http://scrum.dk/about_scrum Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    28. Métodos Ágeis - SCRUM 28 Pressupostos Equipa muito coesa e pequena; Equipa capaz de se auto organizar; Cliente muito próximo e participativo; Dificuldades Papel crítico da comunicação; Exigências de documentação formal; Necessidade de alto nível de disciplina da equipa; Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    29. Métodos Ágeis – eXtreme Programming 29 Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    30. Métodos Ágeis – eXtreme Programming 30 eXtreme Programming (XP) Metodologia de desenvolvimento ágil; Metodologia focada em práticas de engenharia; Ciclos de desenvolvimento muito curtos (timeboxing); Releases muito frequentes; Incorporação da mudança e não gestão da mudança; Pair Programming; Testes unitários a todo o código; Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    31. Métodos Ágeis – eXtreme Programming 31 Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    32. Métodos Ágeis – eXtreme Programming 32 4 Actividades de Base Codificar Código como principal artefacto Testar Testes unitários Testes de aceitação Escutar Escutar o que o cliente realmente precisa Escutar a própria equipa Desenhar Definição da estrutura do sistema Refactoring em qualquer altura Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    33. 33 Métodos Prescritivos Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    34. Métodos Prescritivos 34 Métodos de desenvolvimento de software Papéis bem definidos Actividades definidas e prescritivas Exemplos: TSP RUP Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    35. Métodos Prescritivos - PSP/TSP 35 TSP = Team Software Process PSP = Personal Software Process Defined framework - Scripted Cyclic, iterative Standard measures for quality and performance Precise data collection- on almost everything Established Roles Discipline and guidance Post Mortem each cycle – find the problems Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    36. Métodos Prescritivos - PSP/TSP 36 Ciclo de TSP 1- Strategy 2- Plan 3- Requirements 4- Design 5- Implementation 6- Test 7- Postmortem Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    37. Métodos Prescritivos - PSP/TSP 37 Pontos favoráveis Muito bem estruturado Scripted Bem definido Útil para novas equipas, ou não estruturadas O Software Engineering Institute (SEI) tem dados de mais de 20 projects Pontos problemáticos Não tolerante à mudança Falta de flexibilidade Não lida bem com alteração a requisitos Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    38. 38 Melhorias de Processo Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    39. Melhorias de Processo 39 Várias Frameworks de melhoria CMMI SPICE (ISO/IEC 15504) Vantagens Permite diagnóstico inicial (onde estamos) Permite definir objectivos (onde queremos chegar) Permite definir que caminho tomar (por onde vamos) A ter atenção: Necessário evitar que se procure uma “certificação” pelo autocolante Uso desapropriado pode ser problemático para o negócio Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    40. Modelo CMMI 40 Capability Maturity Model Integration Modelo, composto por um conjunto de boas práticas retiradas da indústria, proposto pelo Software Engineering Institute (SEI) Actualmente na v1.2 (Agosto 2006); Preparação da v1.3 (Final de 2010); Baseada em várias iniciativas anteriores de melhoria de processo (CMM); Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    41. Modelo CMMI 41 Composto por 22 Process Areas Causal Analysis and Resolution (CAR) Configuration Management (CM) Decision Analysis and Resolution (DAR) Integrated Project Management +IPPD (IPM+IPPD) Measurement and Analysis (MA) Organizational Innovation and Deployment (OID) Organizational Process Definition +IPPD (OPD+IPPD) Organizational Process Focus (OPF) Organizational Process Performance (OPP) Organizational Training (OT) Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    42. Modelo CMMI 42 Composto por 22 Process Areas Product Integration (PI) Project Monitoring and Control (PMC) Project Planning (PP) Process and Product Quality Assurance (PPQA) Quantitative Project Management (QPM) Requirements Development (RD) Requirements Management (REQM) Risk Management (RSKM) Supplier Agreement Management (SAM) Technical Solution (TS) Validation (VAL) Verification (VER) Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    43. Modelo CMMI 43 Process Area (PA) Purpose Introductory Related Statement Notes Process Areas Specific Goals (SG) Generic Goals (GG) Specific Practices (SP) Generic Practices Typical Work Subpractices (GP) Products Generic Practice Subpractices Elaborations Legend Required Expected Informative © 2007 by Carnegie Mellon University Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    44. Modelo CMMI 44 Continuous Staged Process Area Capability . . . for a single process area or a set of process areas ML5 ML4 ML3 ML2 ML 1 . . . for a specified set of process areas across an organization PA PA PA © 2007 by Carnegie Mellon University Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    45. Modelo CMMI 45 Na Continuous Representation, as Process Areas são agrupadas em 4 categorias: Process Management Project Management Engineering Support © 2007 by Carnegie Mellon University Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    46. Modelo CMMI 46 Distribuição das 22 Process Areas pelas categorias Category Process Areas Organizational Process Focus Process Organizational Process Definition +IPPD Management Organizational Training Organizational Process Performance Organizational Innovation and Deployment Project Planning Project Project Monitoring and Control Management Supplier Agreement Management Integrated Project Management +IPPD Risk Management Quantitative Project Management Requirements Management Engineering Requirements Development Technical Solution Product Integration Verification Validation Support Configuration Management Process and Product Quality Assurance Measurement and Analysis Decision Analysis and Resolution Causal Analysis and Resolution © 2007 by Carnegie Mellon University Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    47. Modelo CMMI 47 © 2007 by Carnegie Mellon University Níveis de Maturidade Optimizing 5 Focus on continuous process improvement Quantitatively 4 Process measured Managed and controlled Defined 3 Process characterized for the organization and is proactive Managed 2 Process characterized for projects and is often reactive Initial 1 Process unpredictable, poorly controlled, and reactive Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    48. Modelo CMMI 48 Na Staged Representation, existem 5 níveis de maturidade © 2007 by Carnegie Mellon University Level Focus Process Areas Quality Continuous Productivity 5 Optimizing Organizational Innovation and Deployment Process Causal Analysis and Resolution Improvement 4 Quantitatively Quantitative Organizational Process Performance Managed Management Quantitative Project Management 3 Defined Process Requirements Development Standardization Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition +IPPD Organizational Training Integrated Project Management +IPPD Risk Management Decision Analysis and Resolution Requirements Management 2 Managed Basic Project Planning Project Project Monitoring and Control Management Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Risk Rework 1 Initial Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    49. Modelo CMMI 49 Foco na Institucionalização “The way things are done in here” “O real processo das equipas” “O processo utilizado nas alturas de crise, quando não há espaço para desperdício” Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    50. 50 Métodos nas Empresas Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    51. Métodos nas empresas 51 Relembrando “There’s no silver bullet” Métodos devem estar ligados aos objectivos de negócio Métodos devem ser adoptados e ajustados pelas equipas Imposição de métodos baseada apenas em hierarquia não resulta Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    52. Métodos nas empresas 52 Organizações necessitam de visão conjunta Project Management Office (PMO) Software Engineering Process Group (SEPG) Enterprise Agile (Scrum of Scrums) Enterprise Lean Necessária adaptação Ajuste à realidade Ajuste aos objectivos de negócio Ajustes baseadas em medidas Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    53. 53 Perguntas? Don’t be shy!!! Nuno Alexandre Seixas [nseixas@gmail.com] MSE 2008 CMMI Authorized Instructor Certified SCRUM Master Engenharia de Software | Nuno Seixas | nseixas@gmail.com
    SlideShare Zeitgeist 2009

    + Sérgio SantosSérgio Santos Nominate

    custom

    110 views, 1 favs, 2 embeds more stats

    Apresentação realizada pelo Eng. Nuno Seixas, par more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 110
      • 74 on SlideShare
      • 36 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 5
    Most viewed embeds
    • 35 views on http://jeknowledge.pt
    • 1 views on http://feeds2.feedburner.com

    more

    All embeds
    • 35 views on http://jeknowledge.pt
    • 1 views on http://feeds2.feedburner.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories