Towards detailed use cases and alignment to OSLC V0.2 Gray Bachelor 19th July 2011 OSLC PLM Workgroup 1 What’s in here ? This is working material used to build out the OSLC PLM scenarios to support more detailed workings on Spec usage and extension by way of detailed use-cases and data analysis leading to service identification and modification This aims to work up ideas ahead of building up more formal models OSLC PLM Workgroup 2 Pains to target Increasing time and cost to manage integrity of complex system designs and its relevant requirements Increasing impact of an error arising from system design not updated correctly from changes Increasing need to coordinate work across larger and more dispersed work locations and organisational responsibilities OSLC PLM Workgroup 3 Business goal To reduce the time and cost to manage changes to complex systems arising from changes to requirements OSLC PLM Workgroup 4 There are 3 related concerns The primary domains of the target operating environment are Product design Enterprise integration Corporate compliance OSLC PLM Workgroup 5 Product design OSLC PLM Workgroup 6 Existing OSLC sources Activity diagram Who does what when Sequence diagram Which system component does what when OSLC PLM Workgroup 7 Which roles Product change administrator (Must System Engineer (Must Sub-system owner (Should Software Engineer (Could Business analyst (Should IT administrator (Could Enterprise Integration developer (Must Application support leader (Could OSLC PLM Workgroup 8 Which scenarios OSLC PLM SE Scenario #1 A Systems Engineer responds to a change in requirements OSLC PLM SE Scenario #2 New A Product Change owner assigns a change to a product release plan OSLC PLM EI Scenario #1 New A Business Analyst identifies required information and process support for a SE scenario An Integration Developer delivers process support through enterprise integration An IT administrator deploys process support to users An Application support leader handles problems with the deployed process support OSLC PLM Workgroup 9 OSLC PLM SE Scenario #1 A Systems Engineer responds to a change in requirements OSLC PLM Workgroup 10 Outline of OSLC PLM SE Scenario #1 1. Assign & communicate the change request (a1, a2, a3) Assign change request context Communicate change request Locate change request from notification 2. Apply request context to establish impacted requirements & implementation (a4, a5, a6) Locate requirements in change request context Create new revision of requirements context and reserve for editing Open new revision of context 3. Locate re-usable implementations to meet changed requirements (a7) Located reusable implementation to satisfy change? (A decision that drives alternative flows) 4a. Either update solution by way of adaption of re-usable implementations (a8, a9, a10, a13, a14, a15) Add selected implementation to change request as solution Merge selected implementation into context Trace to discipline responsibility Analyse detailed requirements & existing implementation Design minor updates to existing implementation Design by sub-team needed ? 4b. Or design solution by original design (a10, a11, a12, a15) Trace to discipline responsibility Design new implementation Add new design to change request solution Design by sub-team needed ? 5. Approve change request solution (a16, a17) Passed review of implementation for change request closure? Close change request * Note: 4 has alternative flows OSLC PLM Workgroup 11 Scenario Activity Diagram – 1 of 3 Page 1 of 3 Page 2 of 3 OSLC PLM Workgroup 12 SE use-cases (1 of View My CRs1 a3: Locate CR a3: View CR and its Product context a4: View impacted / new requirements a4: Explore associated information Collaborate with colleagues Plan work Start work a5: Create new revision of impacted configuration a5: Reserve affected items PLM Workgroup a6: Edit newOSLC revision 13 Note 1: Assume CR is assigned, not claimed Scenario Activity Diagram – 2 of 3 Page 1 of 3 Page 2 of 3 CR Page 2 of 3 Page 3 of 3 OSLC PLM Workgroup 14 SE use-cases (2 of a7: Identify impacted requirements Collaborate with colleagues Update existing requirements Search requirement catalog a7: Identify re-usable requirements Notify colleagues Propose changes to requirements Gain approval for requirements change Commit changes to requirements a14: Minor updates to solution Search system catalog Gain approval for system level changes a7: Identify candidate solutions a9: Assess impact of working set change a8: Add solution candidates to working set Propose candidate solutions Gain approval for system level candida OSLC PLM Workgroup 15 SE use-cases (3 of a11: System level design to meet changed requirements Verify systems level design a12: Add system level design changes to solution proposal Collaborate with colleagues Manage system level design changes Propose system level changes Notify colleagues Commit system level changes Gain approval for system level changes OSLC PLM Workgroup 16 Scenario Activity Diagram – 3 of 3 Page 2 of 3 Page 3 of 3 OSLC PLM Workgroup 17 SE use-cases (4 of a15: Identify sub-system owner Search people catalog Collaborate with colleagues a11: Preparation for sub-system or discipline engineering Notify project manager a11: Proposal for sub-system or discipline engineering Estimate sub-system or discipline engineer Approval for sub-system or discipline engine Release system level design package to sub-system Support the system level design Handle changes to system level design Notify colleagues Support design review a16: Approve sub-system engineering PLM Workgroup Escalate sub-systemOSLC engineering 18 Activity diagram analysis We don’t say what artefacts need to be dominated What is the vital meta-data to make association ? OSLC PLM Workgroup 19 Object diagram User Target Portfolio Role Budget CR Org Note Approval Product Customer Bug Work estimate Catalog Order Issue Market segment Plan Product family Requirement setConfiguration Requirement System component CR artefact Product artefact Requirement artefact System artefact Verification artefact Review meeting Work item Practice OSLC PLM Workgroup 20 Supporting objects and types Types Metric More detailed related objects Stakeholder requirement Use case Capability catalog Configuration Document System requirement Test case Practice catalog Activity diagram Regulatory requirement People catalog Model configuration Model element Sequence diagram Product catalog State machine Requirements catalog Algorithm System catalog Verification System result component catalog OSLC PLM Workgroup 21 More detailed analysis of the Requirement Change Handling towards OSLC service alignment OSLC PLM Workgroup 22 SE use-cases (1 of View My CRs1 a3: Locate CR a3: View CR and its Product context a4: View impacted / new requirements a4: Explore associated information Collaborate with colleagues Plan work Start work a5: Create new revision of impacted configuration a5: Reserve affected items PLM Workgroup a6: Edit newOSLC revision 23 Note 1: Assume CR is assigned, not claimed Example of use cases: understanding the impact of changes to Requirements Login Set my profile View My CRs1 Query Work Item Open Work Item a3: Locate CR Query CR a3.1: Open CR a3.2: Explore & view CR a3.3: View CR product context a3.4: Locate CR affected requirements a4: View impacted / new requirements Colouring represents different “levels” aN were in the Activity diagram, aN.M are new OSLC PLM Workgroup Query product context Query requirements baseline Query requirements 24 Next steps Align to sequence diagrams For detailed area identified Clarify objects Identify attributes Identify use of existing services Identify extensions Propose to look at the preceding stage to build up the CR OSLC PLM Workgroup 25 OSLC PLM SE Scenario #2 New A Product Change owner assigns a change to a product release plan OSLC PLM Workgroup 26 Assumptions about CRs These arise from customer request or marketing input (requests internal feedback from quality assessment analysis of field problems i.e. bugs that require more significant action OSLC PLM Workgroup 27 The CR preparation area to focus upon The assignment of the CR to a product context Identity, version or release Organisation, product responsible Optionally The association of CR with any related requirements , requests or associated information The association of a the CR with an existing (e.g. in process) configuration OSLC PLM Workgroup 28 Clarification of what mean to achieve by assignment and association The primary goal is to assign a CR to a target development org, responsible and activity to answer the customers question “who is assigned to work on my request ?” The secondary goal is to assign a CR to a target product, release / system build plan, to answer the customers question “when will it be available?” We may associate requirements and existing configurations as targets, candidates or hints prior to significant work beginning Work may start using one configuration as a basis and be switched to another as work progresses or plans finalised, even up to a late stage of commitment in some cases Requirements may get altered as the work proceeds, there is likely to be some changes up until a commit point where a core set of requirements becomes a must/shall and others marked for attention by development depending upon available time/resource. Typically organisations only assign resource to the must/shall, in some cases the assigned requirements and their ranking priorities are modified in flight such as to alter the CR and/or requirement to another CR, release, requirement OSLC PLM Workgroup 29 Out of scope Assessment of importance Analysis of feasibility, high level design or solutioning Estimating, Costing and revenue estimation Refinement of Cust Request to Formal CR CR triage, split, group, merge, consolidate, refine and extend Portfolio trade-off or scenarios prior to commitment Risk assessment Release planning Commitment to Plan Spin off to new product, variant or devt (e.g. project, org) Grouping in a queues prior to handling Escalation to win product responsibility acceptance Descoping or changes to assignment Negotiation of requirements to meet and contract a CR OSLC PLM Workgroup 30 CR handling cases CRs that prescribe a (target) product release (Yes CRs that need to be negotiated prior to acceptance by a product owner (OOS) CRs that fall into a single product area (Yes CRs that span multiple products (OOS CRs where there is an existing devt stream CRs where there is no existing stream (OOS) CRs that are queued not fully assigned (OOS OSLC PLM Workgroup 31 Introduction to the CR assignment and association use cases A relatively full and rich set of steps are shown These of course can be collapsed to Query available products – select one Query available versions – select one Query available requirements baselines – select one Query available requirements – select n Query available configurations – select one OSLC PLM Workgroup 32 Sketch of the preceding Activity Diagram: Assigning a CR to a Product Context Assign to product area responsible Analyse description Capture notes Assign to orgs Raise issues to address Assign to product families Assign to portfolio manager Assign to products1 Assign to product manager Assign to releases1 Assign to release manager Assign to CR streamAssign to architect analyst/SE Product unassigned Consult product analysts Validate product assignment Confirm product assignment OSLC PLM Workgroup Note 1 – one product release only Approve 33 Notify responsibles Example of use cases: Assigning a CR to a Product Context (Basic stuff same as before Login Set my profile View My CRs1 Query Work Item Open Work Item a3: Locate CR Query CR a3.1: Open CR a3.2: Explore & view CR … .. Overleaf .. Colouring represents different “levels” aN were in the Activity diagram, aN.M are new OSLC PLM Workgroup 34 Example of use cases: Assigning a CR to a Product Context a3.3: View CR product context Query Product Context of CR Identify available products Query products Select available products Associate Product Context with CR Identify available product releases Query product versions Select available product version Validate product context Approve product context 1. Colouring represents different “levels” aN were in the Activity diagram, aN.M are new 2. a3.3 is included if a context is already assigned OSLC PLM Workgroup 35 Sketch of the preceding Activity Diagram: Optionally associating requirements Existing requirements linked Validate ? existing requirements Capture notes Analyse description Locate relevant requirementsRaise issues to address Select / propose relevant requirements Call meetings / raise to-dos Identify product coverage Support CR/Req mtgs Identify product responsibility Consult SMEs Update product responsibility ? Confirm associated requirements Validate product assignment OSLC PLM Workgroup Approve 36 Notify responsibles Example of use cases: Optionally associating requirements (Basic stuff same as before Login Set my profile View My CRs1 Query Work Item Open Work Item a3: Locate CR Query CR a3.1: Open CR a3.2: Explore & view CR … .. Overleaf .. Colouring represents different “levels” aN were in the Activity diagram, aN.M are new OSLC PLM Workgroup 37 Example of use cases: Optionally associating requirements a3.3: View CR product context Query Product Context of CR Identify product context requirementsQuery associated Requirements of CR Select product context requirements Query requirements Identify available requirements Associate Requirement with CR Evaluate product context of identified requirements Select requirement Query products Query product versions Validate associated requirements Approve associated requirements 1. Colouring represents different “levels” aN were in the Activity diagram, aN.M are new 2. Side by side comparison is out of scope here OSLC PLM Workgroup 38 Sketch of the preceding Activity Diagram: Optionally associating configurations Existing configurations linked ? existing configurations Validate Capture notes Analyse description Locate relevant configurations from product Raise releases issues to address Locate relevant configurations from requirements Call meetings / raise to-dos Select / propose relevant configurations Support CR/Req mtgs Identify product coverage Consult SMEs Identify product responsibility Update product responsibility ? Confirm associated configurations Approve Validate product assignment OSLC PLM Workgroup 39 Notify responsibles Example of use cases: Optionally associating configurations (Basic stuff same as before Login Set my profile View My CRs1 Query Work Item Open Work Item a3: Locate CR Query CR a3.1: Open CR a3.2: Explore & view CR … .. Overleaf .. Colouring represents different “levels” aN were in the Activity diagram, aN.M are new OSLC PLM Workgroup 40 Example of use cases: Optionally associating configurations a3.3: View CR product context Query Product Context of CR Identify product context configurations Query configurations Select product context configurations Associate Configuration with CR Identify product configurations of associated requirements Query associated Requirements of C Identify available configurations Query Requirement Associated with C Associate Configuration with Requirement Evaluate product context of identified configurations Select configuration Validate associated configurations Approve associated configurations 1. Colouring represents different “levels” aN were in the Activity diagram, aN.M are new 2. Side by side comparison is out of scope here OSLC PLM Workgroup 41 Proposal at 19/7 1. Organisational assignment OOS 2. If Product “included in” and “consists of” allow n:m assignment i.e. loose collections then Product Family can be treated as a type of Product, hence deprecated 3. Validation of relevance of assignment and association is by query with possible annotation by SME/Analyst i.e. judgement not by testing configuration rules 4. Address assignment to 1 product release only 5. Re-Confirm product assignment, requirement and configuration association should include saving or “registering” the relationship OSLC PLM Workgroup 42 Changes V0.1 Initial version V0.2 Updates to include the CR assignment to product context and relevant requirements OSLC PLM Workgroup 43