Twelve Roles and Three Types of Systems Engineering Sarah A. Sheard
45 Slides1.63 MB
Twelve Roles and Three Types of Systems Engineering Sarah A. Sheard Software Productivity Consortium February 11, 2003 SOFTWARE PRODUCTIVITY CONSORTIUM 1
Agenda Why Systems Engineering? Twelve Roles Three Types of Implementation SOFTWARE PRODUCTIVITY CONSORTIUM 2
What’s New in Systems Engineering? Systems are becoming far more softwareintensive System complexity is increasing fast due to software complexity What’s the same as it was, and what’s different, and what should we do about it? SOFTWARE PRODUCTIVITY CONSORTIUM 3
Original Reasons for Systems Engineering Vasa, Sweden, 1628 Systems of pieces built by different subsystem groups didn’t perform system functions – Often broke at the interfaces Photo from Dec 1999 Civil Engineering magazine Problems emerged, and desired properties didn’t, when subsystems designed independently were integrated Managers and chief engineers tended to pay attention to the areas in which they were skilled Developed systems were not usable Cost overruns, schedule delays, performance problems SOFTWARE PRODUCTIVITY CONSORTIUM 4
The Threat Concerns Software is becoming the brain of most systems – But: Software developers are often not trained in engineering – And: Systems engineers rarely know software deeply Managers and politicians are not engineers value of systems engineering is not clear What systems engineering is needed? How should systems engineering work for software? SOFTWARE PRODUCTIVITY CONSORTIUM 5
Goals Implement interdisciplinary engineering of systems – Reduce the risk and effects of system failures – Involve the right people at the right time – But we lack agreed-upon operational definition of “systems engineering” to use as rationale INCOSE definition: “An interdisciplinary approach and means to enable the realization of successful systems” – Leaves open how it should be done – Inclusive and vague SOFTWARE PRODUCTIVITY CONSORTIUM 6
Can we answer these? Is systems engineering the engineering of the top-level system, or a process? Are systems engineers specialists or generalists? Are systems engineers some people or all engineers? How well do standards and capability models describe systems engineering? SOFTWARE PRODUCTIVITY CONSORTIUM 7
Can we answer these? (cont’d) What tools are needed for systems engineering? What research should be done? How do you measure systems engineering? How do you train people to do systems engineering? How do you quantify the value of systems engineering? SOFTWARE PRODUCTIVITY CONSORTIUM 8
Two Papers “Twelve Systems Engineering Roles,” 1996 – Showed that INCOSE disagrees on what systems engineering is – Described twelve roles – Used as a definition of systems engineering “Three Types of System Engineering Implementation’” 2000 – How systems engineering (and roles) are implemented At www.software.org at “Recent Papers” SOFTWARE PRODUCTIVITY CONSORTIUM 9
Approach of 12 Roles Paper Describe roles considered part of systems engineering – Purpose: improve communication – Method: analyze INCOSE papers SOFTWARE PRODUCTIVITY CONSORTIUM 10
Twelve Systems Engineering Roles RO Requirements Owner CI SD System Designer TM Technical Manager SA System Analyst IM Information Manager VV Validation and Verification Engineer PE Process Engineer LO Logistics/Operations Engineer G Customer Interface CO Coordinator CA Classified Ads SE Glue among subsystems SOFTWARE PRODUCTIVITY CONSORTIUM 11
Requirements Owner Requirements Owner Requirements Manager, Allocater, Maintainer Specifications Writer or Owner Developer of Functional Architecture Developer of System and Subsystem Requirements From Customer Needs SOFTWARE PRODUCTIVITY CONSORTIUM 12
System Designer System Designer Owner of “System” Product Chief Engineer System Architect Developer of Design Architecture Specialty Engineer (Some, Such As Human-Computer Interface Designers) “Keepers of the Holy Vision” [Boehm 94] SOFTWARE PRODUCTIVITY CONSORTIUM 13
System Analyst System Analyst Performance Modeler Keeper of Technical Budgets System Modeler and Simulator Risk Modeler Specialty Engineer (Some, Such As Electromagnetic Compatibility Analysts) SOFTWARE PRODUCTIVITY CONSORTIUM 14
Validation/Verification Engineer Validation and Verification Engineer Test Engineer Test Planner Owner of System Test Program System Selloff Engineer SOFTWARE PRODUCTIVITY CONSORTIUM 15
Logistics/Ops Engineer Logistics, Operations, Maintenance, and Disposal Engineer Developer of Users’ Manuals and Operator Training Materials SOFTWARE PRODUCTIVITY CONSORTIUM 16
Glue Among Subsystems Owner of “Glue” Among Subsystems Seeker of Issues That Fall “in the Cracks” System Integrator Owner of Internal Interfaces Risk Identifier “Technical Conscience of the Program” [Fisher 92] SOFTWARE PRODUCTIVITY CONSORTIUM 17
Customer Interface Customer Interface Customer Advocate Customer Surrogate Customer Contact Marketing Interface – Technical sales rep – Product engineering expert – Competitive analysis SOFTWARE PRODUCTIVITY CONSORTIUM 18
Technical Manager Technical Manager Planner, Scheduler, and Tracker of Technical Tasks Owner of Risk Management Plan Product Manager Product Engineer SOFTWARE PRODUCTIVITY CONSORTIUM 19
Information Manager Configuration Management Data Management Metrics SOFTWARE PRODUCTIVITY CONSORTIUM 20
Process Engineer Process Engineer Business Process Reengineer or Business Analyst Owner of the Systems Engineering Process Attention to enterprise needs rather than to needs of individual systems and customers – product lines SOFTWARE PRODUCTIVITY CONSORTIUM 21
Coordinator Coordinator of the Disciplines Tiger Team Head Head of Integrated Product Teams (IPTs) System Issue Resolver SOFTWARE PRODUCTIVITY CONSORTIUM 22
Classified Ads Systems Engineer Wo rl aon d ane do Rm t iaori n o ,w t oce ecx o sntg i uvi c eca te .n Ctio Wo s r aon ld ane do Rm t iaori n o ,w t oce ecx o sntg i uvi c eca te .n Ctio s “Skills must include shell scripting, SQL, performance analysis, and network integration.” “.five years of solid analytical & debugging expertise in a telecommunications environment” “Analyze and develop systems level software in C/C and UNIX scripts.” SOFTWARE PRODUCTIVITY CONSORTIUM 23
Classified Ads Systems Engineer, cont’d “Object-Oriented/Design/Analysis/ Programming. RDBMS (Oracle), .CICS/PLI, .STAIRS/ Search Manager.” Wo r aon ld ane Rm t iaori d ont o ,ws oce ecx ntg o i u vi eca cte .n Ctio Wo s rld ane aon d t on Rm iaori o ,ws t oce ecx ntg o i u vi eca cte .n Ctio s “Provide UNIX Administration and service delivery for our . Internet service” “Provide design, implementation, and ongoing support for Managed and NonManaged Private X.25, Frame Relay, and ATM Networks ” Not considered basic SE role; included to show that there are still other definitions. SOFTWARE PRODUCTIVITY CONSORTIUM 24
The Roles in INCOSE Papers Role Reference Bahill 94 Beam 94 Blanchard 94 1 RO Boehm 94 Dick 94 Fabrycky 94 Friedman 94 Grady 94 Hatley 94 Lacy 94 Lake 94 Mar 94 Rechtin 94 Sage 94 Wymore 94 Bate 95 (SE-CMM) CAWG 95 (SECAM) DSMC 90 Matty 95 McKinney 95 Sheard 95 2 SD 3 SA 4 VV 5 LO 6 G 8 TM 9 IM 11 CO 10 PE 7 CI Primary assumption, Secondary Assumption SOFTWARE PRODUCTIVITY CONSORTIUM 25
Twelve Roles Conclusions No two authors agree Most roles are controversial as to whether they are systems engineering roles “Systems Engineering” may mean any or all of the roles – clarify what you mean Unintentionally: A systems engineering capability may be defined by determining who performs each of these roles SOFTWARE PRODUCTIVITY CONSORTIUM 26
What’s Missing? What roles are important for which systems engineering tasks? Is systems engineering a process or an overarching function? a group or an approach? Is systems engineering mostly analysis and determination of measures of effectiveness, or does it include program coordination? How do you use standards and capability models to implement systems engineering? What kind of systems engineering research is needed? SOFTWARE PRODUCTIVITY CONSORTIUM 27
Three Types of SE Implementations Again attempting to understand extremes What differences there are between concepts of “systems engineering” – Generally becomes “aspects” of any real SE job as opposed to a hard distinction Note where the polarities of SE apply (what is “the discipline” vs “the generalist, etc.) SOFTWARE PRODUCTIVITY CONSORTIUM 28
Three Types of Systems Engineering Implementation Discovery Program Systems Engineering Approach SOFTWARE PRODUCTIVITY CONSORTIUM 29
Discovery Focus on determining whether a feasible solution exists Concept exploration and Definition (phases A&B) Systems engineers are analysts investigating unprecedented problems Very high complexity in problem space “Specialists in the SE Discipline” Examples: Atlas rocket, SAGE computer system, SOFTWARE Boston Central Artery/Tunnel PRODUCTIVITY CONSORTIUM 30
Program Systems Engineering Systems engineering is the group responsible for engineering the top level system – Good SEing involves many other people Focus on solution space and building it competitively. Complexity in solution and organization. Precedented problems, new solutions Generalists Technical side of program management, coordinator SOFTWARE PRODUCTIVITY CONSORTIUM 31
Approach The Systems Engineering Process What every engineer should do Focus on applying life cycle steps to any project and task – Setting up a colloquium talk – Developing a requirements document Problem solving using the scientific method Complexity in the variety of applications SOFTWARE PRODUCTIVITY CONSORTIUM 32
Three Types (in paper) Complexity Type 1 Discovery Unprecedented Problems Type 2 Program SE Unprecedented Solutions Type 3 Approach Any kind of engineering Life Cycle SOFTWARE PRODUCTIVITY CONSORTIUM 33
Three Types Complexity Type 1 Discovery Unprecedented Problems Type 2 Program SE Unprecedented Solutions Type 3 Approach Any kind of engineering Life Cycle SOFTWARE PRODUCTIVITY CONSORTIUM 34
Systems Engineering Standards Discovery Program Systems Engineering Approach None very applicable EIA 632, IEEE 1220, EIA/IS 731 IEEE 1220 EIA/IS 731 (tailored) SOFTWARE PRODUCTIVITY CONSORTIUM 35
If we do this can we answer Is systems engineering a process or an overarching function? a group or an approach? Is systems engineering mostly analysis and determination of measures of effectiveness, or does it include program coordination? How do you use standards and capability models to implement systems engineering? What kind of systems engineering research is needed? SOFTWARE PRODUCTIVITY CONSORTIUM 36
Examples Discovery Tools Analysis, simulation, modeling Research Analysis quality and applicability Program Systems Engineering Approach Templates for processes; requirement mgt; office tools None specific to doing a task with the system in mind particular Process cost effectiveness Benefits of implementation Coordination of best practices Education SOFTWARE PRODUCTIVITY CONSORTIUM 37
What Systems Engineering Do We Need? Systems engineering is both an umbrella function over software and other disciplines, and a necessary part of any product development process – Discovery is analysis-intensive; needed early to understand a complex problem space – Program systems engineering realizes design – Approach is needed for all tasks Systems engineering must involve others to create future systems that work – Determine who will perform what roles, when, and how SOFTWARE PRODUCTIVITY CONSORTIUM 38
Can we answer these? Is systems engineering the engineering of the top-level system, or a process? Are systems engineers specialists or generalists? Are systems engineers some people or all engineers? Do standards and capability models describe systems engineering well? SOFTWARE PRODUCTIVITY CONSORTIUM 39
Roles Type 1 SE Type 2 Type 3 Summary Agree that systems engineering consists of the sum of pieces – Roles – Types of implementation Clarify “Systems Engineering” Present a united front that systems must be engineered – Top level systems require Program Systems Engineering – All disciplines need Approach SOFTWARE PRODUCTIVITY CONSORTIUM 40
Author Contact Information Sarah A. Sheard Software Productivity Consortium 2214 Rock Hill Road Herndon, Virginia 20170 (703) 742-7106 [email protected] SOFTWARE PRODUCTIVITY CONSORTIUM 41
Roles and Types Discovery Program Systems Engineering Approach SA, RO, IM, TM SD, CO, CI, G, VV, RO RO, SD, VV, LO, CI, TM SOFTWARE PRODUCTIVITY CONSORTIUM 42
Role Combinations and Capability Models Life Cycle Roles – RO, SD, (SA), VV, LO – Technical focus areas Program Management Roles – TM, G, IM, CO, (CI) – Management focus areas Risk – G, SA, TM – Manage Risk Design Reviews – TM, CI, G – Monitor and Control Quality Assurance – PE, TM – Ensure Quality SOFTWARE PRODUCTIVITY CONSORTIUM 43
EIA/IS 731 (SECM) Focus Areas Technical 1.1 Define Stakeholder and System Level Requirements 1.2 Define Technical Problem 1.3 Define Solution 1.4 Assess and Select 1.5 Integrate System 1.6 Verify System 1.7 Validate System Management 2.1 Plan and Organize 2.2 Monitor and Control 2.3 Integrate Disciplines 2.4 Coordinate with Suppliers 2.5 Manage Risk 2.6 Manage Data 2.7 Manage Configurations 2.8 Ensure Quality Environment 3.1 Define and Improve the Systems Engineering Process 3.2 Manage Competency 3.3 Manage Technology 3.4 Manage SE Support Environment SOFTWARE PRODUCTIVITY CONSORTIUM 44
RO Build and Unit Test System and Subsystem Design SD VV Integration and System Test CI Requirements Analysis Business Development CO Project Management Process TM G SA Site Installation and Support Use Example: 12 Roles and Organizational Processes LO PE Support Processes (CM, DM, Network) IM Human Relations (Hiring, Training, etc.) SOFTWARE PRODUCTIVITY CONSORTIUM 45