Title: Dr' Ray Madachy
1MBASE and E-commerce Systems
- Dr. Ray Madachy
- USC Center for Software Engineering
- madachy_at_usc.edu
- CS577b
- April 29, 2002
2Introduction
- This presentation will show an 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
3Agenda
- Process Description
- Project Example
4Profit Life Cycle Management
5RAPID Value Methodology
6Process Phase Mappings
7RAPID 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
8RAPID Value Project Approach
Lines of readiness Are we ready for the next step?
Iteration Scope, Listening, Delivery focus
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
9Process 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
10Description of LCO/LCA Milestones
(Risk-driven level of detail for each element)
WWWWWHH Why, What, When, Who, Where, How, How
Much
11RAPID Value Methodology with Process Milestones
Process
Milestones BV Business Vision LCO Life Cycle
Objectives
LCA Life Cycle Architecture IOC Initial
Operating Capability
12RAPID Value Methodology Typical Activity
Profiles
BV
LCA
LCO
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. n1
Iter. n2
Iter. m
Iter. m1
Time
13RAPID 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
14Types 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
15Critical 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
16Timeboxing
- 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
17RAPID 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
18Define
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
19Define 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
20Define 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
21ADD 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
22ADD 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
23Design
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
24Design 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
25Design 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
26Design Phase Deliverables 3
- Master Test Plan
- Proposal for Develop
- Program Management Plan
- Change Management Plan
27User Interface Design 1
- Detailed descriptions of all screens and dialog
boxes including UI flow and field-level
validation logic
28Application Architecture Design
- Describe in detail the applications design
- Style Guide and Programming Standards
- Development Strategies
- System Architecture
- Data Model
- Framework Design
- Business Object Design
- Refined Requirements
- Test Harness Design
29Develop
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
Outcome This phase yields a production-ready
application.
Regression Testing
Deliverables
Refined Test Plan
Rollout/Deployment Plan
Plan for Next Release
30Develop Phase Deliverables 1
- Application
- Unit Code
- Build Code
- Production Release Code
- Version Control Archive
- Documentation
- Application Build Plan and Processes
31Develop 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
32Develop Phase Deliverables 3
- Preliminary Deployment Plan
- Proposal for next release
- Refined Program Management Plan
- Refined Change Management Plan
- Deliver support
33Deploy
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 customers 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 customers
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
34Deploy Phase Deliverables
- Deployment Plan
- Schedule
- Environment Readiness
- User Support Terms and Conditions, Service Level
Agreements - Customer Acceptance Testing
- Data Conversion
- Training
- Documentation
35After Deployment
- Release Scope Management
- Release Process
- User Training and Documentation
- User Support
- Performance Monitoring and Tuning
- Business Value Assurance
36Quality 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
37Agenda
- Process Description
- Project Experience
38Software Schedule Performance
39MyU5 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
40Business 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
41Screen 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.
42Screen 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
43Screen 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
44Screen Shot 4
User can view the source of the problem.
45Project Challenges
- CYCLE TIME
- Customer mandate of lt 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.
46Application 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
OLAP Server
LDAP Server
Authentication Server
47Product 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 ToolsSeagate Crystal Report
- LDAP Server iPlanet Directory Server
- Persistence Layer
- Application Database Oracle and Lotus Notes
48Product 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
49Overall 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