Development Process (College Board AP® Computer Science Principles): Study Guide

Robert Hampton

Written by: Robert Hampton

Reviewed by: James Woodhouse

Updated on

Development methodologies

What is a development methodology?

  • A development methodology is an approach that guides how a program is built from start to finish

  • The development process typically includes stages such as investigating and reflecting, designing and prototyping

  • Different methodologies organise these stages in different ways depending on the project's needs

Methodology

Description

When it is used

Ordered and intentional

Stages are completed in a fixed sequence; each phase must finish before the next begins

When requirements are well-defined and unlikely to change

Iterative

The program is developed through repeated cycles of designing, building, testing, and refining

When requirements may evolve or feedback is needed throughout development

Exploratory

The developer experiments with different approaches to discover a solution

When the problem is not well understood at the start

Choosing a methodology

  • The choice of methodology depends on how clearly the problem is defined and how likely the requirements are to change

  • Iterative development is used in most real-world projects because user needs and requirements frequently change during development

  • Skipping iteration risks delivering a program that solves the wrong problem

  • Ordered and intentional development works well when all requirements are fully defined before work begins

  • If requirements are misunderstood early there is no opportunity to correct them until the end, which can be costly

  • Exploratory development suits research and innovation contexts where the solution is not known at the outset

  • Without clear goals it can be difficult to manage and may produce inconsistent results

Examiner Tips and Tricks

  • The AP exam may describe a development scenario and ask which methodology best fits. Look for clues: if the scenario mentions changing requirements or ongoing feedback, iterative is likely the best answer. If the requirements are fully defined upfront, ordered and intentional may apply.

  • The AP Create Performance Task is itself an example of iterative development — you are expected to design, build, and refine your program based on testing and feedback before submission. You may be asked on exam day to describe a design decision you made and how it affected your program's development.

Iterative & incremental development

How does iterative development work?

  • Iterative development involves building a program through repeated cycles of designing, implementing, testing, and refining

  • Each cycle produces a working version of the program that is improved in the next cycle based on testing and feedback

  • Errors and design problems are identified early, reducing the cost and effort of fixing them later

  • Iterative development allows the program to adapt to changing requirements or new understanding of the problem

Incremental and modular development

  • Incremental development means adding new features or functionality one step at a time, rather than building the entire program at once

  • Each increment adds a new, testable piece of functionality to the existing program

  • Modular design supports incremental development by breaking the program into independent components that can be built and tested separately

  • Testing is integrated throughout the process, with each new module tested before the next is added

Examiner Tips and Tricks

  • Iterative and incremental development are closely related but not identical. Iterative refers to refining the whole program through repeated cycles.

  • Incremental refers to adding new pieces over time. A program can be developed using both approaches at once.

Worked Example

A student is building a quiz application. After completing the first version, she shares it with classmates, collects their feedback, and uses their suggestions to improve the program before releasing a second version. She repeats this process several times.

Which development methodology does this best describe?

(A) Ordered and intentional development, because the student follows a fixed sequence of stages

(B) Exploratory development, because the student does not know what the final program will look like

(C) Iterative development, because the student refines the program through repeated cycles of testing and feedback

(D) Incremental development, because the student adds new features with each version

[1]

Answer:

(C) Iterative development, because the student refines the program through repeated cycles of testing and feedback [1 mark]

  • The student builds, tests, collects feedback, and refines repeatedly; this is iterative development

  • Option D is tempting but incremental development refers to adding new features step by step, not refining through feedback cycles

Unlock more, it's free!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Robert Hampton

Author: Robert Hampton

Expertise: Computer Science Content Creator

Rob has over 16 years' experience teaching Computer Science and ICT at KS3 & GCSE levels. Rob has demonstrated strong leadership as Head of Department since 2012 and previously supported teacher development as a Specialist Leader of Education, empowering departments to excel in Computer Science. Beyond his tech expertise, Robert embraces the virtual world as an avid gamer, conquering digital battlefields when he's not coding.

James Woodhouse

Reviewer: James Woodhouse

Expertise: Computer Science & English Subject Lead

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.