Prototypes and Slicing
November 2025
Prototypes
Several software development processes involve frequent deliverables to clients
Prototypes achieve numerous goals:
- Get feedback from the propoosed system
- Solicit feedback from potential users
- Determine whether the presented problem has a feasible solution
- Assist in exploring options for optimizing quality requirements
Design
- Some design decisions are best answered through the use of prototyping
- An executable model is built to answer specific questions about the system
- Some prototypes are designed to be discarded
- Rapid prototyping, however, refines the prototype until it becomes the final system
Implementation
- Prototypes can ensure client involvement in the implementationn of a final product
- Prototypes allow you to feedback from future users
- Prototypes can identify further requirements
- Prototypes allow non-functional aspects to be tested such as performance and UX
Slicing
Horizontal Slicing
- Modules are improved to gradually build up a project from the core components
- More effort is spent on perfecting each individual component
- May be necessary for key central service components
- BUT this can lead to over-engineering and delays feedback, so it may produce undeliverable code
Vertical Slicing
- Finishes a whole path from input to output quickly so a version of the program can be delivered
- Though it may contain many stubs and unfinished components
- Allows the client to be involved very early during implementation
- It is at the heart of eXtreme Programming (XP) as it allows frequent, incrementally functional builds and releases
Traditional Development
- Focuses on horizontal slicing
- Functionality can only be analysed near the end of the project
- Integration can take longer and there may be unforseen conseqences
- However, it is very well defined, and it is straightforward to determine high level tasks
Agile Development
- Focuses on vertical slicing
- The client is involved
- Integration issues are identified earlier in the process
- Not all projects can be vertically sliced