At KNOXTTDOTCOM our approach to software development is an iterative incremental design that is based on prototyping. This is sometimes called a spiral approach and ensures that development is not done in isolation. Joint Application Development (JAD) sessions keep all stakeholders in the loop and is the vehicle that transports business concepts into code blocks.
Each iterative cycle loops through Design, Development, Implement and Analyze stages. Each iteration represents a completed prototype that is vetted and tested for business functionality. Then another iteration begins adding new requirements or changing existing ones. Each loop gets bigger as overall functionality increases and more business requirements are met until a final prototype is produced which then goes through rigorous testing before becoming operational.