30
WATERFALL DEVELOPMENT MODEL

WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

Embed Size (px)

Citation preview

Page 1: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

WATERFALL DEVELOPMENT

MODEL

Page 2: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!!

WHAT IS THE WATERFALL MODEL?

Page 3: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

ADVANTAGES

• Easy: This model is simple, clear and easy to understand and use.

• Manageable: due to the rigidity of the model – each phase has specific deliverables and a review process.

• Delivery: In this model phases are processed and completed one at a time. Phases do not overlap.

Page 4: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

DISADVANTAGES

• Can be difficult to go back once in the testing phase.• No working program or software is produced until very late in

the development cycle.• High amount of risk and uncertainty as it may not be clear

until the testing phase, which is late on, if the development meets the requires

• Lack of flexibility as it does not allow for backtracking• Scalability not suitable for large projects with changing

requirements.

Page 5: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

WHEN TO USE THE WATERFALL METHOD

• When requirements are clear and fixed• The end product is stable and unlikely to change• The technology to be used is understood.• Ample resources with required expertise are

available freely• The project is short with fixed deliverables

Page 6: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

ITERATIVE MODEL STEPH

Page 7: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

WHAT IS THE ITERATIVE MODEL METHODOLOGY?• Iterative model works to create a rough product in one iteration and then improve it in the next

• It follows the same stages as most methodologies

• Initial planning

• Planning

• Requirements

• Analysis and design

• Implementation

• Testing evaluation

• Deployment

• But the difference stages are repeated over and over until the product is perfect, that’s where the name iterative comes from.

Page 8: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT
Page 9: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

WHEN TO USE THIS METHODOLOGY?

• Requirements of the complete system are clearly defined and understood from the start.

• Used for large projects.

• Major requirements must be defined at the start; however, some details can evolve with time.

Page 10: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

ADVANTAGES

• High level design is created before building starts on the application and later on in the process a prototype can be built and then evolved. This will always happen because it highly unlikely that the design will be perfect first time but it should be pretty close if application planning went well.

• Issues with the application are found early because design, testing and planning are repeated so much.

• User feedback testing is used which means user will give feedback often. This means the final product should be very user friendly.

• Less bugs after product Is deployed so therefore less updates after relsease.

• In iterative model less time is spent on documenting and more time is given for designing.

Page 11: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

DISADVANTAGES

• Each phase of an iteration is rigid with no overlaps

• If anything is missed is initially planning it can cause massive issues later in the project this can be expensive when dealing with a big project.

• Is generally more expensive than other methodologies.

Page 12: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

INCREMENTAL SYSTEMS DEVELOPMENT

Page 13: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

WHAT IS THE INCREMENTAL MODEL?• The product is designed “incrementally” – so a little bit more is added each time.

• The cycle is broken down into more easy to manage modules which are each subjected to the requirements, design, implementation and testing phases.

• A working version of the software is produced during the first module, however, this may be very basic.

• The cycle is then repeated, with increased functionality being added with every increment.

• The process is repeated until a completed system is achieved. A system is considered to be completed when it meets all the user requirements.

Page 14: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

WHAT THE INCREMENTAL MODEL LOOKS LIKE:

Page 15: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

ADVANTAGES:

• Working software is created early on in the development lifecycle.

• More flexible – it is less costly to change scope and requirements.

• Easier to test and debug during a smaller iteration.

• Customer can respond to each build – as long as the major requirements are defined at the beginning, minor things can evolve throughout the process.

• Lowers initial delivery cost.

• Easier to manage risk because risky pieces are identified and handled during it’s iteration.

Page 16: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

DISADVANTAGES:

• Good planning and design is required.

• A clear and complete definition of the whole system is required before it can be broken down and built incrementally.

• The total cost is higher than if the waterfall model was used.

Page 17: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

WHEN TO USE:

• When the requirements of the complete system are clearly defined and understood.

• As long as the major requirements are defined, minor details can evolve with time.

• There is a need to get a basic product to the market early.

• A new technology is being used.

Page 18: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

AGILE MODEL

Page 19: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

AGILE MODEL

• Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications. Extreme Programming (XP) is currently one of the most well known agile development life cycle model.

Page 20: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

AGILE MODEL

Page 21: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

WHEN TO USE IT

• Poorly defined, dynamic, never ending projects.

• Short deadlines.

• Patching or updating existing software.

• Heavily test driven environments.

Page 22: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

AGILE MODEL

• Lots of iterative cycles.

• Make a big list of things you want and work through that list.

• Build your program one baby step at a time.

• Little planning is needed before development can start.

• More freedom. Bigger decisions can be made much later.

Page 23: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

AGILE MODEL DISADVANTAGES

• Larger projects can be a lot more work than they appear at the beginning. Making for delays.

• Usually produces very poor documentation.

• Easy to get off track. Known as feature creep.

• No place for n00bs. Without a lot of experience it’s hard to handle an agile project.

Page 24: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

AGILE MODEL IN PRACTICE.

• It’s become very popular, but it’s starting to lose some ground now.

• Extreme Programming (XP)

• Scrum

Page 25: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

EXTREME PROGRAMMING (XP)

• Programming in pairs.

• Thinker

• Coder

• The pairs literally sit at one computer. One person takes the keyboard and the other tells them what to code. After each function, they swap.

Page 26: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

(XP) ADVANTAGES

• Two heads are better than one.

• Good for training, weaker coders are often paired with stronger coders.

• Ensures good communications as XP pairs are regularly shifted around.

Page 27: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

(XP) DISADVANTAGES

• Costly – You’ve effectively got twice as many coders as computers. It’s really hard to see the monetary value.

• Your pair of coders might not get along, or worse they might get along really well.

Page 28: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

SCRUM

• Short development period (usually a week) called Sprints

• Meet at the beginning and end of each sprint.

• Anything isn’t completed it’s put into the backlog (things to finish later)

Page 29: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

SCRUM ADVANTAGES

• Rapid delivery.

• Easy to add or remove features. Just pop them in or out of the next sprint.

• Of something doesn’t work, the maximum time lost is one sprint.

Page 30: WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT

SCRUM DISADVANTAGES

• Notoriously poor documentation.

• Hard to keep track of what’s actually happening. If things aren’t getting done you don’t know until the end of the sprint.

• Hard to predict the difficulty of a feature without experience.

• Usually requires a Scrum Master, which is a very difficult job.