AP CSP Day 66: Iterative Development & Testing Practices | Cycle 3
Share
Iterative development builds software in repeated cycles of design, implement, test, and refine. Each cycle produces a working version that can be tested and improved. This approach allows developers to discover problems early, incorporate feedback, and adapt to changing requirements.
Study the Concept First (Optional) Click to expand ▼
Iterative vs. Other Development Approaches
Iterative Cycle
Each iteration includes: identify a small set of features, implement them, test the working version, gather feedback, refine or add more features in the next cycle. The key property is that you always have a testable version, even if incomplete.
Benefits Over Waterfall
Waterfall completes each phase fully before moving to the next. Problems found during testing may require expensive rework. Iterative development catches issues early because testing happens in every cycle.
Practice Question
A team is developing a mobile application. Consider the following practices:
I. Building the complete user interface before writing any back-end code
II. Releasing a basic version with core features, then adding features based on user feedback
III. Testing each new feature immediately after it is added, before starting the next feature
Which of the practices above are consistent with iterative development?
Practice II describes building in increments with feedback between cycles. Practice III describes testing after each addition, which aligns with the test-every-cycle principle. Practice I describes completing one entire phase before starting another, which is a waterfall characteristic.
A) Includes Practice I, which is waterfall. B) Includes Practice I and excludes Practice II, but II is the most clearly iterative practice. D) Practice I is not iterative because it front-loads an entire component before integration.
Students confuse building the UI first with prototyping. While prototyping a rough UI can be iterative, building the COMPLETE user interface before any back-end work is sequential phasing, a waterfall trait.
When a question describes a development scenario, look for evidence of repeated cycles with testing and feedback. If the process is linear with testing only at the end, it is waterfall.
Keep Practicing!
Consistent daily practice is the key to AP CSP success.
AP CSP Resources Get 1-on-1 Help