University of Southern California Center for Software Engineering C S

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Rational Unified Process
University of Southern California Center for Software Engineering CSE USC MBASE Essentials Planning and control Milestone content Process models Life cycle.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Project Transition Planning
Fundamentals of Information Systems, Second Edition
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Iterative development and The Unified process
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Systems Analysis and Design
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Enterprise Architecture
Developing Enterprise Architecture
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
Web Development Process Description
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Chapter 2 The process Process, Methods, and Tools
Chapter 1 The Systems Development Environment
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1 Chapter 1 The Systems Development Environment.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Chapter 1: Introduction to Systems Analysis and Design
Foundations of Geospatial System Development Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute The.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Introduction to Interactive Media The Interactive Media Development Process.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Object Oriented Design and Analysis Rational Unified Process.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Rational Unified Process (RUP)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Advanced Software Engineering Dr. Cheng
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
Software Project Configuration Management
Chapter 1: Introduction to Systems Analysis and Design
Managing the Project Lifecycle
CASE Tools and Joint and Rapid Application Development
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Ray Madachy madachy@usc.edu CS510 October 13, 2006 University of Southern California Center for Software Engineering C S E USC Commercial Rapid Development Ray Madachy madachy@usc.edu CS510 October 13, 2006

Introduction This presentation will show a commercial example of applying MBASE principles in industry The RAPID Value™ methodology is used to conceive and develop e-commerce solutions initially developed at C-bridge, a USC-CSE affiliate RAPID Value™ is closely allied with USC MBASE and the Rational Unified Process (RUP) All are modern, risk-driven iterative lifecycle approaches to developing software systems. the major lifecycle phases of all 3 methods can be mapped one-to-one C-bridge extended the lifecycle concepts to the business world, and elaborated the best practices to rapidly deliver Internet systems 2

Agenda Process Description CMM KPA Mapping and Training Project Example 3

Profit Life Cycle Management C-bridge provides a complete set of services to walk you through your solution, every step of the way. These services center around iSoutions, proven patterns of business success in different industries. They start with diagnostics activities where the Thinking Process is used to understand the opportunity(ies). Delivery services implement the business change and Internet systems. A variety of supporting services are used at every step of the way to ensure successful results, initially as well as on-going. 4

RAPID Value™ Methodology RAPID ValueTM Methodology Delivery Diagnosis Internet Strategy Analysis Internet Visioning Education/Empowerment Business Value Analysis Internet Readiness Assessment Define Design Develop Deploy Internet Systems Integration Create Internet Enabled Business Change Develop Internet and Organization Direction Understand Internet Business Opportunity & Value Implement Internet Enabled Business Change 5

Process Phase Mappings 6

RAPID Value™ Delivery Guiding Principles Business Solution Focused Risk-driven Iterative Process Architecture-first Timeboxing Joint Application Development Demonstration-based Approach Project Communication using the Internet -Project Center and Knowledge Bank Object Oriented Analysis, Design and Development 7

RAPID Value™ Project Approach Iteration Scope, Listening, Delivery focus Lines of readiness Are we ready for the next step? Define Design Develop Deploy Build 1 Build 2 Pilot Program Production Generate Use Cases Release to Test Beta Program Identify System Actors Stabilization Build Object Domain Modeling Polish Design, Build Plan Document Business Processes Define basic development strategies Object Interactions, System Services Detailed Object Design, Logical Data Model 8

Process Milestones Process milestones are common anchor points around which plans and budgets are organized milestones also represent “lines of readiness” RAPID Value™ contains the following milestones for anchoring product elaboration Business Vision (BV) identify what to change, what to change to, and how to make the change happen unique to the C-bridge RAPID Value™ process Life Cycle Objectives (LCO) establishing a sound business case Life Cycle Architecture (LCA) commit to a single architecture and elaborate it to cover all major risk sources Initial Operational Capability (IOC) commit to transition and support operations 9

Description of LCO/LCA Milestones (Risk-driven level of detail for each element) Milestone Element Life Cycle Objectives (LCO) Life Cycle Architecture (LCA) Definition of Operational Concept Top-level system objectives and scope - System boundary - Environment parameters and assumptions - Evolution parameters Operational concept - Operations and maintenance scenarios and parameters - Organizational life-cycle responsibilities (stakeholders) Elaboration of system objectives and scope of increment Elaboration of operational concept by increment Top-level functions, interfaces, quality attribute levels, including: - Growth vectors and priorities - Prototypes Stakeholders’ concurrence on essentials Elaboration of functions, interfaces, quality attributes, and prototypes by increment - Identification of TBD’s( (to-be-determined items) Stakeholders’ concurrence on their priority concerns Top-level definition of at least one feasible architecture - Physical and logical elements and relationships - Choices of COTS and reusable software elements Identification of infeasible architecture options Choice of architecture and elaboration by inc. - Physical and logical components, connectors, configurations, constraints - COTS, reuse choices - Domain-architecture and architectural style choices Architecture evolution parameters Elaboration of WWWWWHH* for Initial Operational Capability (IOC) - Partial elaboration, identification of key TBD’s for later increments Assurance of consistency among elements above All major risks resolved or covered by risk management plan Identification of life-cycle stakeholders - Users, customers, developers, maintainers, interoperators, general public, others Identification of life-cycle process model - Top-level stages, increments Top-level WWWWWHH* by stage - via analysis, measurement, prototyping, simulation - Business case analysis for requirements, feasible architectures Definition of System Requirements and Software Architecture Definition of Life- Cycle Plan Feasibility Rationale System Prototype(s) Exercise key usage scenarios Resolve critical risks Exercise range of usage scenarios Resolve major outstanding risks 10 *WWWWWHH: Why, What, When, Who, Where, How, How Much

RAPID Value™ Methodology with Process Milestones RAPID ValueTM Methodology Delivery Diagnosis Internet Strategy Analysis Internet Visioning Education/Empowerment Business Value Analysis Internet Readiness Assessment Define Design Develop Deploy Internet Systems Integration Create Internet Enabled Business Change Develop Internet and Organization Direction Understand Internet Business Opportunity & Value Implement Internet Enabled Business Change IOC BV LCO LCA Process Milestones BV: Business Vision LCO: Life Cycle Objectives LCA: Life Cycle Architecture IOC: Initial Operating Capability 11

RAPID Value™ Methodology Typical Activity Profiles BV LCO LCA IOC Stages Inception Elaboration Construction Transition Process Activities Diagnosis Define Design Develop Assess Deploy Supporting Activities Management Environment Training Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Time 12

RAPID Value™ Delivery Roles Account Manager Practice Manager Project Manager Tech Lead/Architect User Interface Coordinator User Interface Developer Data/Systems Analyst Quality Manager Tester Middleware Developer Framework Designer Database Administrator Business Case Analyst Subject Matter Experts 13

Types of RAPID Value™ Delivery normal duration is 24 weeks this presentation describes the normal process RAPID Value™ Delivery Fast Track 16 weeks 14

Critical RAD Success Factors Prioritized requirements A reasonable “ballpark” schedule estimate Software design for ease of contraction Schedule tracking for midcourse corrections Better and fewer people Teambuilding and shared vision among all stakeholders Co-location Learning, metrics, continuous improvement Prepositioning domain engineering, architecting reuse everything: plans, specs, class libraries, middleware, tests, manuals people and teambuilding, tools and facilities 15

Timeboxing Traditionally, size (~functionality) is the independent variable for software development while cost and schedule are dependent on it Timeboxing treats schedule time as the independent variable (“design-to-schedule”) development must be accomplished within a fixed timeframe functionality descoping takes place to ensure that timebox is met 16

RAPID Value™ Delivery -Diagnosis deliverables used to map Delivery methodology for implementation -Define stage will produce specific line items and use-cases based on business strategies -Design customized system elements with our proprietary technical frameworks -Complex IT Architecture installed for deployment -The Delivery methodology is iterative, meaning that we continuously refine our initiatives based on requirements 17

Define Define User Requirement / Workflow Prototype of Application Objective: develop a prototype of the user interface, define links to external systems, and document business use cases and workflow. Focus: Employ object-oriented analysis techniques and interactive workshops Define User Requirement / Workflow Prototype of Application Technology Alternatives Build Commitment Plan Design Application Definition Document User Interface Prototype Outcome: To build consensus with the project stakeholders Preliminary Release Definitions Deliverables Next Steps Document Design Phase Proposal 18 Project Center

Define Phase Deliverables 1 Application Definition Document Application Context Application Overview Business Process Workflow Use Cases Business Rules Preliminary System Architecture User Interface Reference Batch Job Reference Preliminary Data Models System Interface Reference 19

Define Phase Deliverables 2 User Interface Prototype Field Definition Document Preliminary Acceptance Criteria Preliminary Release Definitions Design Phase Proposal Project Center Task Distribution Diagram Refined Project Management Plan Refined Change Management Plan 20

ADD: Application Context Describe the context and background of the application to help readers understand the motivation for the project and business mandate. Project background Description of business need or project drivers Description of the user communities Expected benefits 21

ADD: Application Overview Describe the vision of the system for anyone who requires a brief introduction to what the system will be and who will benefit. Executive summary Summary of features Description of how the system will be developed over many releases, if applicable 22

Design Design Functional Design/WorkComponents Objective: Application framework is customized and extended to meet the needs of the application at hand. Focus: Object-oriented design and iterative prototyping techniques are used to work out the details of the new application. Design Functional Design/WorkComponents Object and Security Model Application Architecture Technology/ Integration Approach Quality Assurance/ Test Plan Test Plan Development Application/Architecture Design Acceptance Criteria and Build Plan Outcome: Infrastructure issues such as security, connectivity and performance are resolved by building application ‘slices’ that validate proposed design solutions and help mitigate potential risks. Quality Plan and Test Plan Deliverables Working Slice/Architecture Validation Proposal for Develop 23

Design Phase Deliverables 1 Application/Architecture Design refined (v2.0) of ADD from Design Phase Data Model Object Model Process Distribution Architecture Design Framework Design Style Guide and Programming Standards Test Harness Design Revised Workflows and Use Cases 24

Design Phase Deliverables 2 User Interface Prototype Final Acceptance Criteria Working Slice / Architectural Validation Parts List List of all classes, source files, config files that constitute the application Build Plan Quality Plan 25

Design Phase Deliverables 3 Master Test Plan Proposal for Develop Program Management Plan Change Management Plan 26

User Interface Design 1 Detailed descriptions of all screens and dialog boxes including UI flow and field-level validation logic 27

Application Architecture Design Describe in detail the application’s design: Style Guide and Programming Standards Development Strategies System Architecture Data Model Framework Design Business Object Design Refined Requirements Test Harness Design 28

Production Ready Application Regression Test Plan/ Performance Develop Objective: Short, incremental code and test cycles enabling the project team to constantly monitor the quality of the application. Focus: Standard operating principles include team-based development tools, frequently scheduled customer checkpoints, code reviews and other good development practices. Develop Production Ready Application System Test Regression Test Plan/ Performance Data Migration Conversion Plan Release Plan Application Release Software Application Build Plan and Process Regression Testing Outcome: This phase yields a production-ready application. Deliverables Refined Test Plan Rollout/Deployment Plan 29 Plan for Next Release

Develop Phase Deliverables 1 Application Unit Code Build Code Production Release Code Version Control Archive Documentation Application Build Plan and Processes 30

Develop Phase Deliverables 2 Customer Acceptance Testing Suite / Final Test Plans Screen Specific Test Plan Scenario Test Plan Functional Test Plan Load and Stress Testing Test Plan (Benchmarking Test Plan) Test Results Defect Tracking System / Test Results 31

Develop Phase Deliverables 3 Preliminary Deployment Plan Proposal for next release Refined Program Management Plan Refined Change Management Plan Deliver support 32

Deploy Deploy Training Documen-tation Release Manage-ment Objective: This final phase may include user training, documentation, release management (i.e. alpha/beta testing), system administration and operational support. Focus: These engagements are customized to the customer’s particular needs. Deploy Training Documen-tation Release Manage-ment Change Control/ Enhancement Plan On-going Support Training Outcome: Incremental application releases to allow early return on investment and ease the burden of change management in the customer’s environment. The project team simply loops through multiple define/design/develop/deploy cycles until the overall scope of the application is achieved. Rollout Support Systems Deliverables Maintenance Plan Enhancement Plan 33

Deploy Phase Deliverables Deployment Plan Schedule Environment Readiness User Support Terms and Conditions, Service Level Agreements Customer Acceptance Testing Data Conversion Training Documentation 34

After Deployment Release Scope Management Release Process User Training and Documentation User Support Performance Monitoring and Tuning Business Value Assurance 35

Quality Practices in RAPID Delivery Phases Deliverable Review and Validation UI Prototype Development Project Review and Healthcheck Acceptance Criteria Development and Sign-off Test plan development Use of pre-tested and proven application frameworks and components Architectural validation Release scope management Code Reviews and Inspections Code Testing Short build and test cycles Parallel development and testing environments Regression testing Clean staging area Alpha/beta releases 36

Agenda Process Description CMM KPA Mapping and Training Project Example 37

CMM KPA Mapping to Rapid Value – Level 1 38

CMM KPA Mapping to Rapid Value – Level 2 39

CMM KPA Mapping to Rapid Value – Level 3 40

CMM KPA Mapping to Rapid Value – Levels 4 and 5 41

Training Courses (1/2) METHODOLOGY COURSES  RAPID VALUE WORKSHOP  RAPID VALUE DIAGNOSTICS  RAPID VALUE DELIVERY  SOFTWARE COST ESTIMATION  E-BUSINESS PROJECT MANAGEMENT MANAGEMENT COURSES  JONAH COURSE  TRANSFORMING THE SUPPLY CHAIN CHANGE MANAGEMENT COURSES  CHANGE FOR EXECUTIVES  INTRODUCTION TO ORGANIZATIONAL CHANGE  INTRODUCTION TO PERSONAL CHANGE  CHANGE FOR HR PROFESSIONALS  CHANGE FOR IT PROFESSIONALS 42

Training Courses (2/2) WEB PROGRAMMING COURSES  WEB SITE DEVELOPMENT  PROGRAMMING WITH JAVA  JAVA ON THE WEB  INTRODUCTION TO EJB  INTRODUCTION TO XML WEB GRAPHICAL DESIGN COURSES  GRAPHICAL DESIGN FOR THE WEB  PROGRAMMING FOR WEB DESIGNERS ADVANCED TECHNOLOGY COURSES  E-BUSINESS ARCHITECTURE  SECURITY FOR E-BUSINESS SYSTEMS 43

Agenda Process Description CMM KPA Mapping and Training Project Example 44

Software Schedule Performance 45

MyU5 Portal for Disk Drive Development Consolidated visibility of reliable information Product database (content rationalization) Access to design engineer on-line & information repository (forums) Customizable alerts notification Effect of particular configurations on yield 46

Business Solution Impact Reduce engineering development cycle time Streamline qualification and hand-off to manufacturing Provide full cycle accountability Contribute to customer on-time delivery at high volume Collaborate timely data for more efficient decision making by the engineers responsible for Disk Drive Development Provide accurate data in order to track trends and highlight alerts and priority for the engineers 47

Screen Shot #1 PFL-001 EC047 Open 03/27/00 2 CSS Jared Woodward This screen displays a list of Product Failure Logs for users to quickly identify issues. 48

Screen Shot #2 This is a detail report of the PFl chosen on the previous screen. This describes in detail the issue reported. The error is identified as either electrical and/or mechanical. Mechanical FA Report 49

HDA Internal Inspection Screen Shot #3 The user can drill down even further for additional information on the mechanical problems. The user can view a picture of the faulty hardware by clicking on the HDA Internal Inspection Link HDA Internal Inspection 50

User can view the source of the problem. Screen Shot #4 User can view the source of the problem. 51

Project Challenges CYCLE TIME REUSABILITY SCALABILITY Customer mandate of < 90 calendar days Delivery REUSABILITY For ensuring the security management and single point of control, LDAP service in combination with Single Sign-On is shared with any future mySeagate.com application The overall system architecture can be used as a base for future application development A Lotus Notes adapter will be developed to enable the Seagate Information bus to have access to a Lotus Notes Database. If any future application relies on data within a Lotus Notes database, this adapter can be reused within the Seagate Information bus environment. SCALABILITY Each application can have two or more dedicated machines with the load balanced between them. 52

Application Architecture Presentation Layer Application Layer Persistence Layer Data is extracted from the backend sources and is accessible to all users via the MyU5 Portal. Alert Server Lotus Notes Database Application Server Oracle Database Conf. Mgmt Server Portal Server Personalization. Database Data Warehouse Authentication Server LDAP Server OLAP Server 53

Product Inventory Presentation Layer: Browser: MS Internet Explorer 4.0 (IE4.0 or greater) or Netscape Navigator. O/S (Client-side): x86 based Intel PC running Windows 95, 98 or Windows NT. Application Layer: Webserver: iPlanet Enterprise Server. Application Server: BEA WebLogic Server. Alerting Manager: Vigilance package Authentication Server: Netegrity SideMinder package Content Management: Vignette StoryServer Development Tools: WebGain and Rational Rose Reporting Tools:Seagate Crystal Report LDAP Server: iPlanet Directory Server Persistence Layer: Application Database: Oracle and Lotus Notes 54

Product Inventory (Cont.) Enterprise Application Integration: Seagate Information Bus: Tibco Rendezvous Development Tools Modeling tools: Rational Rose and WebGain Visual Cafe Testing tools: Load Runner Software Programming Language: Java and Enterprise Java Beans 55

Overall Process Attributes Stable and empowered team Active but managed user involvement Constant monitoring of timebox (scope, resources, schedule) Frequent architectural reviews QA and testing throughout the lifecycle Pre-positioning of people and computer resources Short communication lines Daily progress updates Tight project control Extremely high RAD-capable personnel 56