We continually develop our products under the scrum process, so we can deliver new features, or react to market changes, quickly and easily.
This means:
- People and communication are more important than processes and tools
- Working software is more important than development documentation
- Collaboration is more important than contracts
- Responding to change is more important than following the plan
In essence, this translates to 'taking baby steps'. Each one should result in working functionality. Working means tested, documented and that it is functioning according to what was agreed.
Typically a sprint is two weeks: at the beginning of the two weeks, we agree to create a certain set of functionality. At the end of these two weeks, this feature is built and completed: done in functionality, testing, and documentation.
There is no need for reviewing later on or finishing up. Releasing a product becomes more natural, stacking multiple sprints of completed functionality does not require any work after the completion. So releasing can be done more frequently