development.html
* created: 2025-06-15T18:05
* modified: 2025-07-08T17:46
title
Development
description
Development is the process of planning, designing, coding, testing and deployment of software.
Building stuff
Development encompasses all activities involved in building and improving software including planning, designing, coding, testing, debugging, deployment and maintenance.
Methodologies
There are a couple well established methodologies when it comes to developing software. The most prominent would be scrum.
Prototype
The goal when using the prototype development model (rapid prototyping) is to build a functional but incomplete prototype as fast as possible. Each functionality gets implemented in its minimal viable form, sometimes even as mock service which returns hardcoded values.
These prototypes are used to communicate with the respective stakeholder in regular intervals. During each interval these rough mv features get refined with the help of stakeholder feedback.
Upsides:
- Reduced development risks through constant alignment
- Can include other development systems like scrum or agile
- Fast development
- Encourages creative solutions
- Strong alignment with stakeholder requirements
Downsides:
- Can lead to higher development costs since we sometimes have to scrap entire features
- The risk of running short on time and releasing a unfinished state; but it works :)
- Can lead to incomplete or faulty documentation because features can change rapidly
Waterfall
The idea is to describe each step of the development process in a sequential sequence which gets executed in this predefined order.
Upsides:
- Easy to understand
- Top-Down process
- Each step can be completed 100%, when going through the sequence in order
- Result drive; there is a finished state at the end of each phase
Downsides:
- The entire development process is not always plannable
- Each step tends to become more important then a coherent vision
- The result can get disconnected from current requirements; there is not global backtracking