University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE1 LiGuo Huang Computer Science Department Andrew & Erna Viterbi School of Engineering University of Southern California February 16, 2006 Value-Based Software Quality Achievement Process Modeling
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE2 Outline Value-Based Software Quality Achievement (VBSQA) Process Experience of Applying VBSQA Process VBSQA-OPN Model VBSQA Process Generator Conclusions and Future Work
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE3 Real-World Software Quality Achievement Heterogeneous group of stakeholders with different (sometimes even conflicting) quality perspectives Developing a process for software quality achievement needs to address the following problems –Quality (Q-) attributes are not neatly orthogonal or independent –Same stakeholder’s strengths of dependencies on Q-attributes even vary in project development life cycle –A flexible process is expected in real-world application
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE4 Research Question Stakeholders Define Negotiate Develop Monitor and Control Mission-specific combinations of quality (Q-) attributes Value-Based Metrics Value-Based Models Process Value Propositions
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE5 Value-Based Software Quality Achievement (VBSQA) Process
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE6 Characteristics of VBSQA Process Identify value conflicts on Q-attributes through risk analysis, architecture/technology evaluation and milestone reviews Resolve conflicts by performing tradeoff analyses A great deal of concurrency and backtracking Achieve stakeholder WinWin-balanced software quality requirements
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE7 Application of VBSQA Process USC/NASA Inspector SCRover project Real-world Enterprise Resource Planning (ERP) software development in China (DIMS upgrade project in Neusoft) –A variety of stakeholders with different value propositions –Product lines are maintained as a basis for future upgrades –Three process patterns: deadline-driven, product-driven, market-trend driven –Different software quality assessment criteria and different software development activities are adopted in different process patterns.
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE8 Experience of Applying VBSQA Process Two week tutorials on VBSQA Process and WinWin Spiral Model –Developed a process instance composed of 22 ERP software development activities 6 misplaced activities due to misinterpretation 4 missing activities Feedback from project managers of ERP solution providers –Shorten the new process learning curve –Maintain the flexibility of the process –Identify the flaws in a process instance –Tradeoffs among conflicting software Q-attributes –Determine stakeholders’ perspectives and interaction points
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE9 Model VBSQA Process Using Object Petri Nets (OPN) Inherit the merits of Petri Nets (PN) –Formal semantics despite the graphical nature –State-based instead of event-based –Abundance of analysis techniques –Model concurrent process activities Support separation of concerns among various stakeholders’ perspectives –Object-oriented approach –Model VBSQA Process Framework as the System Net (SN) –Model each stakeholder’s process instance in a separate Object Net (ON) Process activities in ONs are inherited from process steps/milestones in SN –Interaction/negotiation among stakeholders and the SN/ON synchronization can be defined later
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE10 Formal Definitions of VBSQA-OPN An OPN is a 3-tuple –System Net: is a Petri Net with its tokens referring to Object Nets –Object Nets: (n>1) –SN and ON s synchronize via “channels” ρ VBSQA-OPN = –System Net:, VBSQA Process Framework or its tailoring –Object Nets: (n>1) represents a set of process instances of stakeholders, –Synchronization relation between SN and ON s :, a mapping between VBSQA process framework steps/milestones and ERP software development activities. –Guard functions: activation condition(s) of transitions –Constraint 1: Inheritance of chronological order –Constraint 2: Critical Path Dependency
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE11 VBSQA Process Generator – Based on VBSQA-OPN Model
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE12 VBSQA Process Creator – Creating an ERP VBSQA Process Instance
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE13 VBSQA Process Checker – Identifying the Flaws in a VBSQA Process Instance Maintain the flexibility of the process –Allow project managers to inherit a NULL activity from each step in the SN (VBSQA process framework) Introduce the flaws of missing activities to violate critical path activity dependencies VBSQA Process Checker –Formal properties defined in the VBSQA-OPN System Net (SN) and implemented in the VBSQA Process Checker Examples of the activity dependency constraints in the SN –SCS define acceptable & desired values for Q-attributes must be completed before Risk analysis & architecture/technology evaluation –Risk analysis & architecture/technology evaluation must be completed before System top-level design –System top-level design must be completed before LCO Review
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE14 VBSQA Process Simulator – ROI of Synchronous Stakeholder Interaction Activities
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE15 Modeling Costs and Benefits Costs –Mutual learning: 24 hrs (3 days) –Developing plan: 2 hrs (DIMS upgrade project) –V&V of plan: 4 hrs (DIMS upgrade project) –Improving plan: 3 hrs (DIMS upgrade project) Benefits –Time, effort saved: total 66 hrs in DIMS upgrade project Mutual learning: 56 hrs (= 80 hrs - 24 hrs) Developing plan: 6 hrs (= 8 hrs - 2 hrs) V&V of plan: 4 hrs (= 8 hrs - 4 hrs) –User satisfaction: More confident in generated project plans Simulation results are very helpful in optimizing project plans Easy to learn
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE16 Conclusions and Lessons Learned Value-Based Software Quality Achievement (VBSQA) process –helps in achieving stakeholder WinWin-balanced project quality outcomes VBSQA-OPN model: synchronized and stabilized the activities, value propositions, and commitments of multiple success-critical stakeholders. Process visualization and simulation tools significantly increased management visibility and controllability OPN provides a feasible solution to the value-based process modeling Future work: more simulations on VBSQA Process Generator
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE17 Backup Slides
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE18 VBSQA Process Creator – Map ERP Software Development Activities into VBSQA Process Framework VBSQA Process Framework Steps/Milestones (System Net) ERP Software Development Activities (Object Nets) Project cost/benefit analysisEstimate system upgrade cost & develop DMR results chain (Developer) Verify system upgrade cost (System Acquirer) SCS define acceptable & desired values for Q-attributes Requirement elicitation meeting Groupware WinWin negotiation LCA ReviewSelected architecture internal review (Developer) Selected architecture external review CCDInternal core capability demo (Developer) Onsite core capability demo Objectives: To shorten the VBSQA process learning curve To reduce the flaws such as the misplacement of ERP development activities due to the misinterpretation of the process steps when creating a process instance To adapt to the changes in ERP software development activities and/or workflows
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE19 VBSQA Process Simulator ROI of Synchronous Stakeholder Interaction Activities –ROI = (Value – Cost)/Cost –Value: V: the total value of the project; E ij (0-1): the effectiveness of a specific process activity on mitigating the risk of Q- attribute i if it is performed in phase j; R i (0-1): the risk of Q-attribute i to the total value of the project. –Cost = Activity Cost + Rework Cost Various combinations of synchronous stakeholder interaction activities and developer internal activities