press F5 to play the animation

Slides:



Advertisements
Similar presentations
Copyright Robert W. Hasker. Imperative Requirements- based Development  System specification: series of “shalls”  The registration system.
Advertisements

Software Life Cycle Requirements analysis System design Program design Program implementation (coding) Unit testing Integration testing System testing.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
 The Rise of Computer Science ◦ Machine Language (1 st Gen) ◦ Assembly Language (2 nd Gen) ◦ Third Generation Languages (FORTRAN, BASIC, Java, C++, etc.)
Introduction to Agile.
Presenter: 王秉森 Progression towards Agility: A comprehensive survey.
When is Agile the Best Project Management Method? Lana Tylka.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
© 2007 BigVisible Solutions, Inc. All Rights Reserved Training Solutions Agile Training Game v
Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.
CS223: Software Engineering Lecture 5: Software Development Models.
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Utilize Agile Project Management for GIS Projects Jennifer Prather and Lana Tylka.
Engineering Design. “There is a great satisfaction in building good tools for other people to use.” -Freeman Dyson Biology Engineering “Cells are tiny.
Embedded Systems Software Engineering
CS223: Software Engineering
Software Development.
Teaching slides Chapter 2
Flight Software Conference 2016
Methodologies and Algorithms
Software Engineering Process
Chapter 1: Introduction to Systems Analysis and Design
Game Design, Development, and Technology
Waterfall, Agile & Scaling Agile
User-centred system design process
Valuable Project Management Tools and Techniques
Project Workflow.
Iterative and Agile Development
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
The Systems Engineering Context
Agile Software Development Brian Moseley.
Information Technology Project Management – Fifth Edition
Software Development Life Cycle
Navigating an Agile Transformation
The value of a project-oriented approach to IT and how we do it in IBM
Chapter 3: The Project Management Process Groups: A Case Study
Steven Costa, Cassidy Farrar, Alex Duree-Ferriss , Tingting Zheng
Requirements and the Software Lifecycle
By Kean Tak, MSc, Lecturer at RUPP
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
AGILE METHODOLOGY MANAGE PROJECT USING AGILE SCRUM.
Quality Management Systems – Requirements
Johanna Rothman Start Somewhere Chapter 17
Fast, Agile, Simple Decemebr 2017 Think Simple, Run Faster.
How to Successfully Implement an Agile Project
Summarizing Our Models to Date
Johanna Rothman Report Your Project State Chapter 14
Johanna Rothman Know What “Done” Means Chapter 11
FOUNDATIONAL CONCEPTS
Gathering Systems Requirements
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Introduction to Agile Blue Ocean Workshops.
Chapter 1: Introduction to Systems Analysis and Design
Project Management How to access the power of projects!
Scrum Science NGSS: Engineering, Technology, Applications of Science
Gathering Systems Requirements
How to deal with requirements in an Agile context?
Scrum in Action.
Chapter 1: Introduction to Systems Analysis and Design
Adapting Agile in Pharmaceutical Industries
System Development Methods
Agile, Scrum and CMMI Methodologies
Pyramid of Purpose Template
CSCI 360: Software Architecture & Design
Presentation transcript:

press F5 to play the animation waterfall or agile? István Zsolt Berta istvan@berta.hu press F5 to play the animation

waterfall vs agile gathers requirements, makes a plan and executes it changing the plan is problematic, unwanted customer feels benefits when plan is completed only multiple iterations and continuous interaction with customer; less focus on planning changes are embraced frequent releases, adjustments made based on customer feedback

how waterfall works 1. requirements 2. system design 3. implementation 4. testing 5. deployment 6+. maintenance

waterfall example

... would like to get to the other side step 1: requirements our customer... ... would like to get to the other side

step 2: system design customer cannot cross yet

step 3: implementation customer still cannot cross

step 4: testing customer still cannot cross

step 5: deployment this is the first time customer can cross

step 6+: maintenance

however, waterfall may fail, if

future capacity requirements not foreseen correctly OOPS!

exact requirements were not known in advance

project exceeds budget and/or never finishes

customer needs change and results are never used wtf??

agile addresses these problems

how agile works establish vision on what you want to achieve release ’some’ deliverable in limited timeframe; deliverable must be directly useful for the customer, answering their need in some way show deliverable to customer, gain their feedback adjust what you want to do based on the feedback  go back to (1), unless customer is satisfied

customer can cross, but solution is not user-friendly 1st iteration: swim! customer can cross, but solution is not user-friendly

more user-friendly but does not scale 2nd iteration: a boat more user-friendly but does not scale

still not user-friendly, but a strategic step 3rd iteration: a rope still not user-friendly, but a strategic step

next iteration: rope bridge pedestrians can cross, but it is risky

next iteration: wooden bridge safe crossing, but pedestrians only

next iteration: concrete supports almost done, more polishing needed

finally: solution accepted by customer note: customer could cross from very 1st iteration

agile can also end up with something different, such as

customer might prefer boat (vs the expensive bridge)

we may end up with a tunnel

with a flying machine

or we may end up with an Italian restaurant why cross the river when we can have pizza on this side too?

if agile fails, it creates a real mess!

suboptimal, overly complex solutions (due to weak planning)

unrelated artifacts not answering the customer’s need (due to lack of vision)

or may fail just like waterfall (if you do not communicate with the customer enough) words like sprint, epic, jira, scrum or nodejs do not make you agile...

waterfall or agile?

waterfall can deliver the same results faster and cheaper waterfall can deliver the same results faster and cheaper... if customers can tell what they need agile will deliver something useful even if reqs are not known in advance

waterfall can better measure progress and can tell if you are in budget; …still, the project may fail completely agile will always deliver something; hard to foresee what exactly, and hard to plan budget & measure progress

waterfall is better at fulfilling a contract agile is better at making customers happy (if they accept uncertainty and if you can release quickly and get feedback)

Thanks! this animation has been made for non-commercial purpose, for fun; characters (in bitmap images) are properties of their respective owners, like Hanna-Barbera, Disney, etc.; the rest of this animation – excluding the copyrighted bitmap images – has been created by istvan@berta.hu and is released on 2018-09-30 under Creative Commons CC BY 4.0