Investigating and Improving a COTS-based Software Development Process

Slides:



Advertisements
Similar presentations
Investigating and Improving a COTS- Based Process M. Morisio UMD, College Park C. Seaman UMD, Baltimore County and Fraunhofer Center MD A. Parra, S. Condon.
Advertisements

1 PROJECT MANAGEMENT ROLE OF KEY PERSONNEL Bernd Madauss International Space University Strasbourg February, 2011
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Software Project Management
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Managing Information Technology 6 th Edition CHAPTER 11 METHODOLOGIES FOR PURCHASED.
© Prentice Hall CHAPTER 10 Alternative Approach: Purchasing Systems.
The System Development Life Cycle
Pertemuan 4 Membangun Teknologi Informasi Matakuliah: H0402/PENGELOLAAN SISTEM KOMPUTER Tahun: 2005 Versi: 1/0.
Designing new systems or modifying existing ones should always be aimed at helping an organization achieve its goals State the purpose of systems design.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Software Project Transition Planning
CS 501: Software Engineering
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Iterative development and The Unified process
7.2 System Development Life Cycle (SDLC)
Systems Engineering Management
Pertemuan 15 Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Systems Development (SD) Presentation Michael Webb IT Director for Medicaid Utah Department of Health UDOH Informatics Brownbag August.
1 Principles of Information Systems, Ninth Edition Chapter 13 Systems Development: Design, Implementation, Maintenance, and Review.
COTS-Based System. Agenda Presentation –Project purpose –Introduction –COTS-Based System Types –COTS-Based System Development Process –Examples of COTS-Based.
Acquiring Information Systems and Applications
Picture 1 model: ICT lifecycle in a company 1. business needs & business strategy 2. ICT strategy - ICT assessment - ICT strategic plan - ICT implementation/tactical.
Leading Edge Climbing Equipment
Systems Analysis and Design: The Big Picture
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
SYS364 Evaluating Alternatives. Objectives of the Systems Analysis Phase determine, analyze, organize and document the requirements of a new information.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Moving into Design SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
Chapter 13: Developing and Implementing Effective Accounting Information Systems
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 14 Information System Development
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
How To Build a Testing Project 1 Onyx Gabriel Rodriguez.
Software Engineering Management Lecture 1 The Software Process.
1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
COTS and OSS – What is it? M. Morisio, M. Torchiano Politecnico di Torino – Italy {morisio, Seminar on CBSE An industrial study in.
Systems Development: Design, Implementation, Maintenance, and Review
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
An Introduction to Software Engineering
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering Lecture # 1.
Modern Systems Analysis and Design Third Edition Chapter 11 Selecting the Best Alternative Design Strategy 11.1.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Sistemas de Información Agosto-Diciembre 2007 Sesión # 9.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Investigating and Improving a COTS-based Software Development Process Morisio, Seaman, Parra, Basili, Kraft, Condon icse 2000.
Ondřej Přibyl L3: System Development Life Cycle page 1 Lecture 3: System Development Life Cycle Doc.Ing. Ondřej Přibyl, Ph.D. Department of applied mathematics.
Accounting systems design & evaluation 9434SB 18 March 2002.
Certified Software Tester How To Build a Testing Project, Part 1.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Software Engineering Management
The Design Process.
Lockheed Martin Canada’s SMB Mentoring Program
Introduction to Projects
Presentation transcript:

Investigating and Improving a COTS-based Software Development Process Morisio, Seaman, Parra, Basili, Kraft, Condon icse 2000 This paper develops a process model for cots-based software development by investigation among 15 COTS projects performed at FDD.

Outline Background Study design Results of the study SEL and Strawman process Study design Strutured interview Results of the study Differences between COTS projects and traditional projects Disadvatage of COTS projects New proposed process model Conclusion

Background Software Engineering Laboratory (SEL), known for empirical study of software development practice, provides guides to NASA/GSFC projects. SEL developed a process for COTS-based development for FDD – Strawman process 15 COTS projects are studied to evaluate and improve the process model SEI provides guides to NASA more than 20 years. In 80s and 90s there is trends to reuse and cots-based developemnt in FDD, SEI decided to provide guildelines gor this process. In 1995, initial strawman process defined according to experience from the outside. Then are reviewed by the software engineers in FDD and modified, the resulting strawman process is like this: At the same time as this strawman process is devloped, several cots project are done at fdd. So SEI decided to perform a observational study for these projects, look at what are done in practice, is it same as the strawman process, and how improve the process.

Strawman process Phase Major Activities Products Management Check-points Requirements Analysis and COTS Identification Requirements analysis COTS survey and preliminary evaluation Requirements Strawman high-level architecture Candidate COTS System requirements review Architecture definition and COTS Selection COTS evaluation Requirements modification to use existing COTS Prototyping Modified requirements System architecture Final COTS System design review System Integration and test Use-case implementation Independent testing Delivered system Uer demonstrations Operational readiness review Tchnology Update and System Maintenance Evaluation of new products and technology Enhanced system User demonstrations

3 Types of COTS-based Systems Defined by Carney: Turnkey systems: Build around a suite of commercial products such as Microsoft Office. Customization does not change the nature of the initial product. Intermediate systems: Built around one COTS but integrate other (also developed in-house) Other: Built on several COTS with same importance.

Study of the Actual Process Structured interviews using the GQM approach 25 representatives from 15 projects in 2. and 3.category of Carney definition. Two study teams: Interviewer Scribe Analysis by constant comparison method

Differences between COTS projects and traditional projects More effort on requirements, test and integration, less on design and coding. 3 types of differences: New activities: COTS selection, COTS familiarization, vendor interaction Reduced activities: coding, debugging, unit testing. Modified activities: design, architecture issues (compatibility, configurability) The result of the analysis found cots projects must follow a process that is quite different from traditional projects In design, focus is on how to fit pieces tigether rather than the internal structure of the modules.

Disadvantage of COTS projects Dependence on vendor: functionality available, the schedule for release, the reliability level, documentation… Flexibility in requirements: COTS drives the requirements at least to some extent A trade-off between disadvantage and the benefits of COTS The study also found the ad and disad of cots project, ad ie everyone know, reduced time to market, cost, effort, but not all the project can use cots, because cots project must consider some issues,

New COTS Process Main phases are: Requirement Design Coding Integration

New process model Vendor Requirements Design Coding Integration COTS specific activities Package Identification Evaluation/ Selection Identify Glueware and Integration Requirements Write Glueware And Interfaces Integration and Test Target system Installation and Acceptance Test Requirements Review Design Review Requirements Analysis Non-COTS Design Non-COTS Coding The difference with strawman is mainly on requirements and design phase, so This paper only give more description to these two phases. Customer

Requirement Make versus buy decision I Requirement definition Consider trade-off between non-technical issues and disadvantages of COTS project Requirement definition COTS identification and selection COTS familiarization: learn about COTS Feasibility study describe the product on a high level, an effort estimation, a risk assessment model. Both for COTS and non-COTS. Make versus buy decision II The result is the product variant that will be developed Requirements Review Requirements phase includes these activities, they are in a logical order, in practice, they may be performed concurrently or iterative. I only get all the possible situations, not final desicion. The goal of requirement definition is to guide identification og COTS. COTS are identified and evaluated by vendor documentation, reviews, previous experience. Reduce the number of candidates to two or three. Feasibility study is the futher evaluation of COTS, it also evaluate non-cots solution. One such description shoud be given to each product variant with COTS and without COTS.

Design Definition of architecture and integration issues at lower level of details Decision on glueware Design Review Some high level design in requirement phase, in desiogn phase activities go more deeper, more detailed. All the effort should be concentrated on the product variant selected by requirements phase. Define the integration of cots and new developed componets, shoud make decision on glueware.

New Roles COTS Team Interface with vendors At the organization level A repository about COTS Interface with vendors At the project level Build partnership with vendors

Conclusion COTS-based processes differ considerably from traditional software development New activities Reduced activities Modified activities Disadvantage of COTS projects: Dependence on vendors Flxibility in requirements The new process is defined Requirements and design phases are most challenging