agile vs. waterfall - the fundamentals differences

12
AGILE VS. WATERFALL THE FUNDAMENTALS DIFFERENCES DAVID TZEMACH WWW.DTVISIONTECH.COM MAR 25 2016

Upload: david-tzemach

Post on 26-Jan-2017

3.927 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Agile vs. waterfall - The fundamentals differences

AGILE VS. WATERFALLTHE FUNDAMENTALS

DIFFERENCESDAVID TZEMACH

WWW.DTVISIONTECH.COMMAR 25 2016

Page 2: Agile vs. waterfall - The fundamentals differences

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

Page 3: Agile vs. waterfall - The fundamentals differences

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.

Page 4: Agile vs. waterfall - The fundamentals differences

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).

Page 5: Agile vs. waterfall - The fundamentals differences

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.

Page 6: Agile vs. waterfall - The fundamentals differences

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…).

Page 7: Agile vs. waterfall - The fundamentals differences

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.

Page 8: Agile vs. waterfall - The fundamentals differences

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).

Page 9: Agile vs. waterfall - The fundamentals differences

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.

Page 10: Agile vs. waterfall - The fundamentals differences

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.

Page 11: Agile vs. waterfall - The fundamentals differences

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.

Page 12: Agile vs. waterfall - The fundamentals differences

FOR ADDITIONAL KB’S PLEASE VISIT MY BLOG

WWW.DTVISIONTECH.COM