560 likes | 736 Views
USC. University of Southern California. C. S. E. 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
E N D
USC University of Southern California C S E 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
Agenda • Process Description • CMM KPA Mapping and Training • Project Example
RAPID ValueTM Methodology Diagnosis Delivery Internet Strategy Analysis Business Value Analysis 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 RAPID Value™ Methodology
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
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 Production Pilot Program Release to Test Beta Program Generate Use Cases Stabilization Build Identify System Actors Object Domain Modeling Polish Design, Build Plan Document Business Processes Define basic development strategies Object Interactions, System Services Detailed Object Design, Logical Data Model
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
Milestone Element 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 Definition of Operational Concept • Exercise key usage scenarios • Resolve critical risks • Exercise range of usage scenarios • Resolve major outstanding risks System Prototype(s) • 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 Definition of System Requirements • 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 Definition of System and Software Architecture • Elaboration of WWWWWHH* for Initial Operational • Capability (IOC) • - Partial elaboration, identification of key TBD’s for later increments • 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 Definition of Life- Cycle Plan • Assurance of consistency among elements above • - via analysis, measurement, prototyping, simulation • - Business case analysis for requirements, feasible architectures Feasibility Rationale • Assurance of consistency among elements above • All major risks resolved or covered by risk management plan Description of LCO/LCA Milestones (Risk-driven level of detail for each element) *WWWWWHH: Why, What, When, Who, Where, How, How Much
RAPID ValueTM Methodology Diagnosis Delivery BV LCO LCA IOC Internet Strategy Analysis Business Value Analysis 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 RAPID Value™ Methodology with Process Milestones Process Milestones BV: Business Vision LCO: Life Cycle Objectives LCA: Life Cycle Architecture IOC: Initial Operating Capability
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
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 RAPID Value™ Delivery Roles
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
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
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
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
Define 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 Technology Alternatives Prototype of Application 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 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
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
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
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
Design 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 Application Architecture Technology/ Integration Approach Object and Security Model 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
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
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
Design Phase Deliverables 3 • Master Test Plan • Proposal for Develop • Program Management Plan • Change Management Plan
User Interface Design 1 • Detailed descriptions of all screens and dialog boxes including UI flow and field-level validation logic
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
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 Regression Test Plan/ Performance Data Migration System Test 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 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
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
Develop Phase Deliverables 3 • Preliminary Deployment Plan • Proposal for next release • Refined Program Management Plan • Refined Change Management Plan • Deliver support
Deploy 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 Release Manage-ment Change Control/ Enhancement Documen-tation 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
Deploy Phase Deliverables • Deployment Plan • Schedule • Environment Readiness • User Support Terms and Conditions, Service Level Agreements • Customer Acceptance Testing • Data Conversion • Training • Documentation
After Deployment • Release Scope Management • Release Process • User Training and Documentation • User Support • Performance Monitoring and Tuning • Business Value Assurance
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
Agenda • Process Description • CMM KPA Mapping and Training • Project Example
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
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
Agenda • Process Description • CMM KPA Mapping and Training • Project Example
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
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
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.
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
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