Skip to the content. Back to Lessons
<style> td, th, tr { font-style: inherit !important; font-weight: inherit !important; background-color: inherit !important; }

Software development

  1. Describe how the spiral method can be used to bring a product from conception to execution.

    Try to incorporate the following terms in your answer:

    Planning RAD this means Spiral
    Advantages because Analysis Prototype
    Pilot therefore Iteration Engineering
    Milestone Documentation Evaluation when
    • a
  2. Software development is a complicated process. There are a lot of different ways of doing it. Some work particularly well, so they are studied and copied. These methodologies break the development process into stages. They say how and when to move through the stages, and what the staff should be doing at each point.

    The first methodology is the 'Waterfall Method'. Developers move through each stage once, passing milestones in order. The first stage is 'requirements', where the customer sets expectations. Then 'analysis', where the developer works out what resources the project needs. These can be time, manpower, money, or other things. The third stage is 'design', where the structure of the software is planned. After planning comes coding in the 'implement' phase. When the code is finished, it is checked in the 'test' stage. The product is delivered in the 'installation' phase. From there, only the ongoing 'maintenance' stage remains, where the product is kept up to date.

    The waterfall method is rigid and disciplined. It works well for very large projects where the customer knows what they want, and the team know how to do it. It is not suitable for experimental projects. The Rapid Application Development ('RAD') method is better for these.

  3. RAD is iterative. The customer gives a general direction for the job. The developer creates 'pilot prototypes' of software. These test ideas on how to do the job. They then create a 'modelling prototype' that they feel does the job in the best way. The customer gives feedback. The prototype is amended and presented for more feedback. This continues until the product satisfies the customer.

    RAD is well-suited to risky, innovative projects. But it requires ongoing input from the customer. There is often little documentation, and prototypes are often 'good enough' rather than great.

    Agile methods fall between the waterfall method and RAD. They are both iterative and structured. There are many Agile methods, but 'Extreme Programming' is particularly interesting.

    The first stage is to take a small part of the project and plan how to implement those few features. This includes a testing plan. Coding is done in pairs. One programmer writes, the other critiques. Then they swap roles. This 'pair programming' is stressful, but ensures each programmer has a good idea of how all the code works. Once that section of code is complete and tested, the customer checks over the work. Then the programmers move on to the next set of features.

    Agile methods need collaborative coders and good management. The thorough testing ensures high-quality work. But the final delivery date is not known ahead of time. Compare this with the waterfall method, which has a definite timescale and a set of milestones to meet.