Y12 Unit 0 - Class Structure
Y12 Unit 1 - Computational Thinking
Y12 Unit 2 - Networks
Y12 Unit 3 - OOP
Y12 Unit 4 - System Fundamentals
Abstract Data Structures (HL) Year 13 Unit

Prototyping and Iterating

1.2.8 Purpose of prototypes to demonstrate the proposed system to the client

1.2.9 Importance of iteration during the design process

IB Subtopics

Prototypes

A prototype is either a working or a non-working preliminary version of the final product. Prototypes are commonly used as a way to get feedback from the users or clients.

A prototype should:

  • Attract the attention of the client and encourages them to use the product in order to understand it better.
  • Encourages active participation between users and developers.
  • Gives and idea of the final product
  • Helps identify any possible problems with the efficiency or the design
  • Helps increase system development speed

Iterations

Iteration refers to the repetition of a set of instructions for a specific number of times or until the operations yield a desired result.

Iterative development of software involved the steady improvement of the design based on various evaluation and testing methods.

You will want to follow an iterative process for the development of your product. You may already have a prototype, as of now, but you MUST make sure that you include the user throughout the development.

Your criterion C document should show how the product works, but it must also include different iterations of your development process.

Principles you should follow (source):

  • Your highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  • Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • Continuous attention to technical excellence and good design enhances agility.
  • Working software is the primary measure of progress.