PPT - Center for Software Engineering

advertisement
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
Download