190 likes | 379 Views
Value-Based Software Quality Achievement Process Modeling. LiGuo Huang liguohua@usc.edu Computer Science Department Andrew & Erna Viterbi School of Engineering University of Southern California February 16, 2006. Outline. Value-Based Software Quality Achievement (VBSQA) Process
E N D
Value-Based Software Quality Achievement Process Modeling LiGuo Huang liguohua@usc.edu Computer Science Department Andrew & Erna Viterbi School of Engineering University of Southern California February 16, 2006 ©USC-CSE
Outline • Value-Based Software Quality Achievement (VBSQA) Process • Experience of Applying VBSQA Process • VBSQA-OPN Model • VBSQA Process Generator • Conclusions and Future Work ©USC-CSE
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 ©USC-CSE
Define Mission-specific combinations of quality (Q-) attributes Negotiate Stakeholders Develop Monitor and Control Research Question Value Propositions Value-Based Metrics Process Value-Based Models ©USC-CSE
Value-Based Software Quality Achievement (VBSQA) Process ©USC-CSE
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 ©USC-CSE
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. ©USC-CSE
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 ©USC-CSE
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 ©USC-CSE
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 ONs 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 ONs: • , 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 ©USC-CSE
VBSQA Process Creator – Creating an ERP VBSQA Process Instance ©USC-CSE
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 ©USC-CSE
VBSQA Process Simulator– ROI of Synchronous Stakeholder Interaction Activities ©USC-CSE
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 ©USC-CSE
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 ©USC-CSE
Backup Slides ©USC-CSE
VBSQA Process Creator– Map ERP Software Development Activities into VBSQA Process Framework • 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 ©USC-CSE
VBSQA Process Simulator • ROI of Synchronous Stakeholder Interaction Activities • ROI = (Value – Cost)/Cost • Value: • V: the total value of the project; • Eij (0-1): the effectiveness of a specific process activity on mitigating • the risk of Q- attribute i if it is performed in phase j; • Ri (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 ©USC-CSE