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 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 4 RAPID Value™ Methodology RAPID ValueTM Methodology Diagnosis Internet Strategy Analysis Business Value Analysis Delivery Internet Readiness Assessment Define Design Develop Deploy Internet Systems Integration Internet Visioning 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 Inception Define Elaboration Design Construction Transition Develop Deploy 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 Define Design Lines of readiness Are we ready for the next step? Develop Deploy 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 Definition of Operational Concept System Prototype(s) Definition of System Requirements Definition of System and Software Architecture Definition of LifeCycle Plan Feasibility Rationale Life Cycle Objectives (LCO) Life Cycle Architecture (LCA) • 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 • Exercise key usage scenarios • Resolve critical risks • Top-level functions, interfaces, quality attribute levels, including: - Growth vectors and priorities - Prototypes • Stakeholders’ concurrence on essentials • Exercise range of usage scenarios • Resolve major outstanding risks • Elaboration of functions, interfaces, quality attributes, and prototypes by increment - Identification of TBD’s( (to-be-determined items) • Stakeholders’ concurrence on their priority concerns • 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 • 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 • 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 • Assurance of consistency among elements above - via analysis, measurement, prototyping, simulation - Business case analysis for requirements, feasible architectures • 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 *WWWWWHH: Why, What, When, Who, Where, How, How Much 10 RAPID Value™ Methodology with Process Milestones RAPID ValueTM Methodology Diagnosis Internet Strategy Analysis Business Value Analysis BV Internet Readiness Assessment LCO Define Delivery LCA Design Develop IOC Deploy Internet Systems Integration Internet Visioning 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 Value™ Methodology Typical Activity Profiles BV Stages Process Activities Inception LCO LCA Elaboration IOC Construction Transition Diagnosis Define Design Develop Assess Deploy Supporting Management Activities Environment Training Preliminary Iteration(s) Iter. #1 Iter. Iter. Iter. Iter. Iter. Iter. #2 #n #n+1 #n+2 #m #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 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 Objective: develop a prototype of the user interface, define links to external systems, and document business use cases and workflow. Define User Requirement / Workflow Prototype of Application Technology Alternatives Focus: Employ object-oriented analysis techniques and interactive workshops Build Commitment Plan Design Application Definition Document User Interface Prototype Preliminary Release Definitions Deliverables Outcome: To build consensus with the project stakeholders Next Steps Document Design Phase Proposal Project Center 18 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 Deliverables Quality Plan and Test Plan Working Slice/Architecture Validation 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. 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 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. 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 Deliverables Outcome: This phase yields a production-ready application. Refined Test Plan Rollout/Deployment Plan Plan for Next Release 29 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 Training Documentation Release Management Training Rollout Support Systems Deliverables Maintenance Plan Enhancement Plan Focus: These engagements are customized to the customer’s particular needs. Change Control/ Enhancement Plan On-going Support 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) Description LEVEL 1: PERFORMED / INTIAL 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 Work Scope] 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. [Perform Basic Activities] C-bridge/RAPID Mapping Contract Statement of Work 38 CMM KPA Mapping to Rapid Value – Level 2 LEVEL 2: REPEATABLE 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. Requirements Management Maintain the project’s product or component requirements and keep the project’s plans, activities, and work products consistent with them. Project Planning Establish and maintain plans that define project activities. Project Monitoring and Control 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. Supplier Agreement Management Measurement and Analysis Process and Project Quality Assurance Data Management Configuration Management 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 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. Customer and Product Requirements 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. Technical Solution Product Integration Product Verification Validation Organization Process Focus Organization Process Definition Organizational Training Integrated Project Management Risk Management Decision Analysis and Resolution 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 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 Risk Management Team 40 CMM KPA Mapping to Rapid Value – Levels 4 and 5 LEVEL 4: QUANTITATEVELY MANAGED Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled. Quantitative Management of Quality and Process 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. Organizational Process Performance LEVEL 5: OPTIMIZING Continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies. Causal Analysis and Resolution 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. Organization Process Technology Innovation Process Innovation Deployment Lessons Learned Project Closure (subjective information) (subjective information) Best Practices Best Practice Packages 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 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 Software Schedule Performance 16.0 COCOMO II default RAPID Value default (unadjusted for RAD factors) 14.0 Schedule (months) 12.0 10.0 8.0 6.0 4.0 U5 2.0 0.0 0 10 20 30 40 50 60 70 80 90 100 110 Effort (person-m onths) 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 This screen displays a list of Product Failure Logs for users to quickly identify issues. CSS Jared Woodward 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 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 Data is extracted from the backend sources and is accessible to all users via the MyU5 Portal. Application Layer Persistence Layer Alert Server Lotus Notes Database Application Server Portal Server Conf. Mgmt Server Oracle Database 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