Commercial Rapid Development Ray Madachy [email protected] CS510 October 13, 2006 University of Southern California Center for Software Engineering C S E USC
Dec 19, 2015
Commercial Rapid Development
CS510October 13, 2006
University of Southern CaliforniaCenter for Software EngineeringC S E
USC
2
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
5
RAPID Value™ Methodology
RAPID ValueTM Methodology
DeliveryDiagnosis
Internet Strategy Analysis
Internet Visioning
Education/Empowerment
Business Value Analysis
Internet Readiness Assessment
Define Design Develop Deploy
Internet Systems Integration
Create Internet Enabled Business
Change
Develop Internet and Organization
Direction
Understand Internet Business
Opportunity & Value
Implement Internet Enabled Business
Change
6
Process Phase Mappings
MBASE RAPID Value - Diagnosis
Inception Define
Elaboration Design
Construction Develop
Transition Deploy
7
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
8
RAPID Value™ Project Approach
DefineDefine DesignDesign DevelopDevelop DeployDeploy
Lines of readinessAre we ready for the next step?
IterationScope, Listening, Delivery focus
Iden
tify S
ystem
Acto
rs
Docum
ent B
usine
ss Pro
cesse
s
Genera
te Use
Cas
es
Define
basic
deve
lopmen
t stra
tegies
Object
Domain
Mod
eling
Detaile
d Obje
ct Des
ign, L
ogica
l Data
Mod
el
Object
Inter
actio
ns, S
ystem
Serv
ices
Polish
Des
ign, B
uild P
lan
Build 1
Build 2
Stabili
zatio
n Buil
d
Releas
e to T
est
Beta P
rogr
am
Pilot P
rogr
am
Produ
ction
9
Process Milestones Process milestones are common anchor points around which
plans and budgets are organizedmilestones 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
10
Description of LCO/LCA Milestones(Risk-driven level of detail for each element)
*WWWWWHH: Why, What, When, Who, Where, How, How Much
Milestone Element Life Cycle Objectives (LCO) Life Cycle Architecture (LCA)
Definition of OperationalConcept
• 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
• 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
• 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
• 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
• 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
• 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
Definition of SystemRequirements
Definition of Systemand SoftwareArchitecture
Definition of Life-Cycle Plan
FeasibilityRationale
System Prototype(s)• Exercise key usage scenarios• Resolve critical risks
• Exercise range of usage scenarios• Resolve major outstanding risks
11
RAPID Value™ Methodology with
Process MilestonesRAPID ValueTM Methodology
DeliveryDiagnosis
Internet Strategy Analysis
Internet Visioning
Education/Empowerment
Business Value Analysis
Internet Readiness Assessment
Define Design Develop Deploy
Internet Systems Integration
Create Internet Enabled Business
Change
Develop Internet and Organization
Direction
Understand Internet Business
Opportunity & Value
Implement Internet Enabled Business
Change
IOCBV LCO LCA
Process MilestonesBV: Business VisionLCO: Life Cycle Objectives
LCA: Life Cycle ArchitectureIOC: Initial Operating Capability
12
Preliminary Iteration(s)
Iter. #1
Iter. #2
Iter. #n
Iter. #n+1
Iter. #n+2
Iter. #m
Iter. #m+1
Inception Elaboration Construction Transition
BV LCALCO IOC
Stages
Process Activities Diagnosis
Define
Design
Develop
Assess
Deploy
Supporting Activities Management
Environment
Training
Time
RAPID Value™ Methodology Typical Activity Profiles
13
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
14
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
15
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
16
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
17
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
18
DefineObjective: 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
Outcome: To build consensus with the project stakeholders
Define
User Requirement / Workflow
Prototype of Application
Technology Alternatives
Build Commitment
Application Definition Document
User Interface Prototype
Preliminary Release Definitions
Next Steps Document
Deliverables
Plan Design
Design Phase Proposal
Project Center
19
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
20
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
21
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
22
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
23
DesignObjective: 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.
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.
Design
Functional Design/WorkComponents
Object and Security Model
Application Architecture
Technology/Integration Approach
Quality Assurance/Test Plan
Application/Architecture Design
Acceptance Criteria and Build Plan
Quality Plan and Test PlanDeliverables
Test Plan Development
Working Slice/Architecture Validation
Proposal for Develop
24
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
25
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
26
Design Phase Deliverables 3
Master Test Plan Proposal for Develop Program Management Plan Change Management Plan
27
User Interface Design 1 Detailed descriptions of all screens and dialog boxes including UI flow
and field-level validation logic
28
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
29
DevelopObjective: 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.
Outcome: This phase yields a production-ready application.
Develop
Production Ready
Application
System Test
Regression Test Plan/
Performance
Data Migration
Conversion Plan
Application Release Software
Application Build Plan and Process
Regression Testing
Refined Test Plan
Deliverables
Release Plan
Rollout/Deployment Plan
Plan for Next Release
30
Develop Phase Deliverables 1
Application Unit Code Build Code Production Release Code Version Control Archive Documentation
Application Build Plan and Processes
31
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
32
Develop Phase Deliverables 3
Preliminary Deployment Plan Proposal for next release Refined Program Management Plan Refined Change Management Plan
Deliver support
33
DeployObjective: 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.
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.
Deploy
Training Documen-tation
Release Manage-
ment
Change Control/
Enhancement
PlanOn-going Support
Training
Rollout Support Systems
Maintenance Plan
Enhancement Plan
Deliverables
34
Deploy Phase Deliverables
Deployment Plan Schedule Environment Readiness User Support Terms and Conditions,
Service Level Agreements Customer Acceptance Testing Data Conversion Training Documentation
35
After Deployment
Release Scope Management Release Process User Training and Documentation User Support Performance Monitoring and Tuning Business Value Assurance
36
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
38
CMM KPA Mapping to Rapid Value – Level 1
Capability Maturity Model (CMM) LEVEL
Key Process Area (KPA)
Description C-bridge/RAPID Mapping
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.
Contract Statement of Work
[Perform Basic Activities] Perform the basic activities of the process to develop work products and provide services to achieve the specific goals of the process area.
39
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.
Lines of Readiness ADD AC Define activities
Project Planning Establish and maintain plans that define project activities. Project Plans Status Reports
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.
Risk Management Healthchecks Status Reports
Supplier Agreement Management Manage the acquisition of products and services form sources external to the project.
Sub-contractor process and policies Partner Relationships
Measurement and Analysis Develop and sustain a measurement capability in support of management information needs.
(subjective information)
Process and Project Quality Assurance 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.
Quality in Practice
Data Management Provide administrative management of appropriate project data and maintain its availability to the project staff and stakeholders.
Project Center Oracle Financials
Configuration Management Establish and maintain the integrity of work products using configuration identification, configuration control, configuration status accounting, and configuration audits.
CM activities in Design, Develop, Deploy
40
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.
Define activities
Technical Solution 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.
Vertical Slice
Product Integration Assemble the product and to ensure that product elements function as a whole.
End to end testing Customer Acceptance Testing
Product Verification Assure that work products meet the specified requirements. Acceptance Testing Customer Acceptance Testing
Validation Confirm that a product fulfills its intended use when placed in its intended environment.
PLCM
Organization Process Focus 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.
Knowledge Management Best Practices
Organization Process Definition Establish and maintain a usable set of organizational process assets.
Best Practices
Organizational Training Develop the skills and knowledge of people so they cam perform their roles effectively and efficiently.
C-bridge University
Integrated Project Management 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.
Program and Project Management
Risk Management 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.
Risk Management Team
Decision Analysis and Resolution 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.
41
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.
Organizational Process Performance Provide the organization data, baselines, and models to support quantitatively managing the organization’s and project’s processes.
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.
Lessons Learned Project Closure (subjective information)
Organization Process Technology Innovation 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.
(subjective information)
Process Innovation Deployment Continually and measurably improve the organization’s processes by systematically transitioning incremental and innovative improvements into use.
Best Practices Best Practice Packages
42
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
43
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
45
Software Schedule Performance
Software Schedule Performance
0.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
16.0
0 10 20 30 40 50 60 70 80 90 100 110Effort (person-months)
Sch
edu
le (
mo
nth
s)
COCOMO II default
RAPID Value default (unadjusted for RAD factors)
U5
46
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
47
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
48
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.
49
Screen Shot #2
Mechanical FA Report
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.
50
Screen Shot #3
HDA Internal Inspection
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
52
Project ChallengesCYCLE 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.
53
Application Architecture
Eth
ern e
t
Sea
gate
Inf
orm
atio
n B
us
PortalServer
LDAPServer
ApplicationServer
AuthenticationServer
Presentation Application Persistence
ContentmanagementandPersonalization
PersonalizationDatabase
OracleDatabase
Lotus NotesDatabase
OLAPServer
DataWarehouse
AlertsServer
EnterpriseApplicationIntegration
Lotus
Notes
Database
Oracle
Database
Data
Warehouse
OLAP
Server
LDAP
Server
Authentication
Server
Application
ServerConf.
Mgmt
Server
Portal
Server
Alert
Server
Presentation
Layer
Application
Layer
Persistence
Layer
Personalization.
Database
Data is extracted from the backend
sources and is accessible to all
users via the MyU5 Portal.
54
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 ServerPersistence Layer: Application Database: Oracle and Lotus Notes
55
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
56
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