1.5 Alternative Development Approaches (Waterfall method (The…
1.5 Alternative Development Approaches
:check: breaks down the problem into distinct stages, each with a clear purpose.
:check: Everything is agreed in advance of being used, so not revisited later.
:check: Provides structure for complex systems making distributed/ outsources development easier managed
:check: suits very detailed design and specification approach.
:red_cross: Depends greatly on each stage being done properly as it is hard to go back and change it later.
:red_cross: For complex problems, the time required to be thorough at each stage leads to a long time scales.
:red_cross: Doesn't cope well with changing requirements
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 end/termination of each stage of the waterfall method is called a
At the end of each stage an item called a 'deliverable' is produced.
:check: Requirements specification (Analysis)
:check: System Specification (Design)
:check: program code (Implementation)
:check: Test Plan
The deliverable must then be reviewed and signed off by all concerned parties.
:heavy_check_mark: End user
:heavy_check_mark: Database Administrators
Role of End User
End user has very little say throughout the development process using the waterfall method.
End User is involved in :
:green_heart: Acceptance testing
:green_heart: Review/ maintenance
:check: Early delivery of value to the customer either working versions or knowledge of project risk.
:check: Copes well with complex requirements- fast changing uncertain or complicated.
:check: Encourages collaboration buy in is higher.
:red_cross: Can be hard to project manage due to multiple iteration teams and complex problems
:red_cross: Without careful management, the evolving requirements can result in scope creep
:red_cross: Easy to over promise on early functionality
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
:star: individuals and interactions over process and tools
:star: Working software over comprehensive documentation
:star: Customer collaboration over contract negotiation
:star: Responding to change over following a plan
:heavy_check_mark: A sprint is a set period of time during which specific work has to be completed and made ready for review
end user involvement
:blue_heart: Establish requirements
:blue_heart: Project and increment planning
:blue_heart: Evaluation of interim and requirement changes
:blue_heart: Frequent feedback and requirement changes
:blue_heart: Evaluation and prioritisation of changes
:blue_heart: Ensuring quality of deliverables
RAD: Rapid Application Development
A design strategy that includes online development and replaces prototyping and evaluation. it is particularly suited to interactive systems.
Stages of RAD
:star: Business Modelling
:star: Data Modelling
:star: Process Modelling
:star: Application Generation
:star: Testing and turnover
:pencil2: Encourages customer feedback
:pencil2: There is a strong and continuous participation of the end user who keeps giving feedback throughout the whole process.
:pencil2: Hence the end user satisfaction level is higher when the end result is produced.