The spaghetti challenge really showed me the importance of prototyping and incremental development. This trimester I aim to employ these methods into the development of my final group project. After some research I found the following information:
- Progress is made through repeated cycles (iterative) in small steps at a time (incremental)
Sourced from: http://www.voltreach.com/Development_Methodologies.aspx
- Initial Planning: identifies project scope, requirements and risks.
- Planning: work out a skeleton model of what needs to be done.
- Implementation: incrementally fills-in the skeleton through analysis, design, implementation, and testing.
- Transition: delivers and refines the product.
Most importantly it means that a very basic working product will be produced and then improved upon – this would allow us to scale back the project where necessary and will help mitigate the risk of an uncompleted project.
For example, initial very basic textures would be developed. More advanced textures would be put into the backlog of stuff to do and, only if time permitted, would we develop and employ them. Even if we run out of time we would still have basic block textures.
- Good for large development efforts (and for a large team).
- Very flexible working model (compared to say the Waterfall Method).
- Allows multiple people to work on different, smaller cycles at one time.
- Allows easily for changes and encourages improvement as there is feedback at every step.
- Allows for a basic product to be completed quickly and then improved upon.