Course 329:
Rapid Application Development

(4 days)

 

Course Description

In these times of agile business and rapid development of software, to support the high-speed changes in the business, methods are needed to quickly, effectively, and accurately create software that responds to the changing business environment. This course presents the various methods of rapid development that can be applied to generate requirements, validate a solution, or even create a new operational system.

Learning Objectives

  • Define the concept of rapid development
  • Examine the issues of quality in a rapid development environment
  • Understand the various methods of prototyping requirements and software
  • Develop processes for effectively using prototypes
  • Compare the various methods for delivering software at higher velocity

Who Should Attend

  • Programmers
  • IT project managers
  • Project leads
  • Technical leads
  • System designers
  • System architects
  • Anyone interested in quality software development at higher velocity

Prerequisites

An understanding of the software development life cycle and experience developing software.

The Approach

The first two days will introduce the concepts of rapid development and prototyping. The last days will introduce the methods for applying those concepts. There will be a student workshop for each of the methods so that the students gain hands-on experience in each prototyping technique.


Course Outline

Unit 1: Introduction

Software Development Life Cycles
  • Mandatory Elements
  • Transitions
  • Traditional Life Cycle Models
Process-Oriented Development
  • CMM
  • Other Process Models
  • Downsides of Process Models
Basis for Rapid Development
  • Timeboxing
  • Iterative Development
  • Incremental Delivery
Principles of Agile Methods
  • Adaptation Rather than Prediction
  • People-Oriented Rather than Process-Oriented

Unit 2: Rapid Development

What Is Rapid Development?
  • Mental Models
  • Kinds of Schedule-Oriented Practices
  • Real-World Tradeoffs
  • General Strategy for Attaining Rapid Development
The Quality Issue
  • Relationship between Quality and Velocity
  • What Quality Costs
The Management Issue
  • Dealing with Business Management
  • Dealing with IT Management
A Rapid Development Strategy
  • Avoiding Classic Mistakes
  • Applying Software Fundamentals
  • Avoiding the Traps of Rapid Development

Unit 3: Rapid Development Considerations

Risk Management
  • Risk Identification
  • Risk Analysis
  • Risk Prioritization
  • Risk Control
Documentation
  • The Purpose of Documentation
  • Effective Use of Artifacts
Change Management
  • What Is Change Management
  • Rapid Change Management
  • Agile Change Management
Alternative Life Cycle Approaches
  • Matching Lifecycles with Projects’ Schedule Needs
  • Linear Models
  • Staged Delivery
  • Design to Schedule
  • Design to Tools
  • Spiral Model
  • Agile Approaches

Unit 4: Customer-Oriented Development

  • The Rise of Agile Programming Methods
  • The Agile Manifesto
  • Individuals and Interactions
  • Customer Collaboration
  • Working Software
  • Response to Change
  • Forms of Communication
  • The People Factor
  • Involving the User
  • Involving the Business Analyst
  • The Agile Development Team
  • User Participation
  • Problem Statement and Vision (Metaphor)
  • Timeboxing
  • Requirements Stacks or User Story Cards
  • Refactoring
  • Testing

Unit 5: Iterative Development

What Is Iterative Development?
  • Iterating Development Cycles
  • Benefits of Iterative Development
  • User Involvement
Forms of Iterative Development
  • Rational Unified Process
  • Evolutionary Prototyping
  • Incremental Delivery

Unit 6: Evolutionary Prototyping

What Is Prototyping?
  • Static Prototyping
  • Dynamic Prototyping
  • Throw-away Prototyping
  • Evolutionary Prototyping
  • Where Prototyping Is Used
Prototyping Sessions
  • Structure
  • Method
  • Documentation
  • Phases
  • Change Control
Prototyping to Define Requirements
  • Enough Requirements to Get Started
  • Form of Prototyping
  • Prototyping Tools
  • Structured Approach – Data, Cosmetics, Function
Prototyping to Verify and Validate Requirements
  • Confirmation Strategy
  • Format for Presentation
  • Identifying Issues
  • Handling Change Requests
  • Revalidation
User Interface and Usability Prototyping
  • Basic Elements
  • Human Centered Design
  • Principles of User Interface
  • Approaches and Techniques

Unit 7: Rapid Development Methods

Agile
  • Extreme Programming
  • Storytelling
Prototyping
  • Storyboarding
  • Use Case Prototyping
  • Scenarios
  • CRC Cards
  • Dynamic Prototyping

Unit 8: The Bottom Line

  • The Culture of Rapid Development
  • Rapid Development Best Practices
  • Where to Go for More Information

Please Contact Your ROI Representative to Discuss Course Tailoring!