How it started:
Dr. Winston W. Royce had various assignments concerned with the development of software packages for spacecraft mission planning, commanding and post flight analysis. He had experienced different degrees of success with respect to arriving at an operational state, on time and within costs.He had shared his experience of development of large software systems in this presentation.
For developing a small computer program for internal operation, There are two essential steps common to all computer program developments first step is analysis and second is coding , It is also kind of development effort for which most customers pay. These steps will be failed for larger software systems, many additional development steps are required. But Customers personnel typically would rather not pay for them, and development personnel would rather not implement them. The prime function of management is to sell these concepts to both groups and then enforce compliance on the part of development personnel.
Dr. Winston W. Royce came up with idea of implementing few steps where in analysis and coding are still in picture, but they are preceded by two levels of requirements analysis, are separated by a program design step, and followed by a testing step. These additions are treated separately from analysis and coding because they are distinctly different in the way they are executed. The iterative relationship between successive development is based on the following concept, that as each step progresses and the design is future detailed, there is an iteration with the preceding and succeeding steps but rarely with the more remote steps in the sequence. The virtue of all of this is that as the design proceeds the change process is scoped down to manageable limits.
The testing phase which occurs at end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as distinguished from analyzed. These phenomena are not precisely analyzable.
How is the procedure implemented? The following steps are required.
1. Program design comes first.
2. Document the design.
3. Do it twice.
4. Plan, Control and monitor testing.
5. Involve the customer – The involvement should be formal,in-depth and continuing.
The actual diagram of managing the development of large software systems is
But this model was not named by Dr. Winston W. Royce who invented it but instead it was named by Barry W. Boehm the one who invented spiral model.