Gorilla Systems Engineering versus Guerilla Systems Engineering Keith A. Taggart, PhD James Willis Steve Dam, PhD Presented to the INCOSE SE DC Meeting,

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Distributed Data Processing
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Taking a Waterfall Project Agile REF: Paul Geberth GCSS-J Project Manager Establishment of an Agile Project.
The Relationship between Cost & Quality Submitted by: Haya A. El-Agha Submitted to: Eng. Hani Abu Amr.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
Alternate Software Development Methodologies
1 Copyright 2012 IASB Last Updated: 5/13/2015 Graduating All Students Innovation Ready A School Board Team Discussion Tool Click here to continue.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
 The Rise of Computer Science ◦ Machine Language (1 st Gen) ◦ Assembly Language (2 nd Gen) ◦ Third Generation Languages (FORTRAN, BASIC, Java, C++, etc.)
1 Project Management BMFP 4542 THE MANAGERIAL PROCESS
Why don’t we practice what we teach? Andre Oboler, David McG. Squire and Kevin B. Korb School of Computer Science and Software Engineering, Monash University,
Copyright 2005 Northrop Grumman Corporation 0 Critical Success Factors for system-of-system architecture / engineering 25 October 2006 Neil Siegel Sector.
Chapter 8 The Information Systems Planning Process Meeting the Challenges of Information Systems Planning Charles Cohen Presented by: Pablo De Luca.
1 Lecture 2.6: Organization Structures Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
© Copyright Eliyahu Brutman Programming Techniques Course.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Software Project Risk Management
Why don’t we practice what we teach? Andre Oboler, David McG. Squire and Kevin B. Korb School of Computer Science and Software Engineering, Monash University,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Development and Quality Plans
Graduating All Students Innovation Ready © Iowa Association of School Boards At the Board Table Discussion Tool.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Annual SERC Research Review - Student Presentation, October 5-6, Extending Model Based System Engineering to Utilize 3D Virtual Environments Peter.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CPTE 209 Software Engineering Summary and Review.
Software Project Management
IT Systems Analysis & Design
© The McGraw-Hill Companies, An Introduction Chapter 1 Software Project Management 4 th Edition Robert Hughes and Mike Cotterell.
Software Project Failure Software Project Failure Night Two, Part One CSCI 521 Software Project Management.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved BUSINESS PLUG-IN B17 Organizational Architecture Trends.
CSE 308 Software Engineering Software Engineering Strategies.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Business Plug-In B17 Organizational Architecture Trends.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
CSE Senior Design I Building a Plan Instructor: Mike O’Dell Several of the slides in this module are a modification and amplification of slides prepared.
1 Agile Risk Management CSSE579 Session 5 Part 4 With a review of what we’ve done so far, in the final slides.
Barriers to Technology Adoption/Use For ETEC 623 This informational presentation contains some information that I might share with the class in the form.
Systems Analysis and Design in a Changing World, Fourth Edition
22-January-2003cse FunctionalSpecs © 2003 University of Washington1 Functional Specs CSE 403, Winter 2003 Software Engineering
1 EE29B Feisal Mohammed EE29B: Introduction to Software Engineering Feisal Mohammed Ph: x3156.
Requirements Development in CMMI
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
 Chapter 1: Introduction NET481: Project Management Afnan Albahli.
An introduction to Project Management Ainsley Smith
EE694v-Verification-Lect7-1- Verification Plan & Levels of Verification The Verification Plan Yesterdays and today’s design environment Design specification.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Chapter 3 Project Management Parts of this presentation is extracted from Ian Sommerville’s slides located at
Migration of Legacy Software to Service Oriented Architecture Edward Stehle, Brian Pyles, Jonathon Max- Sohmer, Kevin Lynch.
Open source development model and methodologies.
What Will Be Covered Concurrent Engineering Defined Brainstorming
Software Engineering and Best Practices
IT Systems Analysis & Design
Verification Plan & Levels of Verification
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
QUALITY ASSURANCE.
What Will Be Covered Concurrent Engineering Defined Brainstorming
Rapid software development
Requirements Development in CMMI
Presentation transcript:

Gorilla Systems Engineering versus Guerilla Systems Engineering Keith A. Taggart, PhD James Willis Steve Dam, PhD Presented to the INCOSE SE DC Meeting, May

Definitions and Characteristics In the rather artificial world of systems engineering there are a couple of interesting types of inhabitants: Gorillas and Guerillas 2

Implications We do NOT intend to imply that Guerilla Systems Engineering is “Better” than Gorilla Systems Engineering We only mean to point out some interesting characteristics of the two and speculate on the implications these may have for the future The analogies are not exact but are rather meant to be thought provoking 3

Gorillas Systems Engineers Gorillas are the BIG guys: the US Government and the “uber” integrators, the primes These are the organizations and their members who produce or cause to be produced large complex and / or complicated systems They use the standard system engineering approach described by the “V” (or equivalent) – a standard set of artifacts (requirements, architectures, interface control documents, and so on) – and a limited set of relatively expensive tools to create and configuration manage these artifacts 4

How Gorillas Seem to Work On a typical program hundreds (if not thousands) of people work on Systems Engineering. Tools include: – Requirements management – Architecture development and management – Custom data bases – Computer modeling – Computer aided design – To mention the basics The processes used are invariably proprietary – Always certified, as in CMMI Level n (Usually 3 or higher) – Always involve large number of approval boards – Always involve large scale program reviews In the Department of Defense there are specified artifacts, reviews and milestones that must be adhered to – DoD 5000 and so on 5

Observations About Gorilla Systems Engineering (1 of 2) We offer some observations based on large programs on which we have worked that used Gorilla Systems Engineering: – Failure was not an option (though often a result) nor was bringing problems up the management chain – Program management seemed to believe that Systems Engineering must not last into production, should not last into testing, and preferably not too far into development. This was probably due to high costs associated with large Systems Engineering efforts. – Changes to requirements caused considerable disruption during the entire course of these large programs – Linking architecture and requirements is difficult if they are built and managed with separate tools (usually the case) 6

Observations About Gorilla Systems Engineering (2 of 2) We offer more observations based on large programs on which we have worked that used Gorilla Systems Engineering: – Geographical and organizational diversity made integration really, really hard – There were at least two sides to every interface and they never seemed to agree on the documentation – No one seemed to know how to define what constitutes a design – Nobody seemed to understand how software and hardware designs were to be integrated – Process often overshadowed results – More time was spent arguing about process and tools than about results – Too many review boards spoiled the product(s) 7

Guerilla Systems Engineering Guerilla Systems Engineering tries to deal with the reality of the jungle full of Gorillas and accomplish something helpful It focuses on some aspect of the process that is failing and tries to move outside of the process using small, well integrated teams of experts to make progress 8

Observations about Guerilla Systems Engineering (1 of 2) Some of the authors have participated in Guerilla Systems Engineering and offer some observations: – Guerillas are born of desperation – Guerillas will only be tolerated for a limited time with a very limited focus – Roadblocks will be thrown up at every opportunity – Stealth is essential but impossible – Too much visibility will cause the Guerillas’ early demise – Operating outside of the process will cause their early demise 9

Observations about Guerilla Systems Engineering (2 of 2) Some of the authors have participated in Guerilla Systems Engineering and offer more observations: – Guerillas have a very limited lifetime so they concentrate on analyzing specific critical capabilities and showing sufficiency of end-to-end performance for a relevant set of threads. – Guerillas have very limited resources so they have to use inexpensive and widely available integrated and automated tools – Guerillas always “lose” in the long run but one case with limited success in the area of design is known 10

BUT… Guerilla Systems Engineering characteristics may be more appropriate in the budget constrained future of systems engineering: – Sponsors will not want to pay for large SE efforts – New approaches to program development such as “Agile”, “IT Box”, and wider integration into an existing “SoS” will probably require both more focus and more flexibility. – Capability analysis and “sufficiency” over many capabilities is becoming more important than optimization of a few “critical” capabilities – Systems Engineering teams must become smaller and more agile to respond to these trends – Systems Engineering tools must become more inexpensive, accessible, flexible, and automated to support these teams. 11

Conclusions Future system engineering efforts, if tolerated at all, will have to operate more like Guerillas than Gorillas A major impediment to Guerillas has been the lack of an inexpensive widely available integrated tool set to allow small groups of organizationally and geographically dispersed experts to match and exceed the work of an army of Gorillas The SPEC Innovations Lifecycle Modeling Language (LML) and tool is designed to empower future Guerillas to succeed. See the following SEDC talks: – “Lifecycle Modeling – A Quick Overview of a New Methodology for Simple, Rapid Development, Operations and Support” – “Lifecycle Modeling - Application to Software Development“