Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Southern California Center for Systems and Software Engineering Process Models CS510 Supannika Koolmanojwong.

Similar presentations


Presentation on theme: "University of Southern California Center for Systems and Software Engineering Process Models CS510 Supannika Koolmanojwong."— Presentation transcript:

1 University of Southern California Center for Systems and Software Engineering Process Models CS510 Supannika Koolmanojwong

2 University of Southern California Center for Systems and Software Engineering 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-CSSE2

3 University of Southern California Center for Systems and Software Engineering 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-CSSE3

4 University of Southern California Center for Systems and Software Engineering 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-CSSE4

5 University of Southern California Center for Systems and Software Engineering (C) 2012 USC-CSSE5 Waterfall Model Spiral Model Iterative and Incremental Model Agile Model

6 University of Southern California Center for Systems and Software Engineering 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 (C) 2012 USC-CSSE6

7 University of Southern California Center for Systems and Software Engineering 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-CSSE7

8 University of Southern California Center for Systems and Software Engineering 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-CSSE8

9 University of Southern California Center for Systems and Software Engineering 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-CSSE9

10 University of Southern California Center for Systems and Software Engineering Spiral ModelWinWin Spiral Anchor Point Milestones Spiral/RUP compatibility MBASE Spiral, MBASE variants and invariants LeanMBASEIncremental Commitment ModelIncremental Commitment Spiral Model (C) 2012 USC-CSSE10 Spiral Family of Models Where do OC&A’s come from? Where are phases and milestones ? How to avoid model clashes? What is really required and optional ? How to make the process more lean and agile? How can spiral be mapped onto system acquisition phases and milestones? How can hardware, software and human factors be integrated?

11 University of Southern California Center for Systems and Software Engineering Spiral Model (1988) (C) 2012 USC-CSSE11 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

12 University of Southern California Center for Systems and Software Engineering WinWin Spiral Model (1994) (C) 2012 USC-CSSE12 Use the Theory W (win-win) approach to converge on a system's next level objectives, constraints and alternatives.

13 University of Southern California Center for Systems and Software Engineering Anchor Point Milestones (1996) (C) 2012 USC-CSSE13 Lack of intermediate milestones –Anchor Points: LCO, LCA, IOC –Concurrent-engineering spirals between anchor points

14 University of Southern California Center for Systems and Software Engineering Spiral/RUP compatibility (C) 2012 USC-CSSE14

15 University of Southern California Center for Systems and Software Engineering Model-Based (System) Architecting and Software Engineering (MBASE) (C) 2012 USC-CSSE15

16 University of Southern California Center for Systems and Software Engineering The Incremental Commitment Model 16 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 6 Key Principles: (C) 2012 USC-CSSE

17 University of Southern California Center for Systems and Software Engineering ICSM: The Incremental Commitment Spiral Model (C) 2012 USC-CSSE17

18 University of Southern California Center for Systems and Software Engineering Spiral ModelWinWin Spiral Anchor Point Milestones Spiral/RUP compatibility MBASE Spiral, MBASE variants and invariants LeanMBASEIncremental Commitment ModelIncremental Commitment Spiral Model (C) 2012 USC-CSSE18 Spiral Family of Models Where do OC&A’s come from? Where are phases and milestones ? How to avoid model clashes? What is really required and optional ? How to make the process more lean and agile? How can spiral be mapped onto system acquisition phases and milestones? How can hardware, software and human factors be integrated?

19 University of Southern California Center for Systems and Software Engineering 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-CSSE19

20 University of Southern California Center for Systems and Software Engineering V-Model (C) 2012 USC-CSSE20 - 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

21 University of Southern California Center for Systems and Software Engineering Dual-Vee Model (C) 2012 USC-CSSE21 Forsberg, Kevin; Harold Mooz, Howard Cotterman (2005), Visualizing Project Management, Third Edition, New York, NY: J. Wiley & Sons, Inc. -Show concurrent development -Supports system of systems

22 University of Southern California Center for Systems and Software Engineering (C) 2012 USC-CSSE22 V with multiple deliveries

23 University of Southern California Center for Systems and Software Engineering 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 (C) 2012 USC-CSSE23

24 University of Southern California Center for Systems and Software Engineering 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-CSSE24

25 University of Southern California Center for Systems and Software Engineering Rational Unified Process (RUP) (C) 2012 USC-CSSE25 Six Best Practices Develop iteratively Manage requirements Use components Model visually Verify quality Control changes Discipline

26 University of Southern California Center for Systems and Software Engineering OpenUP OpenUP is a lean Unified Process that applies iterative and incremental approaches within a structured lifecycle (C) 2012 USC-CSSE26

27 University of Southern California Center for Systems and Software Engineering 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-CSSE27

28 University of Southern California Center for Systems and Software Engineering 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-CSSE28

29 University of Southern California Center for Systems and Software Engineering 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 29(C) 2012 USC-CSSE

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

31 University of Southern California Center for Systems and Software Engineering 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-CSSE31

32 University of Southern California Center for Systems and Software Engineering (C) 2012 USC-CSSE32

33 University of Southern California Center for Systems and Software Engineering Introduction to scrum Scrum Framework s1M_8&feature=relatedhttp://www.youtube.com/watch?v=_BWbaZ s1M_8&feature=related Explaining Scrum 1ujCM&feature=related (C) 2012 USC-CSSE33

34 University of Southern California Center for Systems and Software Engineering Scrum vs ICSM ScrumDefinitionICSM Product Backlog ListPrioritized list of requirements; may be or may be not developed; Requirements, Capabilities SprintTwo to four weeksIteration Product IncrementResult of each iterationIteration assessment report Scrum MasterA management representativeFacilitator; Success Critical Stakeholder Daily ScrumShort daily team meetingTeam meeting Product ownerPrioritize backlog; decide the order in which things are built Success Critical Stakeholder Scrum teamStakeholdersSuccess Critical Stakeholder Sprint BacklogList of tasks to perform during each SprintIteration plan Sprint Review MeetingEnd of sprint meeting; to review product increment ARB ImpedimentThings that block the project progressRisks, defects, concerns, issues, problems Sprint RetrospectiveLook backward- what went well …Iteration assessment Planning PokerEstimationCost, schedule estimation Prioritization Definition of DoneSuccessful condition of an itemExit Criteria 34(C) 2012 USC-CSSE

35 University of Southern California Center for Systems and Software Engineering Frequent release Shorter timebox Frequent communication Expecting requirements changes Drawbacks Unstable requirements No documents Lack of overall design (C) 2012 USC-CSSE35 XP-Extreme Programming

36 University of Southern California Center for Systems and Software Engineering XP principles (C) 2012 USC-CSSE36 XP PracticeDescription The Planning GameUser stories describe the desired features of the software system. Evaluate /estimate on how long and how important for each story Small ReleasesUser stories are prioritized and allocated to small releases Organizing System Metaphor Metaphor for system selected to guide implementation and naming conventions. Simple DesignOnly implement that which is required at current point in time. Continuous TestingSoftware tests are planned and written as part of the design process. Unit Test. Acceptance testing is specified by the customer. RefactoringRestructure the code or the underlying data model for the software system as the software system evolves Pair ProgrammingAll code is written by two developers, one entering the code and one reviewing Collective Ownership of Code All code is “owned” by all developers working on the software system. Eliminate the need to “coordinate” changes with other developers. Continuous IntegrationAll code changes are entered into the code base on a daily basis and tested daily in the integrated environment. 40-Hour Work WeekAll developers work 40 hour week with few exceptions. On-site CustomerContinuous access to a CRACK customer representative to ensure timely response Coding StandardsEvery developer follows the same coding standards

37 University of Southern California Center for Systems and Software Engineering 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 (C) 2012 USC-CSSE37 Ref: David Anderson, XP 2010, Trondheim, Norway

38 University of Southern California Center for Systems and Software Engineering 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-CSSE38

39 University of Southern California Center for Systems and Software Engineering Scrum vs XP (C) 2012 USC-CSSE39

40 University of Southern California Center for Systems and Software Engineering 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 (C) 2012 USC-CSSE40

41 University of Southern California Center for Systems and Software Engineering 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 (C) 2012 USC-CSSE41 Traffic at 100 percent capacity does not move Ref: David Anderson, XP 2010, Trondheim, Norway

42 University of Southern California Center for Systems and Software Engineering Visualize Workflow & Limit WIP (C) 2012 USC-CSSE42 At a morning standup meeting…… 1.Observe workflow What is happening? Where is the bottleneck? 2.Check performance Velocity, backlog 3.Identify improvement opportunities David Anderson, XP 2010, Trondheim, Norway

43 University of Southern California Center for Systems and Software Engineering 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 (C) 2012 USC-CSSE43 David Anderson, XP 2010, Trondheim, Norway

44 University of Southern California Center for Systems and Software Engineering How to start assigning tasks? (C) 2012 USC-CSSE44

45 University of Southern California Center for Systems and Software Engineering (C) 2012 USC-CSSE45

46 University of Southern California Center for Systems and Software Engineering (C) 2012 USC-CSSE46 Limit Work-In-Progress If urgent, drop the green task, because it has the lowest cost of delay

47 University of Southern California Center for Systems and Software Engineering Example of Kanban Board (C) 2012 USC-CSSE47

48 University of Southern California Center for Systems and Software Engineering Kanban applied to Scrum w9T8 (C) 2012 USC-CSSE48

49 University of Southern California Center for Systems and Software Engineering Comparing ICSM with Lean and Agile ICSM Principles [a]aRelated Lean PrinciplesRelated Agile Principles Commitment and accountability of system sponsors  See the whole: balanced objectives, contract incentives, measuring the right thing(s)  Empower the team  Business people and developers must work together daily throughout the project.  Provide the developers with environment and support they need  The most efficient and effective method of conveying information to and within a development team is face-to- face conversation. Success-critical stakeholder satisficing  Deliver as fast as possible  Satisfy the customer through early and continuous delivery of valuable software. Iterative development cycles and incremental growth of system definition and stakeholder commitment  Amplify learning  Build integrity in  Decide as late as possible to support concurrent development while keeping options open  Welcome changing requirements, even late in development.  Deliver working software frequently  Working software is the primary measure of progress  Agile processes promote sustainable development. Concurrent engineering  Empower the team  Decide as late as possible to support concurrent development while keeping options open  Continuous attention to technical excellence and good design enhances agility.  The best architectures, requirements, and designs emerge from self-organizing teams. Risk-based activity levels and milestones  Eliminate waste  Amplify learning  Build integrity in  Team reflects periodically on how to become more effective, then tunes and adjusts its behavior accordingly  Simplicity--the art of maximizing the amount of work not done--is essential.  Agile processes promote sustainable development. (C) 2012 USC-CSSE49

50 University of Southern California Center for Systems and Software Engineering 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-CSSE50

51 University of Southern California Center for Systems and Software Engineering Concurrent Engineering TeamX – JPL Concept Design Center – Aerospace Corp. (C) 2012 USC-CSSE51

52 University of Southern California Center for Systems and Software Engineering CDC Tasks (C) 2012 USC-CSSE52

53 University of Southern California Center for Systems and Software Engineering (C) 2012 USC-CSSE53

54 University of Southern California Center for Systems and Software Engineering (C) 2012 USC-CSSE54

55 University of Southern California Center for Systems and Software Engineering (C) 2012 USC-CSSE55

56 University of Southern California Center for Systems and Software Engineering (C) 2012 USC-CSSE56


Download ppt "University of Southern California Center for Systems and Software Engineering Process Models CS510 Supannika Koolmanojwong."

Similar presentations


Ads by Google