Please enable JavaScript.
Coggle requires JavaScript to display documents.
Alternative Development Approaches (Rapid Application Development (RAD)…
Alternative Development Approaches
Alternative methods:
A range of methods associated with system development have developed over the years; each with its own set of strengths and weaknesses
Alternative methods have developed as one methodology is not necessarily suitable for all types of tasks
some of these methodologies include, waterfall, agile and Rapid Application Development (RAD)
Linear Approaches
Advantages
Breaks down the problem into distinct stages, each with a clear purpose
Everything is agreed in advance of being used, so not revisited later
Provides structure for complex systems, making distributed/outsourced development easier managed
Suits a very detailed design and specification approach
Looking down each stage in advance of the next makes it easier to control cost and scope creep
Simple and intuitive for smaller problems
Disadvantages
Depends greatly on each stage being done properly, as it is hard to impossible to go back and change it later
For complex problems, the time required to be thorough at each stage leads to long timescales
Doesn't cope well with changing requirements
Customer or business value is not available until the end
If the project is stopped early there is little of business value shown for the cost
Waterfall Method
The waterfall method is an earlier abstract description of the system life cycle where each identified stage of development flows from the previous one, down to the next one. Feedback from each previous stage takes place independently of the forward flow. The process is complete when all reviews are satisfied
The waterfall method consists of: Analysis, Design, Implementation, Testing, Installation, Maintenance
General Principals
Each step should be completed before moving onto the next step
Communication and understanding must flow backwards if problems occur
System must be well understood prior to the start
MIlestone
A milestone is the end/termination of each stage of the waterfall method is called a MIlestone
Deliverables
At the end of each stage, an item called a 'deliverable' is produced
Examples of deliverables
Requirements Specification (Analysis)
System Specification (Design)
Program Code (Implementation)
Finished Database Application (Implementation)
Test Plan
This deliverable must be reviewed and signed off by all concerned parties before approval can be given to proceed to the next stage
The 'Concerned Parties' include:
End-User
Management
Developers
Database Adminastrators
The sequence continues until the review stage has been completed and the finished system is delivered to the end-user
Agile
Agile describes the responsive development of a system made of small software modules by a group of collaborators who work concurrently and closely under a leader who ensures engineering best practice and delivery of the customer requirements
Agile Manifesto
Individuals and interactions over process and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile development
Main aim: Rapid delivery of a working product in response to customer requirements
Agile development is a type of iterative and incremental model
Agile methods do not depend on high levels of documentation in advance of development, they do depend on high rigour and adherence to rules in order to be successful
Sprints
A sprint is a set period of time during which specific work has to be completed and made ready for review
Each sprint begins with a planning meeting
During the sprint the team holds daily stand up meetings to discuss progress and brainstorm solutions to challenges
At the end of the sprint the team presents its completed work to the end user
Rapid Application Development (RAD)
RAD is a design strategy that includes online development and replaces prototyping and evaluation. it is particularly suited to interactive systems
A software development process that allows usable systems to built in as little as 60-90 days
Enables programmers to quickly build working programs and provides a number of tools to help build the GUI that would normally take a large development effort
RAD offers a solution by enabling systems to be developed in a much faster time frame, often less than six months from start to finish
There are strict deadlines for each refinement, therefore the user requirements are categorised or prioritised as essential or non-essential
Formal workshops are scheduled between the developer and user