Earlier we mentioned the great advantages of iterative development, it can reduce our software development risk, it allows us to grasp the real needs of users, it allows us from error and bias corrected in a timely manner, then how should we iterative development? To answer this question, we must first understand the iterative development with traditional waterfall-style development where the difference.
1 the difference between needs analysis <br /> as with traditional software development, iterative development with customers also need a full needs analysis. But not the same as traditional software development, iterative development does not require the initial needs analysis is a complete needs analysis. It requires a recognition of needs analysis process, which recognizes changes in demand (or demand is an evolutionary process). Therefore, iterative development, as long as the initial needs analysis was carried out to the stage to the extent that you can understand, rather than waterfall development as the need to complete all of the needs analysis and finally confirmed down. As for the other also did not analyze the content, we will gradually phase of each iteration needs to deepen understanding, and gradually refined until the final completion of software development. Therefore, the iterative development of requirements analysis runs through the entire software development process.
(2) the difference between software development <br /> iterative development of software development stage, with the traditional software development approach, there are huge differences in the use of iterative software development is "Continuous Integration (Continuous Build)" software development way. The traditional development mode, when the demand is confirmed down and start software development, the first sub-module to work for development, just as plant production, the different modules were assigned to different groups or individuals to develop separately. In the meantime, no one can come up with to run the software deliverables, the integration until the late stages of development. The iterative development of different, it will be the entire development process is divided into several iterations, and the end of each iteration should deliver executable software, and as such, iterative development with continuous integration approach.
The basic idea of continuous integration is that everyone can be a day to complete the development work can be immediately integrated into a software product running. In order to achieve continuous integration, we must change our development order. Traditional development order, the first is to develop and improve the various sub-modules. When completed the development of the various sub-modules only after the final assembly and integration as a software running. With this order of development can not guarantee continuous integration. Iterative development, after the initial recognition of business needs, the first major software development is the most basic functions, the development of these features when they only consider the process and ignore the main branch of the process. In this way, can be delivered in the shortest time you can run the software (we often call this first prototype version of the deliverables called, this method is called the prototype). Then we go to the customer experience, to confirm and give us comments, let us continue to adjust and improve these key features, or development of other secondary features that make software development in an evolutionary way to go.
The use of continuous integration approach, the software development at the stakeholders can understand the progress of software development, in order to visually see the results of software development, software development process in a timely manner to correct the problem. More importantly, all stakeholders Fang of the most important one - the customer, due to its clear description of the limitations of their own needs, by way of visualization can be seen time and again to run the software more intuitive to make their own views so that their needs more clearly and effectively inform the developers. While we, as development in this way gives us more opportunities and effectively communicate with customers, so more and more profound understanding of the business, but also our development efforts there is always the customer to confirm, consistent with the needs of customers . Even if sometimes the deviation can be corrected. Ultimately, we must deliver the software customer satisfaction.
From this, iterative development and traditional development, differences in their development process is really not small.
An iterative development of the research: the risk of a software development iterative development research: What is an iterative development iterative development research: how to conduct iterative development