Straight from the Microsoft "Rapid Application Development" book..

 

Four Dimensions of Development Speed 
  1. People
  2. Process
  3. Product
  4. Technology
 

                          People

            Process     +     Product

                      Technology

  1.      People

Impacts software productivity and quality

The most effective practices leverage human potential not technology

 

Areas that effect peopleware:

o   individual ability

o   individual motivation

o   overall team ability

o   overall team motivation

 

Staffing for team projects: Five principals

o   Job Talent

o   Job matching

o   Career progression

o   Team balance

o   Misfit elimination

o   Other: design ability, language experience, machine and environment experience, and applications area experience

Team Organization

o   Match project size

o   Match product attributes

o   Match schedule goals

 

Motivation

o   Is your strongest ally on RAD Projects

 2.      Process

Management methodologies and technical methodologies

o   neglect to process will cause developers to work inefficiently and at cross purposes when there isn’t a need

 

Rework avoidance

o   avoid doing things twice (get accurate requirements)

 

Quality assurance

o   assure that product has acceptable level of quality

o   detect errors at the stage when they are least time consuming to fix

 

Development fundamentals

o   source control

o   requirements management

o   design

o   construction

o   configuration management

 

Risk management

o   merge schedule related tasks

 

Resource targeting

o   effectively focused

o   contribute to overall productivity

o   Best practices: productive offices, time box development, accurate scheduling and voluntary overtime

 

Lifecycle planning

o   lifecycle models make it easier to identify and organize the many activities of a software project.

 

Customer orientation

o   put yourself on same same side as customer

o   best practices that help with this: staged releases, evolutionary delivery, evolutionary prototyping, throw away prototyping, and principle negotiation.

 3.      Product

Reduce product feature set: reduction in project scheduling

Product size and characteristics offer opportunities to cut development time

 4.      Technology