iterative development in scrum

on november 18th, a new version of the scrum guide was made available. for phase-driven development, a plan for the entire project is created at the very beginning with the aim to forecast the end of the project and to detect deviations from the plan in an early stage. but in contrast to the classical “waterfall”, this overall plan is then divided into small steps, the iterations, and only the next iteration is planned in detail and then implemented. still, the overall plan is relatively rigid, for example, with regard to the scope of features.

the key difference to the iterative approach is that a team that proceeds iteratively-incrementally replaces the overall plan with a goal, a vision. the risk of questioning the plan too late in the project does not exist, and a decision is always made on the basis of the latest insights as to how the benefits of the work invested can be optimized. this creates a completely different, motivating working environment in which the customer and developer work together to find the best, most efficient and fastest way to realize the vision. this means the final rejection of the idea that in highly complex areas, such as software development, a project can actually be foreseen and planned from start to finish. it’s a pity that many organizations are already settled for an iterative approach and that they believe, mistakenly, that they are already exploiting the full potential of agility or are shying away from the challenges of an iterative-incremental approach.

scrum, like all of the agile processes, is both iterative and incremental. a development team takes a first cut at a system, knowing it is incomplete or weak in some (perhaps many) areas. with each iteration, the software is improved through the addition of greater detail. for example, in a first iteration, a search screen might be coded to support only the simplest type of search. a good analogy is sculpting. first, the sculptor selects a stone of the appropriate size. at this point, one can perhaps distinguish the head and torso, and discern that the finished work will be of a human body rather than a bird. however, the sculptor is unlikely to look on any one area as complete until the entire work is complete. the increment may be either small or large, perhaps ranging from just a system’s login screen on the small end, to a highly flexible set of data management screens. each increment is fully coded and tested, and the common expectation is that the work of an iteration will not need to be revisited.

however, regardless of the increment size, the incremental sculptor would attempt to finish the work of that increment as completely as possible. they are iterative in that they plan for the work of one iteration to be improved upon in subsequent iterations. to better illustrate the differences between iterative and incremental, let’s consider building a dating website iteratively but not incrementally. to do this, the team would build a little of every part of the site—profile management, searching, ads, etc. in this purely iterative way, the entire site is getting a little better. if a dating site were built incrementally, the team would build and perfect profile management before starting on any other part of the site. they would then build and perfect a second area, say searching, before moving onto the third area. we’re giving free access to the first module of better user stories. he is the author of user stories applied for agile software development, agile estimating and planning, and succeeding with agile as well as the better user stories video course. mike is a founding member of the agile alliance and scrum alliance and can be reached at [email protected].

business value in the least time. to achieve this practically, scrum believes in iterative development of deliverables. definition. agile projects are iterative insofar as they intentionally allow for “ repeating” software development activities, iterative development. if you work iteratively, you will also first create a rough overall plan of all, . iterative development is one of the most important principles in scrum and is one of the main concepts to better return on investment (roi). the iterative model is more flexible in ensuring that any change requested by the customer can be included as part of the project.

scrum, like other agile processes, is both iterative and incremental. a development team takes a first cut at a system, knowing it is incomplete or weak in some (perhaps many) areas. in scrum. due to their complementary characteristics, incremental and iterative development are most effective when used in iterative development, feature code is designed, developed and tested in repeated cycles. with each iteration,,

When you search for the iterative development in scrum, you may look for related areas such as . what is iterative development in agile? what is iterative and evolutionary development? what is the difference between agile and iterative development? what are the three phases of an iterative development process?