John D. McGregor Module 6 Session 2 Tailoring Processes

Slides:



Advertisements
Similar presentations
1 Dr. Ashraf El-Farghly SECC. 2 Level 3 focus on the organization - Best practices are gathered across the organization. - Processes are tailored depending.
Advertisements

System Integration Verification and Validation
Software Quality Assurance Plan
Software Process Models
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Ch 3 System Development Environment
More CMM Part Two : Details.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
SYSE 802 John D. McGregor Module 2 Session 2 Method Tailoring.
Chapter 2 The Software Process
Project Management.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Iterative development and The Unified process
Information Technology Project Management – Fourth Edition
Course Instructor: Aisha Azeem
Kris Hicks-Green April 23, 2013 IIBA Austin
Software Configuration Management
What is Business Analysis Planning & Monitoring?
Chapter : Software Process
Copyright 2002 Prentice-Hall, Inc. Managing the Information Systems Project 3.1 Chapter 3.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Copyright © 2013 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
12 Building and Maintaining Information Systems.
CPSC 871 John D. McGregor Processes – a first iteration Module 1 Session 1.
Chapter 4 Interpreting the CMM. Group (3) Fahmi Alkhalifi Pam Page Pardha Mugunda.
CPTE 209 Software Engineering Summary and Review.
Introduction to Software Quality Assurance (SQA)
Chapter 6 Software Implementation Process Group
Chapter 2 The process Process, Methods, and Tools
N By: Md Rezaul Huda Reza n
Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.
SYSE 802 John D. McGregor Module 0 Session 1 Course Introduction.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Soft Tech Development Inc. 1 Software Project Tracking A CMM Level 2 Key Process Area Soft Tech Development Inc.
CPSC 372 John D. McGregor Process Module 1 Session 1.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
10 Software Architecture CSCU 411 Software Engineering.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Engineering - I
Systems Analysis and Design in a Changing World, Fourth Edition
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Large Scale Systems Design G52LSS
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Chapter 3 Managing the Information Systems Project 3.1.
Purpose: The purpose of CMM Integration is to provide guidance for improving your organization’s processes and your ability to manage the development,
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
CPSC 871 John D. McGregor Process – an introduction Module 0 Session 3.
CPSC 372 John D. McGregor More EPF Module 2 Session 4.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
Company LOGO. Company LOGO PE, PMP, PgMP, PME, MCT, PRINCE2 Practitioner.
SYSE 802 John D. McGregor Module 0 Session 3 Systems Engineering QuickView.
CPSC 872 John D. McGregor Session 13 Process. Specification and design problem solution specification implementation specification.
John D. McGregor Process Module 1 Session 1
The Project Infrastructure
John D. McGregor Eclipse Process Framework Module 2 Session 4
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Verification and Validation Unit Testing
Standards.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 26 Estimation for Software Projects.
Chapter 3 Managing the Information Systems Project
Presentation transcript:

John D. McGregor Module 6 Session 2 Tailoring Processes SYSE 802 John D. McGregor Module 6 Session 2 Tailoring Processes

Session Objective The objective of this session is to explore techniques for tailoring processes to meet the specific needs of an individual project.

Method A method is a combination of tools, models, and processes that accomplish a specified task, such as the object-oriented development method. A method provides structure to how a task is to be accomplished. The Software and Systems Process Engineering Meta-Model provides a means of expressing methods. www.omg.org Note: Many people use “process” when they really mean “method”

Need for models of methods Different customers may require different levels of maturity – NASA requires Level 3 CMMI Certain customers may require special techniques such as a particular performance measurement or a specific design tool Certainly new tools, models, and process models will emerge over time and should be used to upgrade the existing method Applying a “one size fits all” approach is inefficient and often inadequate

Method Engineering “Method engineering (ME) and situational method engineering (SME) focus on formalizing the use of methods for systems development. The broader term, method engineering, is defined as the engineering discipline to design, construct and adapt methods, techniques and tools for systems development…” We need technique deciding what makes a method “good” or at least better, tools to support tailoring, and processes for tailoring. In short we need a method for tailoring methods. Situational Method Engineering: State-of-the-Art Review by Brian Henderson-Sellers and Jolita Ralyté. Journal of Universal Computer Science, vol. 16, no. 3 (2010), 424-478. In CMMI, Generic Practice 2.2 Planning the Process, gives an entry point into the CMMI for method engineering . http://www.sei.cmu.edu/reports/94tr024.pdf These references are only for your curiosity. No requirement to read.

ME, Tailoring and Improving Method engineering addresses building a method from scratch. Process improvement, as described in the literature such as CMMI, is a technique for introspecting on the actions taken during product development and making changes to improve the process but may not affect the rest of the method. Tailoring, a special case of method engineering, creates a variant of a general process model for the purpose of satisfying the specific objectives of a specific project. Tailoring is the focus of this session.

Process (method) definition process Tailoring Process Many regulations such as MIL-STD-499B include sections that specify tailoring mechanisms and considerations. This model illustrates… Project’s Defined Process Project Information Process (method) definition process Organizational Input External Input Lessons Learned

Project Information Size and Complexity: Software Product (estimated SLOC or FP) Documentation (estimated # of pages) Development Team (estimated # of people) System Product Mix: Number of HWCIs Number of CSCIs Number of Interfaces (External) Type of Software (Command & Control, Embedded, MIS, ATE) Type of System (Centralized, Distributed, etc.) Intent (Feasibility study, research, operational system, incrementally developed operational system, upgrade to an existing system, etc.) Criticality (Life Critical, Safety Critical, etc.) Number of Users Type of Users Local or Distributed Number of Installations Life of Product (Number of months or years) Upgrade Interval Formality Development requirements Formal reviews and audits Formal approval of deliverables and baselines Control Management visibility level required Development Organization Acquirer Organization Project Risk Management Cost Schedule Technical

Organizational Input Business goals Product goals Production goals Measures of method effectiveness

External Input Legal regulations – DO178B for air worthiness; Mil-std-498; DO 254 De facto or formal standards – IEEE 1074 Business/operational context

Meta-models for method definition ISO 24774 ISO 15288 ISO 24744 SPEM 2 BPMN 2 ISO 15926 We have been using SPEM 2, which is the basis for EPF.

How much method is enough? RTCA DO-178B or FDA 21 CFR part 820 Time to market

Method Chunks Method engineering begins with pieces of a method being collected. (Method Content in EPF) Then method engineering takes a basic framework, such as iterative or agile, and fills it with the “right” method chunks.

Method Chunks - 2 The “right” pieces depend upon many factors including: Time lines Available personnel Size of the product Initiatives underway in the organization For internal use or external sale

Method Chunks - 3 A good approach to identifying appropriate chunks is to use an appropriate meta-model. For chunks use these primitives from SPEM: Role Task Workproduct Guidance Delivery Process

Method Composition The method chunks are composed into a recognizable process with appropriate sequencing. iterative uses a feedback loop to repeatedly process the same material into increasingly specific information. Incremental repeats process steps but with different material Agile opportunistically addresses material quickly EPF provides a “repeatable” check box for tasks on the process definition pages.

Method Composition - 2 Exit and entry criteria are used to wire together chunks according to the process model being followed (iterative, etc) The work breakdown structure provides a natural structure for organizing into a process.

SPL & Tailoring In a software product line organization, differences among products are anticipated and managed by including variation points at the places where the products differ. The production method for the product line is no exception. The method has variation points. There may be different verification techniques for different products or other differences

SPL & Tailoring - 2 In EPF this is done by having a page that provides an abstract description of an element and then a product team “extends” that page to give a project-specific definition for the element.

Example There are beginning to be process frameworks that support discipline-specific method definitions. MFESA is a framework for defining system architecture definition methods FYI:http://www.sei.cmu.edu/library/assets/mfesatutorialoneday20090420.pdf

Example - 2 This model lays out the process for defining a new method. Tailoring a method is similar

Tailoring This is a brief paper on method tailoring. Take a quick read. http://www.springerlink.com/content/j120572885131602/fulltext.pdf

Summary Method engineering, including tailoring, is an increasingly important discipline in a systems development organization. Selecting the right pieces and combining them in the best way is still an art but it is at least an explicitly articulated art now rather than implicit.