1 / 56

Process Models

Process Models. CS510 Supannika Koolmanojwong. Outline. What is a Process Model? Spiral Family of Models (1988 – 2011) Incremental Commitment Spiral Model V-Model RUP/ OpenUp Lean, Scrum, XP, Kanban Concurrent Engineering. Code-and-fix. Free-form working environments H obby project

fionan
Télécharger la présentation

Process Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Process Models CS510 Supannika Koolmanojwong

  2. Outline • What is a Process Model? • Spiral Family of Models (1988 – 2011) • Incremental Commitment Spiral Model • V-Model • RUP/OpenUp • Lean, Scrum, XP, Kanban • Concurrent Engineering (C) 2012 USC-CSSE

  3. Code-and-fix • Free-form working environments • Hobby project • Cowboy programming • Lack of structure • Uncertain design requirements • Incompleteness • Code monkey – simple, repetitive code • Indie development – mostly video game (C) 2012 USC-CSSE

  4. Software Development Process • Or Software Development Life Cycle • The actual set of activities performed within an organization • Popular Models: • Waterfall model • Spiral model • Iterative and Incremental model • Agile model (C) 2012 USC-CSSE

  5. Waterfall Model Spiral Model Agile Model Iterative and Incremental Model (C) 2012 USC-CSSE

  6. Biggest Waterfall Software Project Failure • Throughout the 1980s and into the 1990s, most DoD projects followed the Waterfall approach • 75 percent of the projects failed or were never used. • HealthCare.gov ?? • FBI Virtual Case File ?? $170 Million http://www.infoq.com/resource/articles/scaling-software-agility/en/resources/ch02.pdf (C) 2012 USC-CSSE

  7. Biggest Agile Software Development Failure • UK Universal Credit (UC) digital project, £2bn , • 2010 and going on • UK is trying to promote Agile software development • Claimed to be the biggest agile software development project • To replace six of the main tax and benefits system in UK (tax credit, housing benefits, ..) (C) 2012 USC-CSSE http://www.computerweekly.com/news/2240187478/Why-agile-development-failed-for-Universal-Credit

  8. Biggest Agile Software Development Failure • Facts • Started with Agile • 24 contractors including HP, IBM, Capgemini, ThoughtWorks, …. • after two project directors departed (fired?, one dead), the third one changed to waterfall (2013) • 1500 people, massive number of suppliers • Claims • Problems from Waterfall-like contract • Command and Control culture • Contractors learn agile on the fly; never done agile before • disguise traditional processes as agile (C) 2012 USC-CSSE http://www.computerweekly.com/news/2240187478/Why-agile-development-failed-for-Universal-Credit

  9. Outline • What is a Process Model? • Spiral Family of Models (1988 – 2011) • Incremental Commitment Spiral Model • V-Model • RUP/OpenUp • Lean, Scrum, XP, Kanban • Concurrent Engineering (C) 2012 USC-CSSE

  10. Spiral Family of Models 1988 Where do OC&A’s come from? 1994 Where are phases and milestones ? 1996 1999 How to avoid model clashes? What is really required and optional ? 2001 How to make the process more lean and agile? 2005 • How can spiral be mapped onto system acquisition phases and milestones? • How can hardware, software and human factors be integrated? 2007 2010 (C) 2012 USC-CSSE

  11. Spiral Model (1988) • Waterfall model • Focus on front load elaboration • Spiral model • Risk-driven • Complete a round by review • Round 0- Feasibility Study • Round 1- Concepts of Operations • Round 2- Top level Reqm Spec http://csse.usc.edu/csse/TECHRPTS/1988/usccse88-500/usccse88-500.pdf (C) 2012 USC-CSSE

  12. WinWin Spiral Model (1994) Use the Theory W (win-win) approach to converge on a system's next level objectives, constraints and alternatives. http://csse.usc.edu/csse/TECHRPTS/1995/usccse95-509/usccse95-509.pdf (C) 2012 USC-CSSE

  13. Anchor Point Milestones (1996) • Lack of intermediate milestones • Anchor Points: LCO, LCA, IOC • Concurrent-engineering spirals between anchor points http://csse.usc.edu/csse/TECHRPTS/1995/usccse95-507/usccse95-507.pdf (C) 2012 USC-CSSE

  14. Spiral/RUP compatibility (C) 2012 USC-CSSE

  15. Model-Based (System) Architecting and Software Engineering (MBASE) (C) 2012 USC-CSSE

  16. The Incremental Commitment Model 6 Key Principles: Commitment and accountability Incremental growth of system definition and stakeholder commitment Concurrent engineering and Iterative development cycles Success-critical stakeholder satisficing Risk-based activity levels and milestones (C) 2012 USC-CSSE

  17. ICSM: The Incremental Commitment Spiral Model (C) 2012 USC-CSSE

  18. Spiral Family of Models 1988 Where do OC&A’s come from? 1994 Where are phases and milestones ? 1996 1999 How to avoid model clashes? What is really required and optional ? 2001 How to make the process more lean and agile? 2005 • How can spiral be mapped onto system acquisition phases and milestones? • How can hardware, software and human factors be integrated? 2007 2010 (C) 2012 USC-CSSE

  19. Outline • What is a Process Model? • Spiral Family of Models (1988 – 2011) • Incremental Commitment Spiral Model • V-Model • RUP/OpenUp • Lean, Scrum, XP, Kanban • Concurrent Engineering (C) 2012 USC-CSSE

  20. V-Model • - Extension of Waterfall model, but V up to pair development with testing • Widely used in systems engineering • Does not explicitly shown the concurrent engineering • Challenges in supporting evolutionary development (C) 2012 USC-CSSE

  21. Dual-Vee Model • Show concurrent development • Supports system of systems Forsberg, Kevin; Harold Mooz, Howard Cotterman (2005), Visualizing Project Management, Third Edition, New York, NY: J. Wiley & Sons, Inc. (C) 2012 USC-CSSE

  22. V with multiple deliveries (C) 2012 USC-CSSE

  23. The death of V-model ??? (software development) • Does not accommodate the change • Inefficient testing technique (write test as soon as the architecture is done) • Definitely not in System Engineering • May be just not popular in Software Engineering http://www.harmonicss.co.uk/index.php/tutorials/software-engineering/56?task=view (C) 2012 USC-CSSE

  24. Outline • What is a Process Model? • Spiral Family of Models (1988 – 2011) • Incremental Commitment Spiral Model • V-Model • RUP/OpenUp • Lean, Scrum, XP, Kanban • Concurrent Engineering (C) 2012 USC-CSSE

  25. Rational Unified Process (RUP) Discipline • Six Best Practices • Develop iteratively • Manage requirements • Use components • Model visually • Verify quality • Control changes http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process (C) 2012 USC-CSSE

  26. OpenUP • OpenUP is a lean Unified Process that applies iterative and incremental approaches within a structured lifecycle http://epf.eclipse.org/wikis/openup/ (C) 2012 USC-CSSE

  27. Outline • What is a Process Model? • Spiral Family of Models (1988 – 2011) • Incremental Commitment Spiral Model • V-Model • RUP/OpenUp • Lean, Scrum, XP, Kanban • Concurrent Engineering (C) 2012 USC-CSSE

  28. Lean Principles • From Toyota Production System • 7 Lean principles • Eliminate waste – anything that does not add value • Amplify learning – continuous update about the project • Decide as late as possible – delay decisions, gather more information • Deliver as fast as possible –daily deliveries, daily standup meeting • Empower the team – get good people, listen, communicate • Build integrity in – build good products • See the whole - “Think big, act small, fail fast; learn rapidly” (C) 2012 USC-CSSE

  29. Eliminate waste • Waste = anything that does not create value for a customer • Step 1: learning to see waste • Step 2: uncover the biggest sources of waste and eliminate them • Step 3: uncover the biggest remaining sources of waste and eliminate them (C) 2012 USC-CSSE

  30. The seven wastes of Software Development • Partially Done Work – tend to become obsolete; no idea it will eventually work; waste resources; should do risk-reduction and waste-reduction • Extra Processes – paperwork necessary?, try to use table, template • Extra Features – waste time and resources • Task Switching – put people in multiple projects • Waiting – causes delay; decide as late as possible • Motion – even walking down the hall waste time; sit in the same room • Defects – detect defect as soon ASAP • Management activities – instead of tracking status, make sure work flows properly; reduce tracking time (C) 2012 USC-CSSE

  31. Scrum • Compared to Rugby game, where all partners tackle the problem, passing the ball back and forth • Three main roles: Scrum master, Product owner, Team • Self-organizing, co-location teams (C) 2012 USC-CSSE

  32. http://www.codeproject.com/KB/architecture/scrum.aspx (C) 2012 USC-CSSE

  33. Introduction to scrum • Scrum Framework • http://www.youtube.com/watch?v=_BWbaZs1M_8&feature=related • Explaining Scrum • http://www.youtube.com/watch?v=WxiuE-1ujCM&feature=related (C) 2012 USC-CSSE

  34. Scrum vs ICSM (C) 2012 USC-CSSE

  35. XP-Extreme Programming • Frequent release • Shorter timebox • Frequent communication • Expecting requirements changes Drawbacks • Unstable requirements • No documents • Lack of overall design (C) 2012 USC-CSSE

  36. XP principles (C) 2012 USC-CSSE

  37. XP • Three types of wastes from Toyota Production system • Muda – non-value added tasks • E.g. No gold plating • Avoid Muda by using high planning and coordination • Muri – uneveness or variability • Avoid Muri by using skilledcraftmanship, one story at a time • Mura – overburdening or failure load • E.g. Fixing bugs, responds to helpdesk, fix requirements • Avoid Mura by using tests and tight definition of done Ref: David Anderson, XP 2010 , Trondheim, Norway (C) 2012 USC-CSSE

  38. To reduce waste in XP • Techniques to reduce waste in XP • Agile Workcell • Elimination of planning • Reducing Red • This introduces Kanban (further elimination of waste) (C) 2012 USC-CSSE

  39. Scrum vs XP http://tommynorman.blogspot.com/2009_01_01_archive.html (C) 2012 USC-CSSE

  40. Kanban • Focus on “managing flow” • Limit Work-In-Progress: complete a feature before starting a new one • Iteration and estimate are optional • Could be used on top of other processes http://www.crisp.se/kanban (C) 2012 USC-CSSE

  41. Kanban concepts • Visualize workflow • More than work, but interaction and coordination • Limit Work-in-progress • Measure and Manage Flow • Use metrics such as velocity, burndown, churn • Make Process Policies explicit • Clear on who is doing what and when • Use Models to evaluate improvement opportunities Traffic at 100 percent capacity does not move Ref: David Anderson, XP 2010 , Trondheim, Norway http://moduscooperandi.com/personalkanban/why-limit-work-in-progress/ (C) 2012 USC-CSSE

  42. Visualize Workflow & Limit WIP At a morning standup meeting…… • Observe workflow • What is happening? • Where is the bottleneck? • Check performance • Velocity, backlog • Identify improvement opportunities David Anderson, XP 2010 , Trondheim, Norway (C) 2012 USC-CSSE

  43. Probably no instant feedback from Success Critical Stakeholders • What can be improved here ? • Bottleneck, Variability, Waste • Craftmanship & Leadership to improve the process and use performance as evidence to support David Anderson, XP 2010 , Trondheim, Norway (C) 2012 USC-CSSE

  44. How to start assigning tasks? (C) 2012 USC-CSSE

  45. (C) 2012 USC-CSSE

  46. Limit Work-In-Progress If urgent, drop the green task, because it has the lowest cost of delay (C) 2012 USC-CSSE

  47. Example of Kanban Board (C) 2012 USC-CSSE

  48. Kanban applied to Scrum • http://www.youtube.com/watch?v=0EIMxyFw9T8 (C) 2012 USC-CSSE

  49. Comparing ICSM with Lean and Agile (C) 2012 USC-CSSE

  50. Outline • What is a Process Model? • Spiral Family of Models (1988 – 2011) • Incremental Commitment Spiral Model • V-Model • RUP/OpenUp • Lean, Scrum, XP, Kanban • Concurrent Engineering (C) 2012 USC-CSSE

More Related