Presentation Transcript
Application of an Iterative Development Process to Reduce RiskTony Vera – Software Engineering Specialist : Application of an Iterative Development Process to Reduce Risk Tony Vera – Software Engineering Specialist
Rational Software - Brand Overview : Rational Software - Brand Overview
Software development: Rational : Software development: Rational Middleware Integration Platform - Systems Management - Data Management - Transaction Management - Collaboration Application Integration Layer Systems Integration Layer IBM eServers Non-IBM Servers Multi- Platform Scalable
Modular
Flexible
Standards based
Reliable Finance Retail Distri- bution Telecom Manufac- turing Gov't. Customer / Partner Applications . . . - Software Development Lotus Rational DB2 WebSphere Tivoli Customer Relationship Management Product Lifecycle Management Enterprise Resource Management Value Chain Management
The software development platform for an on demand world : The software development platform for an on demand world Tools
Unified Tools for the Team Requirements andamp; Analysis
Visual Modeling andamp; Development
Automated Testing
Project Management
Software Configuration Management Best Practices
Process Made Practical Technical Support andamp; Tools Application
Project Implementations
Education andamp; Training
Developer Network Services
Accelerated Implementation Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change Customer
Success
The software development platform for an on demand world : The software development platform for an on demand world Tools
Unified Tools for the Team Requirements andamp; Analysis
Visual Modeling andamp; Development
Automated Testing
Project Management
Software Configuration Management Best Practices
Process Made Practical Technical Support andamp; Tools Application
Project Implementations
Education andamp; Training
Developer Network Services
Accelerated Implementation Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change Customer
Success Rational Unified Process (RUP)
The software development platform for an on demand world : The software development platform for an on demand world Tools
Unified Tools for the Team Requirements andamp; Analysis
Visual Modeling andamp; Development
Automated Testing
Project Management
Software Configuration Management Best Practices
Process Made Practical Technical Support andamp; Tools Application
Project Implementations
Education andamp; Training
Developer Network Services
Accelerated Implementation Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change Customer
Success
Software development : Functionality
Reliability
Performance
Test Management Requirements andamp; Use Case Development
Business Modeling
Data Modeling IDE
Visual Modeling, Design andamp; Development
Component Testing
Runtime Analysis Automated
Testing Requirements andamp; Analysis Visual Modeling andamp; Development Software development ' Software development... is a team sport. …Conspicuously missing from tools have been capabilities that focus on the complete cross-functional development team.'
InformationWeek
Software development: A team sport : Software development: A team sport Functionality
Reliability
Performance
Test Management Requirements andamp; Use Case Development
Business Modeling
Data Modeling IDE
Visual Modeling, Design andamp; Development
Component Testing
Runtime Analysis Automated
Testing Requirements andamp; Analysis Project Management Software Configuration Management Configurable Process Reporting andamp; Progress Measurement Requirements Management Defect andamp; Change Tracking Version Control Visual Modeling andamp; Development
The software development platform for an on demand world : The software development platform for an on demand world Tools
Unified Tools for the Team Requirements andamp; Analysis
Visual Modeling andamp; Development
Automated Testing
Project Management
Software Configuration Management Best Practices
Process Made Practical Technical Support andamp; Tools Application
Project Implementations
Education andamp; Training
Developer Network Services
Accelerated Implementation Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change Customer
Success
Seamless integration: Process made practical : Best Practices
Process Made Practical Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change Seamless integration: Process made practical Process Guidance Rational Unified Process
' Because we’re using the RUP, we can offer our clients both high quality and fast development.'
Michael DeBellis, Chief Technology Officer, Deloitte Consulting Tool Guidance Tools
Unified Tools for the Team Requirements andamp; Analysis
Visual Modeling andamp; Development
Automated Testing
Project Management
Software Configuration Management
Rational integration and workflow : Requirements andamp; Use Cases Unit
Tests Business Model Model Code Test Cases Defects Test Plan System Tests Test Results Software Configuration Management Progress Metrics and Reporting Common Process and Guidance Rational integration and workflow
Software Risk Management : Software Risk Management
What is a Software Risk? : What is a Software Risk? Software Engineering Institute: 'Risk is the possibility of suffering loss.'
Rational Unified Process: 'A risk is whatever may stand in our way to success, and is currently unknown or uncertain.'
Capers Jones: 'Software Risk is the probability that a software project will experience undesirable events…'
Kinds of Risks : Kinds of Risks Categories
Direct
Indirect
Types
Resource
Business
Technical
Schedule
Financial
10 Most Serious Software Risks? : 10 Most Serious Software Risks? Inaccurate Metrics
Inadequate Measurement
Excessive Schedule Pressure
Management Malpractice
Inaccurate Cost Estimating Silver Bullet Syndrome
Creeping User Requirements
Low Quality
Low Productivity
Cancelled Projects Capers Jones – Assessment andamp; Control of Software Risks - 1994
What Can I Do About Risk? : What Can I Do About Risk?
SEI Risk Management Strategy : SEI Risk Management Strategy Get Commitments Validate Against Empirical Data Avoid,
Transfer, or
Accept
How much risk should I accept? : How much risk should I accept? Cost of losses
due to risk exposure Cost of Risk
Resolution Optimal Risk Control Optimal Risk Acceptance Elaine Hall, Managing Risk, © 1998
SEI Risk Management Strategy : SEI Risk Management Strategy Get Commitments Validate Against Empirical Data Risk Acceptance Avoid,
Transfer, or
Accept
Slide20 :
Slide21 :
SEI Risk Management Strategy : SEI Risk Management Strategy Get Commitments Execute… relentlessly! Adjust andamp; Re-plan Validate Against Empirical Data Risk Acceptance
An Iterative Software Development Process : An Iterative Software Development Process The foundation
of a
risk management
industry best practice
Waterfall Process : Waterfall Process Waterfall Process Requirements Analysis
Iterative Development – An Industry Best Practice : Iterative Development – An Industry Best Practice
Iterative Development – An Industry Best Practice : Iterative Development – An Industry Best Practice
Iterative Development – An Industry Best Practice : Iterative Development – An Industry Best Practice
Iterative Development – An Industry Best Practice : Iterative Development – An Industry Best Practice
Iterative Development – An Industry Best Practice : Iterative Development – An Industry Best Practice
Characteristics of an Iterative Process : Characteristics of an Iterative Process Many iterations
Minimize iteration duration
Perform ALL lifecycle activities in EVERY interation
Always produce an executable
Highest risks addressed in the earliest iterations
Risk is re-assessed and re-planned at end of every iteration
An Iterative Process : An Iterative Process
Iterative Process vs. Risk : Iterative Process vs. Risk Iterative Process
Risk Reduction Via an Iterative Process : Risk Reduction Via an Iterative Process Waterfall Process Iterative Process Risk Reduction
Risk Reduction Via an Iterative Process (cont.) : Risk Reduction Via an Iterative Process (cont.) Waterfall Process Iterative Process
Risk Reduction Via an Iterative Process (cont.) : Risk Reduction Via an Iterative Process (cont.) Waterfall Process Iterative Process
Risk Reduction Via an Iterative Process (cont.) : Risk Reduction Via an Iterative Process (cont.) Waterfall Process Iterative Process
Risk Reduction Via an Iterative Process (cont.) : Risk Reduction Via an Iterative Process (cont.) Waterfall Process Iterative Process
Risk Reduction Via an Iterative Process (cont.) : Risk Reduction Via an Iterative Process (cont.) Waterfall Process Iterative Process
Wrap-Up: Other Risk-mitigating Advantages of a Risk-Driven Iterative Development Approach : Wrap-Up: Other Risk-mitigating Advantages of a Risk-Driven Iterative Development Approach Addresses highest risks first
Uncovers requirements flaws early
Enables early assessment of project go/no-go decision
Learning is dramatically accelerated
Iterative testing uncovers problems early and often
Iterative testing provides objective assessment of project status
Workload of team is spread more evenly
Facilitates early customer feedback via executables
Slide40 : Contact Information
Tony Vera
Rational Software, IBM Software Group
2030 W. Sunkist Rd.
Tucson, AZ 85737
Tel: 520.219.6191
vera@rational.com
Catch the
buzz on authorSTREAM
Copyright © 2002-2008 authorSTREAM. All rights reserved.