Iterative development involves developing products in small chunks or iterations instead of working towards a single deliverable. Each small chunk operates as a smaller mini-project under the total project. This is most commonly seen in software development. Typically iterative development is used in conjunction with incremental development in which a longer software development cycle is split into smaller segments that build upon each other.