1. Constraints of an existing system
• Changes must conform or be compatible with an existing architecture, design and code constraints
2. Shorter time frames
• Development spans 6 mounts upwards
• Maintenance spans hours or days up to 6 months
3. Available test data
• Development creates all test data from scratch
• Maintenance uses existing test data with regression testing, creating new data for the changes