EC-23-cs510 fall 2007 commercial rapid development

EC-23-cs510 fall 2007 commercial rapid development - USC C...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: USC C S E University of Southern California Center for Software Engineering 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 ValueTM methodology is used to conceive and develop e-commerce solutions initially developed at C-bridge, a USC-CSE affiliate RAPID ValueTM 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 4 RAPID ValueTM Methodology RAPID ValueTM Methodology Diagnosis Internet Strategy Analysis Business Value Analysis Internet Readiness Assessment Define Delivery Design Develop Deploy Internet Visioning Internet Systems Integration Education/Empowerment Understand Internet Business Opportunity & Value Develop Internet and Organization Direction Create Internet Enabled Business Change Implement Internet Enabled Business Change 5 Process Phase Mappings MBASE - RAPID Value Diagnosis Define Design Develop Deploy Inception Elaboration Construction Transition 6 RAPID ValueTM 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 D oc um ify Sy st e m A sin en t Bu D ef in Id en t Iteration Scope, Listening, Delivery focus Define eb es s Design Develop RAPID ValueTM Project Approach ct or s G as D Pr en ic et oc er ai de es le ve ate se d U lo O O s se pm bj bj ec ec Ca t D ent O tD se bj s om str es ec ai ate t I ign g n nt , L M ies er og od ac el tio ica in ns l D g , S at Po aM ys lis te h m ode D Se l es ig rv n, i Bu ces ild Pl an Bu ild St 1 ab ili Bui za l tio d 2 Re n B ui le l as et d o Be Te ta st Pr Pi o g lo ra tP m ro gr a Pr od m uc tio n Lines of readiness Are we ready for the next step? Deploy 8 Process Milestones Process milestones are common anchor points around which plans and budgets are organized milestones also represent "lines of readiness" RAPID ValueTM contains the following milestones for anchoring product elaboration Business Vision (BV) 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 identify what to change, what to change to, and how to make the change happen unique to the C-bridge RAPID ValueTM process Description of LCO/LCA Milestones (Risk-driven level of detail for each element) Milestone Element Definition of Operational Concept System Prototype(s) Life Cycle Objectives (LCO) Life Cycle Architecture (LCA) Top-level system objectives and scope Elaboration of system objectives and scope of - System boundary increment - Environment parameters and assumptions Elaboration of operational concept by increment - Evolution parameters Operational concept - Operations and maintenance scenarios and parameters - Organizational life-cycle responsibilities (stakeholders) Exercise range of usage scenarios Exercise key usage scenarios Resolve major outstanding risks Resolve critical risks Top-level functions, interfaces, quality attribute Elaboration of functions, interfaces, quality Definition of System levels, including: attributes, and prototypes by increment - Growth vectors and priorities - Identification of TBD's( (to-be-determined items) Requirements Stakeholders' concurrence on their priority - Prototypes Stakeholders' concurrence on essentials concerns Choice of architecture and elaboration by inc. Top-level definition of at least one feasible - Physical and logical components, connectors, Definition of System architecture configurations, constraints - Physical and logical elements and relationships and Software - COTS, reuse choices - Choices of COTS and reusable software elements - Domain-architecture and architectural style choices Architecture Identification of infeasible architecture options Architecture evolution parameters Definition of LifeCycle Plan Feasibility Rationale Elaboration of WWWWWHH* for Initial Operational Identification of life-cycle stakeholders - Users, customers, developers, maintainers, Capability (IOC) - Partial elaboration, identification of key TBD's interoperators, general public, others for later increments Identification of life-cycle process model - Top-level stages, increments Top-level WWWWWHH* by stage Assurance of consistency among elements above Assurance of consistency among elements above - via analysis, measurement, prototyping, simulation All major risks resolved or covered by risk - Business case analysis for requirements, feasible management plan architectures *WWWWWHH: Why, What, When, Who, Where, How, How Much 10 RAPID ValueTM Methodology with Process Milestones RAPID ValueTM Methodology Diagnosis Internet Strategy Analysis Business Value Analysis BV Define LCO Delivery LCA Design Develop IOC Deploy Internet Readiness Assessment Internet Visioning Internet Systems Integration Education/Empowerment Understand Internet Business Opportunity & Value Develop Internet and Organization Direction Create Internet Enabled Business Change Implement Internet Enabled Business Change Process Milestones BV: Business Vision LCA: Life Cycle Architecture LCO: Life Cycle Objectives IOC: Initial Operating Capability 11 RAPID ValueTM Methodology Typical Activity Profiles BV Stages Inception LCO LCA IOC Transition Elaboration Construction Process Activities Diagnosis Define Design Develop Assess Deploy Supporting Activities Management Environment Training Preliminary Iteration(s) Time 12 Iter. #1 Iter. Iter. Iter. Iter. Iter. Iter. #2 #n #n+1 #n+2 #m #m+1 RAPID ValueTM 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 ValueTM Delivery RAPID ValueTM Delivery normal duration is 24 weeks this presentation describes the normal process RAPID ValueTM 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 ValueTM 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 Objective: develop a prototype of the user interface, define links to external systems, and document business use cases and workflow. Define Focus: Employ object-oriented analysis techniques and interactive workshops User Requirement / Workflow Prototype of Application Technology Alternatives Build Commitment Plan Design Application Definition Document User Interface Prototype Preliminary Release Definitions Next Steps Document Design Phase Proposal Project Center 18 Outcome: To build consensus with the project stakeholders Deliverables 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 Objective: Application framework is customized and extended to meet the needs of the application at hand. Design Focus: Object-oriented design and iterative prototyping techniques are used to work out the details of the new application. Functional Design/Work Components Object and Security Model Application Architecture Technology/ Integration Approach Quality Assurance/ Test Plan Test Plan Development Application/Architecture Design Acceptance Criteria and Build Plan Quality Plan and Test Plan Working Slice/Architecture Validation Proposal for Develop 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. Deliverables 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 Develop 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 teambased development tools, frequently scheduled customer checkpoints, code reviews and other good development practices. 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 Refined Test Plan Rollout/Deployment Plan Plan for Next Release 29 Outcome: This phase yields a production-ready application. Deliverables 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 Objective: This final phase may include user training, documentation, release management (i.e. alpha/beta testing), system administration and operational support. Deploy Focus: These engagements are customized to the customer's particular needs. Training Documentation Release Management Change Control/ Enhancement Plan On-going Support Training Rollout Support Systems Deliverables Maintenance Plan Enhancement Plan 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. 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 Capability Maturity Model (CMM) LEVEL Key Process Area (KPA) LEVEL 1: PERFORMED / INTIAL [Identify Work Scope] [Perform Basic Activities] Description C-bridge/RAPID Mapping The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual effort and heroics. Identify the scope of the work to be performed and work products to be produced, and communicate this information to those performing the work. Perform the basic activities of the process to develop work products and provide services to achieve the specific goals of the process area. Contract Statement of Work 38 CMM KPA Mapping to Rapid Value Level 2 LEVEL 2: REPEATABLE Requirements Management Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications. Maintain the project's product or component requirements and keep the project's plans, activities, and work products consistent with them. Establish and maintain plans that define project activities. Provide adequate visibility into the progress of the project so that appropriate corrective actions can be taken when the project's performance deviates significantly from the plan. Manage the acquisition of products and services form sources external to the project. Develop and sustain a measurement capability in support of management information needs. Objectively review activities and work products for their adherence to applicable requirements, process descriptions, standards, and procedures, and communicate the results to staff and management. Provide administrative management of appropriate project data and maintain its availability to the project staff and stakeholders. Establish and maintain the integrity of work products using configuration identification, configuration control, configuration status accounting, and configuration audits. Lines of Readiness ADD AC Define activities Project Plans Status Reports Risk Management Healthchecks Status Reports Sub-contractor process and policies Partner Relationships (subjective information) Quality in Practice Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Project Quality Assurance Data Management Configuration Management Project Center Oracle Financials CM activities in Design, Develop, Deploy 39 CMM KPA Mapping to Rapid Value Level 3 LEVEL 3: DEFINED The software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization. All projects use an approved, tailored version of the organization's standard software process for developing and maintaining software. Produce customer and product requirements and a preliminary functional architecture. Transform product requirements into a specification of physical components and interfaces, such that their implementation and integration will satisfy the product requirements; and to create products that satisfy the requirements. Assemble the product and to ensure that product elements function as a whole. Assure that work products meet the specified requirements. Confirm that a product fulfills its intended use when placed in its intended environment. Establish and maintain an understanding of the organization's processes and process assets, build and infrastructure to support their use, and plan and coordinate the organization's process improvement activities. Establish and maintain a usable set of organizational process assets. Develop the skills and knowledge of people so they cam perform their roles effectively and efficiently. Manage the project according to an integrated and defined process that is tailored from the organization's set of standard processes. It ensures that the various functions and disciplines associated with the project effectively communicate, coordinate, and collaborate to satisfy the customer's needs. Identify potential problems before the occur, so that risk handling activities may be planned and invoked as needed to mitigated adverse impacts on achieving objectives. Identify alternatives to issues that have a significant impact on meeting objectives, analyzing the alternatives, and selecting one or more alternatives that best support prescribed objectives. Define activities Vertical Slice Customer and Product Requirements Technical Solution Product Integration Product Verification Validation Organization Process Focus End to end testing Customer Acceptance Testing Acceptance Testing Customer Acceptance Testing PLCM Knowledge Management Best Practices Best Practices C-bridge University Program and Project Management Organization Process Definition Organizational Training Integrated Project Management Risk Management Decision Analysis and Resolution Risk Management Team 40 CMM KPA Mapping to Rapid Value Levels 4 and 5 LEVEL 4: QUANTITATEVELY MANAGED Quantitative Management of Quality and Process Organizational Process Performance Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled. Quantitatively manage the project's defined process to achieve the project's established quality and process performance requirements and objectives. Provide the organization data, baselines, and models to support quantitatively managing the organization's and project's processes. Continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies. Improve process performance and product results by identifying causes of defects and other problems, and taking action to prevent them from occurring in the future. Identify process improvements that would measurably improve the organization's processes. The improvements support the organization's process improvement objectives as derived from the organization's business objectives. Continually and measurably improve the organization's processes by systematically transitioning incremental and innovative improvements into use. Lessons Learned Project Closure (subjective information) (subjective information) LEVEL 5: OPTIMIZING Causal Analysis and Resolution Organization Process Technology Innovation Process Innovation Deployment Best Practices Best Practice Packages 41 Training Courses (1/2) METHODOLOGY COURSES T RAPID VALUE WORKSHOP T RAPID VALUE DIAGNOSTICS T RAPID VALUE DELIVERY T SOFTWARE COST ESTIMATION T E-BUSINESS PROJECT MANAGEMENT MANAGEMENT COURSES T JONAH COURSE T TRANSFORMING THE SUPPLY CHAIN CHANGE MANAGEMENT COURSES T CHANGE FOR EXECUTIVES T INTRODUCTION TO ORGANIZATIONAL CHANGE T INTRODUCTION TO PERSONAL CHANGE T CHANGE FOR HR PROFESSIONALS 42 Training Courses (2/2) WEB PROGRAMMING COURSES T WEB SITE DEVELOPMENT T PROGRAMMING WITH JAVA T JAVA ON THE WEB T INTRODUCTION TO EJB T INTRODUCTION TO XML WEB GRAPHICAL DESIGN COURSES T GRAPHICAL DESIGN FOR THE WEB T PROGRAMMING FOR WEB DESIGNERS ADVANCED TECHNOLOGY COURSES T E-BUSINESS ARCHITECTURE T SECURITY FOR E-BUSINESS SYSTEMS 43 Agenda Process Description CMM KPA Mapping and Training Project Example 44 Software Schedule Performance Software Schedule Performance 16.0 14.0 12.0 Schedule (months) COCOMO II default RAPID Value default (unadjusted for RAD factors) 10.0 8.0 6.0 4.0 2.0 0.0 0 10 20 30 40 50 60 70 80 90 100 110 Effort (person-m onths) U5 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 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 Screen Shot #4 User can view the source of the problem. 51 Project Challenges CYCLE TIME Customer mandate of < 90 calendar days Delivery 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. REUSABILITY 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 Alerts Server Data is extracted from the backend sources and is accessible to all Ethernet Alert Lotus Lotus Notes Database Seagate Information Bus Server Notes users via the MyU5 Portal. Application Portal Server Application Server Database Oracle Database Conf. management Mgmt Content Server Personalization. Personalization Database Oracle Portal and Personalization Database Server Server Database Data Warehouse Authentication Server LDAP Server OLAP Server Data Warehouse Enterprise Application Integration Persistence Presentation Authentication Server LDAP Application 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 ...
View Full Document

This note was uploaded on 08/26/2008 for the course CSCI 510 taught by Professor Boehm,brown during the Fall '07 term at USC.

Page1 / 56

EC-23-cs510 fall 2007 commercial rapid development - USC C...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online