Post on 14-Apr-2017
WHAT IS AGILE AND HOW DOES IT WORK WITH TESTING?
WHAT IS AGILE?
BASIC PRINCIPLES
HOW DOES TESTING FIT?
WHAT IS AGILE?
• AGILE IS A TERM FOR A DEVELOPMENT LIFECYCLE USED TO DELIVER
CHANGE QUICKLY
• IT IS A FLEXIBLE WAY OF WORKING THAT ALLOWS THE CHANGE TO
EVOLVE AS IT PROGRESSES
• IT CAN RAPIDLY INTRODUCE SMALL INCREMENTAL CHANGES WHICH CAN
BE REVISED QUICKLY IF UNSUITABLE
• HOWEVER
• IT IS RESOURCE INTENSIVE
• REQUIRES CONSTANT COMMUNICATION AND DECISION MAKING
• DOCUMENTATION STILL NEEDS TO BE PRODUCED AT THE END
BASIC PRINCIPLES
• EVERYONE MUST KNOW WHAT THEIR ROLE AND RESPONSIBILITIES
ARE.
• EACH DAY EVERYONE NEEDS TO BE CLEAR ON WHAT THEY NEED TO
DO, WHAT ARE THE PRIORITIES.
• DEVELOPMENT SPRINTS MUST BE TIME BOXED. DEVELOPMENT AND
DEFECT FIXING WILL OCCUR IN PARALLEL AND MUST BE FACTORED IN
• SOMEONE MUST HAVE THE AUTHORITY TO CONFIRM IF A CHANGE IS
SUITABLE (PRODUCT OWNER).
• THE TEAM NEED TO THINK AS MUCH ABOUT HOW A CHANGE CAN BE
TESTED AS TO HOW IT CAN BE DEVELOPED
• THE VOLUME OF CHANGE NEEDS TO BE REALISTIC
HOW DOES TESTING FIT?
AS WITH ANY CHANGE LIFECYCLE THERE ARE DIFFERENT ASPECTS TO
TESTING. THIS COVERS THE GENERAL AREAS;
• FUNCTIONAL TESTING OF THE CHANGE
• DONE BY TESTERS IN THE TEAM WORKING WITH THE DEVELOPERS AND
BUSINESS ANALYSTS
• REQUIRES A SUITABLE ENVIRONMENT AND DATA THAT CHANGES CAN BE
DEPLOYED QUICKLY TO.
• CAN BE COMBINED WITH BUSINESS / USER ACCEPTANCE TESTING
UNDER THE RIGHT CIRCUMSTANCES
HOW DOES TESTING FIT?
• REGRESSION TESTING
• AFTER EACH ITERATION (EXCEPT THE FIRST) REGRESSION TESTING NEEDS
TO BE UNDERTAKEN TO ENSURE SUBSEQUENT CHANGES DON’T
INTRODUCE NEW DEFECTS
• IDEALLY SHOULD BE AUTOMATED TO REDUCE TIME REQUIRED TO
UNDERTAKE
• ALL PREVIOUS ITERATIONS SHOULD BE REGRESSION TESTED AT THE END
OF EACH ITERATION
• NON FUNCTIONAL TESTING
• SIMILAR TO REGRESSION TESTING NEEDS TO BE UNDERTAKEN AFTER
EACH SPRINT, IN PARALLEL TO NEW SPRINTS
HOW DOES TESTING FIT?
• INTEGRATION TESTING
• INITIALLY TESTED AS PART OF THE SPRINT, IN TERMS OF ENSURING THE
CHANGE INTEGRATES CORRECTLY
• SHOULD ALSO BE UNDERTAKEN AFTER A SPRINT TO ENSURE THE
CHANGE DOES NOT IMPACT OTHER SYSTEMS
• OPERATIONAL ACCEPTANCE TESTING
• MUST STILL BE UNDERTAKEN PRIOR TO ANY CHANGES BEING DEPLOYED
INTO PRODUCTION.
• THIS SHOULD ENSURE THE CHANGES DO NOT BREAK ANYTHING IN
PRODUCTION
OPTIONS?
• WHERE POSSIBLE AUTOMATE AS MUCH AS YOU CAN. THIS WILL
REDUCE ANY EFFORT AROUND REWORK, BUT CAN BE EXPENSIVE
• NON FUNCTIONAL TEST SHOULD BE UNDERTAKEN ON FROZEN CODE
SO ONCE NFT AND OAT HAS BEEN UNDERTAKEN NO FURTHER
CHANGES SHOULD BE APPLIED TO THAT CODE
• YOU DON’T NEED TO COLLOCATE TEAMS BUT THEY MUST HAVE
DEDICATED LINES OF COMMUNICATION, SUCH AS INSTANT
MESSAGING OR VIDEO CONFERENCE
CHALLENGES?
• SCOPE CREEP CAUSING ITERATIONS TO BECOME LONGER. PRIORITISE
THE CHANGES AND DESCOPED FOR LATER ITERATIONS
• NOT HAVING DEDICATED RESOURCES CAN RESULT IN DELAYS AND
WASTED TIME AND EFFORT
• ASSUMING NO DOCUMENTATION. DOCUMENTATION MUST BE
PRODUCED SO YOU HAVE A BASELINE FOR ANY FUTURE PROJECTS TO
START FROM
• JUST FOCUSING ON FUNCTIONAL TESTING AND FORGETTING
INTEGRATION, REGRESSION AND NFT