agile vs. waterfall - the fundamentals differences
TRANSCRIPT
AGILE VS. WATERFALLTHE FUNDAMENTALS
DIFFERENCESDAVID TZEMACH
WWW.DTVISIONTECH.COMMAR 25 2016
WATERFALL (MAJOR RELEASE) VS. AGILE (INCREMENTAL RELEASE)
IN AGILE WE WILL RELEASE AN INCREMENTAL RELEASES PER ITERATION IN WATERFALL WE WILL RELEASE A ONE MAJOR VERSION AT THE END OF THE PROCESS.
Requirements
Design
Development
Testing
Maintenance
Requirements
Design
Development
Testing
Maintenance
Requirements
Design
Development
Testing
Maintenance
RELEASE
1
RELEASE
2
Planning throughout the entire process
RELEASE
Iteration 1 Iteration 2
WATERFALL VS. AGILE – VISIBILITY WATERFALL
AGILEYOU HAVE AN HIGH VISIBILITY, NO MATTER WHAT IS THE CURRENT PHASE.
Phase Visibility Requirements Analysis(Phase 1) + Software Design (Phase 2)
High visibility, Everyone can see how the software supposed to be built(Up front Transparency about the software).
Development(Phase 3) Low Visibility, the software is developed, but other team doesn't know exactly what is going on during the entire phase that usually takes a massive amount of time.
Testing (Phase 4) High visibility, QA receives drops of the software, and return it to Dev. With a large number of bugs, the pressure begins to be high(this is the last step prior to deployment) and everyone returns to be involved in the project.
WATERFALL (SEQUENTIAL ACTIVITY ) VS. AGILE (CONCURRENT ACTIVITY)WATERFALLIN WATERFALL SOFTWARE DEVELOPMENT MODEL, WE HAVE A SEQUENTIAL ACTIVITY WHERE ONE PHASE SHOULD BE FINISHED PRIOR TO MOVING TO THE NEXT.
AGILE• IN AGILE SOFTWARE DEVELOPMENT, WE PERFORM EACH ACTIVITY PER
ITERATION(THIS ENABLES THE DECISION MAKERS TO LEARN FROM THIS SMALL RELEASES AND TAKE DECISIONS BASED ON THE CLIENT FEEDBACK).
WATERFALL(DISCOURAGE CHANGES) VS. AGILE (ENCOURAGE CHANGES)
WATERFALL• ANY CHANGE THAT APPROVED WILL BE ACTIVELY CONTROLLED AND MONITORED(DESIGN,
CODING AND TESTING). • ANY CHANGE THAT COMES AFTER AND DURING THE DESIGN PHASE ARE DISCOURAGED.• REMEMBER THAT THE PLANNING STAGE IS THE PHASE THAT YOU NEED TO FOLLOW ON THE
ENTIRE PROCESS AND THEREFORE WILL RESTRICT YOU FROM HAVING NEW CHANGES.
AGILE• CHANGES ARE PART OF THE PROCESS, AND WILL HELP TO IMPROVE THE PRODUCT. • CHANGES ARE ENCOURAGED AND EMBRACED DURING THE PROCESS.• AGILE DEVELOPMENT PROCESS, IS MORE FLEXIBLE TO HANDLE A NEW CHANGE REQUESTS.
WATERFALL VS. AGILE – COMMUNICATION
WATERFALL• THERE IS A LOW/NUN-EXISTING INTERACTION WITH THE CLIENT.• LOW COLLABORATION BETWEEN THE TEAMS.• THERE IS A DIVIDED TEAMS THAT COLLABORATE TOGETHER, EACH TEAM IS
RESPONSIBLE TO A SPECIFIC PART IN THE PROCESS.AGILE• DAILY MEETINGS AND FACE-TO-FACE COMMUNICATION, ARE THE BEST WAY TO
CREATE A GOOD COLLABORATION(THE ALIGNMENT BETWEEN THE PROJECT RESOURCES WILL INCREASE AND THE UNWANTED MISUNDERSTANDINGS ARE REMOVED ).
• HIGH COLLABORATION BETWEEN THE TEAM AND THE CUSTOMER.• THERE IS A COLLECTIVE OWNERSHIP DURING THE PROCESS.• SINGLE TEAM THAT COMBINED WITH ALL THE RELEVANT RESOURCES TO BUILD THE SOFTWARE AS ONE UNIT (TESTERS, DEVELOPERS…).
WATERFALL VS. AGILE – TEST DOCUMENTS
WATERFALL• MASSIVE STD’S THAT WE NEED TO CREATE AND EXECUTED DURING THE
PROCESS.• HARD TO MAINTAIN DURING AND AFTER THE SDLC.• WILL INCREASE THE SOFTWARE RELEASES TIME.
AGILE• THERE IS NO NEED TO FOLLOW A LARGE STD WITH THOUSANDS OF TEST
CASES.• THE TESTING TEAM WILL INVEST IN ACTUAL TESTING INSTEAD OF WRITING
STD’S.• THE TESTS ARE WRITTEN WITH AT THE START AND END OF EVERY SPRINT.• TESTS ARE DETERMINATE PER ITERATION.
WATERFALL VS. AGILE – REQUIREMENTS VALIDATION WATERFALL• HARD TO DETERMINE WHICH REQUIREMENT IS FULFILLED DURING THE
TEST EXECUTION. • VERY HARD TO ADD/MODIFY REQUIREMENTS AFTER THE
IMPLEMENTATION. AGILE• THE PRODUCT OWNER/CLIENT CAN CHANGE/ADD REQUIREMENTS
WITHOUT ANY PROBLEM. • EASY TO DETERMINE WHICH REQUIREMENT IS FULFILLED(EVERY
ITERATION WILL BE DONE ONLY WHEN THE FULL REQUIREMENTS ARE IMPLEMENTED AND TESTED).
WATERFALL VS. AGILE – PROJECT TIMELINES WATERFALL• TIME ESTIMATIONS ARE HARD TO PREDICT.• LONG AND SLOWER PROCESS.• LARGER COSTS.
AGILE• TIME ESTIMATION IS MORE PRECISE• SHORT AND FASTER PROCESS.• LOWER COSTS.
WATERFALL VS. AGILE – DEVELOPMENT PROCESS
WATERFALL• VERY SLOW PROCESS THAT CAN TAKE WEEKS AND EVEN MONTHS UNTIL
COMPLETION. • DEVELOPMENT STARTS WHEN THE ENTIRE SOFTWARE DESIGN IS READY.• TEST CAN START ONLY WHEN THE IMPLEMENTATION PROCESS IS DONE.
AGILE• A FASTER WAY TO RELEASE A SOFTWARE (INCREMENTAL SOFTWARE PER
SPRINT).• TESTING AND DEVELOPING AT THE SAME TIME.• THE CLIENT CAN GET A WORKING PRODUCT. • THE TEAM CAN GET AN INSTANT FEEDBACK.
WATERFALL VS. AGILE – QA PERSPECTIVE WATERFALL• THE TESTING EFFORT WILL START WHEN THE DEVELOPMENT PHASE IS
DONE.
AGILE• THE TESTING EFFORT WILL START WHEN THE FIRST CODE IS AVAILABLE.• TESTING IS AN INTEGRAL PART OF EACH DEVELOPMENT ITERATION.
FOR ADDITIONAL KB’S PLEASE VISIT MY BLOG
WWW.DTVISIONTECH.COM