156
AGILE AND SCRUM OVERVIEW BY JAMES WHITEHEAD

One day Course On Agile

Embed Size (px)

Citation preview

Page 1: One day Course On Agile

AGILE AND SCRUM OVERVIEW

BY JAMES WHITEHEAD

Page 2: One day Course On Agile

AGILE INTRODUCTIONMORNING SESSION• OBJECTIVES• AGILE INTRODUCTION

• WHAT IS AGILE?• WHY USE AGILE?• WHAT CHANGES

EXERCISE: MAKING THE DELIVERYINTRODUCTION TO SCRUM

SCRUM FRAMEWORKSCRUM ROLES

AFTERNOON SESSION• INTRODUCTION TO EXTREME

PROGRAMMING• USER STORY INTRODUCTION

• WHAT ARE THEY?• KEY ELEMENTS

• ESTIMATING AND PLANNING• ESTIMATING TECHNIQUES• SPRINT PLANNING• RELEASE PLANNING• REPORTING

• EXERCISE: MAKING THE DELIVERY PART II• WRAP UP AND CLOSE

Page 3: One day Course On Agile

COURSE OBJECTIVES

To Introduce agile approaches and techniquesTo explore how agile delivery differs from traditional delivery techniquesTo introduce Scrum and Extreme Programming

Page 4: One day Course On Agile

YOUR OBJECTIVES

Capture on a post-it• Name• Role

Current level of understanding about agile on a scale of 1…10• 1 – Absolutly no knowledge• 10 – I am the Agile Guru

  Come up with a name for your Team

Page 5: One day Course On Agile

Effective scrum teams – James Whitehead

WATERFALL APPROACH TO DELIVERY

Page 6: One day Course On Agile

EXERCISE: MAKING THE DELIVERY

20 Mins to deliver as many requirements as possible

Delivery approach will be waterfallGather Requirements – BAPlan – PMDesign – DesignerBuild FE – Development front endBuild BE – Development back endBuild Middleware – Development middlewareTest – TestersCustomer Testing - Me

Page 7: One day Course On Agile

DEBRIEF

In your teams discuss:

What worked well?What obstacles did you encounter?What bottlenecks appeared?What would you change and how would you change it?

Time: 15 MinutesCapture points on paper providedPresent back summary of discussion

Page 8: One day Course On Agile

Effective scrum teams – James Whitehead

AGILE INTRODUCTION

Page 9: One day Course On Agile

WHAT IS AGILEAgile is Agile Is Not

Scrum is Scrum Is Not

Page 10: One day Course On Agile

WHAT IS AGILE?

Page 11: One day Course On Agile

WHERE IT FITS IN THE WIDER PROJECT LANDSCAPE

Page 12: One day Course On Agile

AGILE MANIFESTO

Page 13: One day Course On Agile

CORE OF AGILE

• TIMELY, REGULAR AND RELIABLE DELIVERY OF BUSINESS VALUE THROUGH SHORT SPRINTS (ITERATIONS)

• DELIVERY OF THE HIGHEST PRIORITY FUNCTIONALITY THROUGH COLLABORATION OF THE PRODUCT OWNER AND THE DELIVERY TEAM

• CONTINUOUS PROCESS IMPROVEMENT THROUGH FEEDBACK

MAXIMISE VALUE THROUGHDISCIPLINE AND FEEDBACK

Page 14: One day Course On Agile

WHAT CHANGES?• BUSINESS PARTNERS AND THEREFORE THE BUSINESS HAVE CONTROL OVER

PRIORITIES THROUGH CONTINUOUS COLLABORATION• FASTER DELIVERY OF BUSINESS BENEFITS THROUGH ITERATIVE DELIVERY• REDUCED RISK THROUGH MORE FREQUENT AND EARLY DELIVERY• HIGHER QUALITY OF DELIVERABLES THROUGH CONTINUOUS TESTING• GREATER VISIBILITY AND MORE ACCURATE REPORTING THROUGH DELIVERY

OF WORKING PRODUCT• IMPROVED TEAMWORK AND MORALE THROUGH EMPOWERMENT AND SELF

ORGANISATION• ADAPTIVE PROCESS THROUGH CONTINUOUS LEARNING AND IMPROVEMENT• ENHANCED ABILITY TO CHANGE THROUGH ITERATIVE PLANNING AND

CONSTANT COMMUNICATION

Page 15: One day Course On Agile

Effective scrum teams – James Whitehead

INTRODUCTION TO SCRUM

Page 16: One day Course On Agile

WHAT IS SCRUM• SCRUM IS AN AGILE METHOD FOR PROJECT MANAGEMENT• TAKEUCHI AND NONAKA – “THE NEW NEW PRODUCT DEVELOPMENT

GAME” (HARVARD BUSINESS REVIEW JAN – FEB 1986)• FIRST IMPLEMENTED BY JEFF SUTHERLAND AT EASEL CORPORATION IN

1993• SCRUM PAPER BY KEN SCHWABER OOPSLA ‘95• 2001 AGILE MANIFESTO CREATED AND AGILE ALLIANCE FORMED• 2002 FIRST CSM COURSE• NOW OVER 90,000 CSMS (2012)• DECEPTIVELY SIMPLE• TURNS TEAMS INTO MANAGER OF THEIR OWN FATES

Page 17: One day Course On Agile

WHAT IS SCRUM?

• WHAT HAS SOFTWARE DELIVERY GOT TO DO WITH RUGBY?

Page 18: One day Course On Agile

STOP RUNNING THE RELAY RACE AND TAKE UP RUGBY!

• THE NEW NEW PRODUCT DEVELOPMENT GAME:• WATERFALL APPROACH: LIKE A RELAY RACE WITH ONE GROUP OF

FUNCTIONAL SPECIALISTS PASSING THE BATON TO THE NEXT GROUP.• HOLISTIC APPROACH (AGILE): LIKE A RUGBY TEAM PLAYING A GAME

WHERE THE “TEAM TRIES TO GO THE DISTANCE AS A UNIT, PASSING THE BALL BACK AND FORTH (WITHIN THE TEAM)”

Page 19: One day Course On Agile

DECEPTIVELY SIMPLE

Putting It into Practice in their context or environment…..

Page 20: One day Course On Agile

PredictiveAim Fire!

EmpiricalAim Fire Aim!

Vs

Page 21: One day Course On Agile

SCRUM VALUES

• EACH GROUP HAS BEEN GIVEN A VALUE.• COME UP WITH A PICTURE WHICH REPRESENTS THIS VALUE

Page 22: One day Course On Agile

SCRUM VALUES

Focus

Courage

Page 23: One day Course On Agile

SCRUM PRINCIPLES• WELCOME CHANGING REQUIREMENT EVEN LATE IN DEVELOPMENT• DELIVER VALUABLE WORKING PRODUCT FREQUENTLY. THIS IS OUR PRIMARY

MEASURE OF PROGRESS.• BUSINESS PEOPLE AND DELIVERY TEAM MUST WORK TOGETHER DAILY

THROUGHOUT THE PROJECT, AT A SUSTAINABLE PACE.• SIMPLICITY

• THE ART OF MAXIMISING THE AMOUNT OF WORK NOT DONE – IS ESSENTIAL• INSPECT AND ADAPT

• CONTINUOUS PROCESS IMPROVEMENT THROUGH FEEDBACK• SELF ORGANISING TEAMS

• BUILD PROJECTS AROUND MOTIVATED INDIVIDUALS. GIVE THEM THE ENVIRONMENT AND SUPPORT THEY NEED, AND TRUST THEM TO GET ON WITH THE JOB TO DELIVER.

Page 24: One day Course On Agile

Effective scrum teams – James Whitehead

SCRUM FRAMEWORK

Page 25: One day Course On Agile

SCRUM FRAMEWORK

CEREMONIES+

ARTEFACTS+

ROLES

Page 26: One day Course On Agile

SCRUM TEAM

• PRODUCT OWNER• SCRUM MASTER• TEAM MEMBER

Page 27: One day Course On Agile

SCRUM ESSENTIALS: PIG AND CHICKENS

• A SCRUM TEAM ONLY CONSISTS OF THE TEAM MEMBERS, PRODUCT OWNER, AND SCRUM MASTER.

• NOBODY ELSE IS ON THE TEAM.• THERE WILL BE OTHER “STAKEHOLDERS” OR “INTERESTED PARTIES”.

• THESE ARE CHICKENS NOT PIGS!

Page 28: One day Course On Agile

RESPONSIBILITIES OF A PRODUCT OWNERManages Stakeholders

and interests

Presents Product/Project View Accepts or rejects work

results

Works with scrum team in refining backlog

Prioritises work at project and sprint level

Works with business/customer to determine what will

make up project backlog

Is responsible for Return on Investment of project

Attends planning sessions, reviews and

daily scrums

Page 29: One day Course On Agile

SCRUM MASTER RESPONSIBILITIES• REMOVING THE BARRIERS BETWEEN DEVELOPMENT AND THE CUSTOMER SO THE

CUSTOMER DIRECTLY DRIVES DEVELOPMENT• TEACHING THE CUSTOMER HOW TO MAXIMISE ROI AND MEET THEIR OBJECTIVES IN

SCRUM• IMPROVING THE LIVES OF THE DEVELOPMENT TEAM BY FACILITATING CREATIVITY

AND EMPOWERMENT• IMPROVING THE PRODUCTIVITY OF THE DEVELOPMENT TEAM IN ANY WAY POSSIBLE• IMPROVING THE ENGINEERING PRACTICES AND TOOLS SO EACH INCREMENT OF

FUNCTIONALITY IS POTENTIALLY SHIPPABLE• GUARDIAN OF THE PROCESS• ENSURING QUALITY ISN’T COMPROMISED

• SERVANT LEADER & FACILITATOR

Page 30: One day Course On Agile

ASPECTS OF AN IDEAL SCRUM TEAM

• SELF ORGANISING• CROSS FUNCTIONAL WITH NO ROLES• SEVEN PLUS OR MINUS TWO• RESPONSIBLE FOR COMMITTING TO WORK• AUTHORITY TO DO WHATEVER IS NEEDED TO MEET THE SPRINT COMMITMENT• ONE PRODUCT OWNER WORKING AS PART OF THE TEAM• OPEN, COLLOCATED SPACE• EVERY MEMBER OF THE TEAM IS RESPONSIBLE FOR MANAGING THE TEAM• RESPECT AMONG TEAM MEMBERS

Page 31: One day Course On Agile

TEAM RESPONSIBILITIESDo whatever is needed to

meet the goals of the SprintWork Product

backlog in anticipation

of next sprint Ensure work

is delivered in priority

order

Take ownership of tasks in

sprint

Communicate with each other and

product owner

Break down Sprint work into tasks

Provide Estimates

Page 32: One day Course On Agile

RACI – CHART EXAMPLE  Functiona

lManager(

s)

Scrum Master

Product Owner

Scrum Team

Project Manage

r

Ensure consistency of scrum practices across teams I C C I R/AProvide vision and goal for the product I I R/A I IProvide resource with right skills and mindset R/A I I C/I CPrioritise and manage the product backlog I F R/A C FRemove impediments R R R/A R RManage the implementation of the project plan I I C C R/AMake sure scrum practices are used and improved within the team RI R/A C R FCreate, apply and continuously improve the Definition of Done C F R R/A FOn time reporting to management I F R/A I FDefine acceptance criteria I F R/A C FWrite acceptance tests I F C R/A FEnsure quality of the product R R R/A R RManage Risks C C R/A C RApprove user stories (user stories meet the acceptance criteria) I F R/A C FDecide on release date and goal I I R/A I I

Page 33: One day Course On Agile

NOTE: 1. THE ABOVE RACI MATRIX DOESN’T COVER ALL THE ACTIVITIES

WITHIN THE SCRUM FRAMEWORK; THEREFORE ALWAYS CHECK THE RESPONSIBILITIES FOR EACH ROLE.

2. THE RACI MATRIX MAY DIFFER PER PROJECT DUE TO STRUCTURAL AND/OR ORGANIZATIONAL CONSTRAINTS.

CONSULTEDTHOSE WHOSE OPINIONS ARE SOUGHT, TYPICALLY SUBJECT MATTER EXPERTS; AND WITH WHOM THERE IS TWO-WAY COMMUNICATION.  

INFORMEDTHOSE WHO ARE KEPT UP-TO-DATE ON PROGRESS, OFTEN ONLY ON COMPLETION OF THE TASK OR DELIVERABLE; AND WITH WHOM THERE IS JUST ONE-WAY COMMUNICATION. 

FACILITATORHELPS TEAMS AND INDIVIDUALS TO CONTINUOUSLY IMPROVE AND UNDERSTAND THEIR ROLES WITHIN THE SCRUM FRAMEWORK. THEY HELP TEAM MEMBERS CHANGE THEIR BEHAVIOUR AND ACT AS A COACH AND A CHANGE AGENT. 

RESPONSIBLETHOSE WHO DO THE WORK TO ACHIEVE THE TASK. THERE IS TYPICALLY ONE ROLE WITH A PARTICIPATION TYPE OF RESPONSIBLE, ALTHOUGH OTHERS CAN BE DELEGATED TO ASSIST IN THE WORK REQUIRED  

ACCOUNTABLETHE ONE ULTIMATELY ANSWERABLE FOR THE CORRECT AND THOROUGH COMPLETION OF THE DELIVERABLE OR TASK, AND THE ONE FROM WHOM RESPONSIBLE IS DELEGATED THE WORK. IN OTHER WORDS, AN ACCOUNTABLE MUST SIGN OFF (APPROVE) ON WORK THAT RESPONSIBLE PROVIDES. THERE MUST BE ONLY ONE ACCOUNTABLE SPECIFIED FOR EACH TASK OR DELIVERABLE.

Page 34: One day Course On Agile

RECAP

• FOR THE ROLE YOU HAVE BEEN GIVEN FILL OUT THE FOLLOWING

Is Responsible For… Is not responsible for

Should have the following characteristics…..

Should not have the following characteristics……..

Page 35: One day Course On Agile

SCRUM CEREMONIES AND ARTEFACTS

VisionAim of the project with and owner

Vision ProductBacklog

SprintBacklog

Sprint Planning MeetingReview Product BacklogEstimate Sprint BacklogCommit to Timeframe

S P R I N T

30 days

24 hrs

Product Backlog Session

Daily Scrum MeetingDone since last timePlan for todayBarriers?

Sprint Review Meeting and Sprint RetrospectiveDemo features to all Retrospect on progress

Release Planning MeetingProduct BacklogPrioritised featuresDesired by customer

Burndown Chart

Potentially Deployable Increment

Backlog tasks expanded by the team

Page 36: One day Course On Agile

A VISION SHOULD ANSWER

• WHO IS THE CUSTOMER?• WHAT IS THE CUSTOMER’S PROBLEM?• HOW DOES THE PRODUCT SOLVE THE PROBLEM AND ADD VALUE?• WHAT ARE THE BENEFITS COMPARED TO OTHER SOLUTIONS THAT ARE

AVAILABLE TO THE CUSTOMER?• ON WHAT BASIS WILL THE CUSTOMER JUDGE THE PRODUCT?

Page 37: One day Course On Agile

PENNY BRIDGE VISION

• FOR ALL M1VIEW RESIDENTS• THE PENNY BRIDGE WILL PROVIDE A SAFE AND QUICK PEDESTRIAN

ACCESS TO THE CITY CENTRE• UNLIKE THE BLUE BRIDGE, PENNY BRIDGE:

• IS SAFE TO CROSS• IS BRIGHT AND ATTRACTIVE• WILL PAY FOR ITS OWN MAINTENANCE AND UPKEEP

Page 38: One day Course On Agile

SPRINT LENGTH: TIME BOXES

• SCRUM RECOMMENDS 30 DAYS• CAN BE DIFFERENT FROM (1W UP TO 6 WEEKS)• CONSIDER:

• HOW LONG THE BUSINESS CAN GO WITHOUT CHANGING IT’S MIND• PICK A LENGTH THAT SPREADS INTENSITY APPROPRIATELY• ABILITY TO RELIABLY PREDICT EFFORT ON TASKS FOUR WEEKS OUT• LENGTH OF THE OVERALL RELEASE• AMOUNT OF UNCERTAINTY ON THE PROJECT• THE OVERHEAD OF ITERATING

Page 39: One day Course On Agile

DAILY SCRUM ESSENTIALS• DAILY 15 MINUTE INFORMATION SHARING MEETING• SAME PLACE AND TIME EVERY DAY• STANDING UP, FACILITATED BY THE SCRUM MASTER• WHOLE SCRUM TEAM ATTENDS• THREE QUESTIONS

• WHAT HAVE YOU DON’T SINCE THE LAST MEETING THAT IS OF INTEREST TO THE TEAM?

• WHAT WILL YOU DO BEFORE THE NEXT MEETING THAT IS OF INTEREST TO THE TEAM?

• WHAT IS IN YOUR WAY?• IMPEDIMENTS• DECISIONS

Page 40: One day Course On Agile

DAILY SCRUM SMELLS

• PEOPLE WHO ARE NOT PART OF THE TEAM SPEAKING UP OR OUT OF TURN

• MISSING TEAM MEMBERS• SCRUMMASTER ASSIGNING WORK• DAILY SCRUM IS SEEN AS FOR THE SCRUM MASTER• REPEATING THE SAME TASKS• BACKLOG NOT UPTO DATE• BURNDOWN NOT THERE OR NOT GOING DOWN

Page 41: One day Course On Agile

SOME LAWS AND AGILE• Specifications will never be fully understood. Ziv’s Law

• The user will never know what they want until the system is in production (and maybe not even then). 

Humphrey’s Law

• Software evolves more rapidly as it approaches chaotic regions. 

Langdon’s Lemma

• An interactive system can never be fully specified or tested

Wegner’s Lemma

• Organisations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations

Conway’s Law

Page 42: One day Course On Agile
Page 43: One day Course On Agile

Effective scrum teams – James Whitehead

EXTREME PROGRAMMING

Page 44: One day Course On Agile

WHAT IS XP?

• EXTREME PROGRAMMING IS A DISCIPLE OF SOFTWARE DEVELOPMENT BASED ON VALUES OF SIMPLICITY COMMUNICATION, FEEDBACK AND COURAGE.

• IT WORKS BY BRINGING THE WHOLE TEAM TOGETHER IN THE PRESENCE OF SIMPLE PRACTICES, WITH ENOUGH FEEDBACK TO ENABLE THE TEAM TO SEE WHERE THEY ARE AND TO TUNE THE PRACTICES TO THEIR UNIQUE SITUATIONS.

Page 45: One day Course On Agile

VALUES, PRINCIPLES & PRACTICES

• VALUES ARE UNIVERSAL• PRACTICES ARE WAYS OF SOLVING THE COMMON DILEMMA WE ALL

ENCOUNTER IN SOFTWARE DEVELOPMENT• PRINCIPLES ARE THE BRIDGE BETWEEN THE TWO.

Page 46: One day Course On Agile

VALUES• COMMUNICATION

• MOTION WITHOUT COMMUNICATION IS NOT PROGRESS• SIMPLICITY

• WHAT IS THE SIMPLEST THING THAT COULD POSSIBLY WORK• FEEDBACK

• CHANGE IS INEVITABLE, CHANGE CREATE THE NEED FOR FEEDBACK• COURAGE

• EFFECTIVE ACTION IN THE FACE OF FEAR• RESPECT

• I AM IMPORTANT AND SO ARE YOU

Page 47: One day Course On Agile

PRINCIPLES

VALUES ARE TOO ABSTRACT TO DIRECTLY GUIDE BEHAVIOUR…..

LONG DOCUMENTS ARE INTENDED TO COMMUNICATE, SO ARE DAILY CONVERSATIONS.

WHICH IS THE MOST EFFECTIVE?

Page 48: One day Course On Agile

PRINCIPLES• HUMANITY

• IT’S ALL ABOUT PEOPLE!• ECONOMICS

• WE MUST PROVIDE BUSINESS VALUE• MUTUAL BENEFITS

• EVERY ACTIVITY SHOULD BENEFIT ALL CONCERNED• SELF-SIMILARITY

• THE STRUCTURE OF SOLUTIONS CAN BE COPIED INTO NEW CONTEXTS EVEN AT DIFFERENT LEVELS

• IMPROVEMENT• PERFECT IS A VERB NOT AN ADJECTIVE!

• DIVERSITY• WE NEED TO BRING TOGETHER A VARIETY OF

SKILLS, ATTITUDES AND PERSPECTIVES• REFLECTION

• GOOD TEAMS DON’T JUST DO THEIR WORK THEY THINK ABOUT HOW THEY ARE WORKING AND WHY THEY ARE WORKING

• FLOW• MOVE TOWARD A CONTINUOUS FLOW OF ACTIVITIES

RATHER THAN DISCRETE PHASES • OPPORTUNITY

• WE NEED TO LEARN TO SEE PROBLEMS AS OPPORTUNITIES FOR CHANGE!!!

• REDUNDANCY• THE CRITICAL, DIFFICULT PROBLEMS IN SOFTWARE

DEVELOPMENT SHOULD BE SOLVED IN SEVERAL DIFFERENT WAYS

• FAILURE• IF YOU’RE HAVING TROUBLE SUCCEEDING, FAIL FAST..

• QUALITY• SACRIFICING QUALITY IS NOT EFFECTIVE AS A MEANS OF

CONTROL• BABY STEPS

• MOMENTOUS CHANGE TAKEN ALL AT ONCE IS DANGEROUS• ACCEPTED RESPONSIBILITY

• IS SOMEONE TRIES TO GIVE YOU RESPONSIBILITY, ONLY YOU CAN DECIDE IF YOU ARE RESPONSIBLE OR IF YOU AREN’T

Page 49: One day Course On Agile

PRACTICES

• PRACTICES ARE SITUATION DEPENDENT• IF YOUR SITUATION CHANGES CHOOSE DIFFERENT PRACTICES TO MEET

THE SITUATION• HAVE A READ THROUGH THE TWO INNER CIRCLES PRACTICES AND THINK

ABOUT HOW COULD WE APPLY THESE TO OUR SIMULATION.

Page 50: One day Course On Agile

PRACTICES

Page 51: One day Course On Agile

PAIRING

• TWO BRAINS ARE BETTER THAN ONE• THE ABILITY TO BRAINSTORM SOLUTIONS AND REFINEMENT TO THE SYSTEM• CLARIFY IDEAS TOGETHER

• FOCUS – ABILITY TO KEEP EACH OTHER ON TRACK AND FOCUSED ON THE TASK• LOWER FRUSTRATION• ACCOUNTABILITY• ABILITY TO THINK AT TWO DIFFERENT LEVELS – SYNTACTICALLY AND BLUE-SKY• REDUCES UNNOTICED MISTAKES• KNOWLEDGE TRANSFER• REDUCES “HIT BY A BUS” SYNDROME• ALLOWS US ALL TO HAVE A TRULY RELAXING VACATION, OR RECOVERING SICK-TIME, WITHOUT GUILT

Page 52: One day Course On Agile

TESTING

• THERE ARE MANY LEVEL OF TESTING WITHIN BLACK-BOX AND WHITE BOX• ALL OF WHICH ARE VALUABLE AND IMPORTANT• LIKE MANY ENGLISH WORDS, WORDS FOR TESTING ARE ‘OVER

SUBSCRIBED’• RIGHT NOW, WE’RE FOCUSING ON TWO SPECIFICALLY AGILE FORM

FORMS OF TESTING• UNIT TESTING• ACCEPTANCE TESTING

Page 53: One day Course On Agile

UNIT TESTING

• TESTS A VERY SMALL UNIT OF CODE• TESTS THAT WILL SHOW THE DEVELOPERS THAT THEY HAVE

IMPLEMENTED THE PIECE OF CODE THEY WERE FOCUSED ON• WRITTEN BY THE DEVELOPER• WHITE-BOX

Page 54: One day Course On Agile

ACCEPTANCE TESTING

• TESTS THAT WILL SHOW THAT THE STORY CARD CAN BE ACCEPTED• THESE WILL OFTEN SPAN FUNCTIONALITY OF THE SYSTEM• PREFERABLY WRITTEN BY THE CUSTOMER (OR STORY WRITER)• BLACK-BOX• BUT SOMETIMES WRITTEN BY THE DEVELOPERS (THIS WHITE-BOX) ->

BABY STEPS• SELENIUM, JUNIT AND SQUISH ARE USED FOR AUTOMATED ACCEPTANCE

TESTING

Page 55: One day Course On Agile

UNIT TESTING

• WHAT DO WE TEST?• EVERYTHING THAT COULD BREAK• ANYTHING WE WANT TO REMEMBER• ANYTHING THAT LOOKS INTERESTING• ANYTHING THAT WE’VE FOUND A BUG IN

USE YOUR EXPERIENCE AND YOUR GUT FEELINGIF IN DOUBT WRITE MORE TESTSWE USE XUNIT TESTING FRAMEWORKS TO HELP US UNIT TESTXUNIT IS A CONVENTION WHERE X IS OFTEN REPLACED WITH A LETTER OR NAME THAT SYMBOLISES THE LANGUAGE I.E. JUNIT FOR JAVA, NUNIT FOR .NET, PYTHONUNIT FOR PYTHON(THIS CONVENTION ISN’T ALWAYS FOLLOWED THOUGH I.E. CACTUS IS FOR UNIT-TESTING SERVER-SIDE JAVA DOE)MOST OF THE XUNIT FRAMWORKS CAN BE FOUND AT: HTTP://RONJEFFRIES.COM/

Page 56: One day Course On Agile

TEST DRIVEN DEVELOPMENT

• PREVENTS SCOPE CREEP• ENSURES GOOD DESIGN• FOSTERS TRUST• CREATES RHYTHM (FLOW)

Page 57: One day Course On Agile

TEST DRIVEN DEVELOPMENT• PREVENTS SCOPE CREEP

• IT’S EASY TO GET CARRIED AWAY PROGRAMMING AND PUT IN CODE “JUST IN CASE”• BY STATING EXPLICITLY AND OBJECTIVELY WHAT THE PROGRAM IS SUPPOSED TO DO, YOU GIVE

YOURSELF A FOCUS FOR YOUR CODING• ENSURES GOOD DESIGN

• IF IT’S HARD TO WRITE A TEST, IT’S A SIGNAL THAT YOU HAVE A DESIGN PROBLEM, NOT A TESTING PROBLEM. LOOSELY COUPLED, HIGHLY COHESIVE CODE IS EASY TO TEST

• FOSTERS TRUST• IT’S HARD TO TRUST THE AUTHOR OF CODE THAT DOESN’T WORK. BY WRITING CLEAN CODE THAT

WORKS AND DEMONSTRATING YOUR INTENTIONS WITH AUTOMATED TEST, YOU FIVE YOUR TEAM MATES A REASON TO TRUST YOU

• CREATES RHYTHM (FLOW)• IT’S EASY TO GET LOST FOR HOURS WHEN YOU ARE CODING. WHEN PROGRAMMING TEST-FIRST, IT’S

CLEARER WHAT TO DO NEXT: EITHER WRITE ANOTHER TEST OR MAKE THE BROKEN TEST WORK.• SOON THIS DEVELOPS INTO A NATURAL AND EFFICIENT RHYTHM – TEST, CODE, REFACTOR, TEST,

CODE, REFACTOR

Page 58: One day Course On Agile

WHY TDD?• PROVIDES A SAFETY NET TO CHANGE• PROVIDES A WAY TO FAIL FAST• TESTING AND DEVELOPMENT PROCESS IS MORE COLLABORATIVE• BY WRITING OUR TEST FIRST WE CAN’T BE “TOO BUSY” TO WRITE TESTS

AFTER WE FINISH – IT’S FAR EASIER TO ADD THEM AS YOU GO.• BY WRITING OUR TESTS FIRST AND ONLY WRITING ENOUGH CODE TO

PASS THE TESTS WE ARE LESS LIKELY TO CODE THAT “MIGHT BE USEFUL LATER”

• WHEN WE CAN’T THINK OF ANY MORE TESTS WE’RE DONE• WE GET AN EVER GROWING SUITE OF REGRESSION TESTS AS THE

APPLICATION GROWS, GIVING US MORE CONFIDENCE IN THE APPLICATION

Page 59: One day Course On Agile

10 MINUTE BUILD

• AUTOMATICALLY BUILD THE SYSTEM AND RUN ALL THE TESTS IN 10 MINUTES

• 10 MINUTE BUILD IS THE IDEAL – WORK TOWARDS THIS• PRACTICES SHOULD LOWER STRESS – AN AUTOMATED BUILD LOWERS

STRESS CRUNCH TIME• ANT AND MAVEN ARE USED FOR BUILD

Page 60: One day Course On Agile

CONTINUOUS INTEGRATION• THE INTEGRATION STEP IS UNPREDICTABLE, BUT CAN EASILY TAKE MORE TIME THEN THE ORIGINAL

PROGRAMMING• THE LONGER YOU WAIT TO INTEGRATE, THE MORE IT COSTS AND THE MORE UNPREDICTABLE THE

COST BECOMES• INTEGRATE AND TEST CHANGES AFTER NO MORE THAN A COUPLE OF HOURS• THE MOST COMMON FORM OF CONTINUOUS INTEGRATION FOLLOWS THIS PATTERN:

• A PROGRAMMING PAIR CHECKS IN THEIR CHANGES• THE BUILD SYSTEM NOTICES THAT THE CODE HAS CHANGED• IT BUILDS THE SYSTEM• IT THEN RUNS ALL OF THE TESTS• IF THERE ARE PROBLEMS, THE BUILD SYSTEM NOTIFIES THE PROGRAMMING PAIR (BY EMAIL, TEXT MESSAGE,

GLOWING RED LAVA LAMP….)• THERE ARE MANY CONTINUOUS INTEGRATION TOOLS OUT THERE• SOME OF THE TOOLS USED ARE:

• JENKINS CI – HTTP://JENKINS-CI.ORG• COBERTURA – HTTP://COBERTURA.SOURCEFORGE.NET/

Page 61: One day Course On Agile

CODE SMELLS

• CODE SMELLS• CODE SMELLS ARE NAME GIVEN TO “SUSPECT” DESIGN DECISIONS IN CODE• THEY USUALLY INDICATE CODE THAT IS OVERLY COMPLEX, DIFFICULT TO UNDERSTAND, AND/OR DIFFICULT TO

CHANGE• CODE SMELLS ARE NOT DEFINITELY AN ISSUE, BUT SHOULD BE INVESTIGATED

• EXAMPLES• DUPLICATED CODE• LARGE METHODS & CLASSES• DEAD CODE• COMPLEX LOGIC• POOR OR MISLEADING NAMES AND TERMS USED IN CODE

Page 62: One day Course On Agile

REFACTORING

• IF IT SMELLS, CHANGE IT!• REFACTORING IS THE SOLUTION TO CODE SMELLS• APPLIES SMALL CONTROLLED CHANGES TO A CODE BASE TO IMPROVE THE

DESIGN WHILE MAINTAIN THE BEHAVIOUR• REFACTOR TO MAKE IT EASY TO ADD NEW FEATURES• IT IS BEST SUPPORTED BY AUTOMATED TOOLS AND AUTOMATED TESTS.

MODERN DEVELOPMENT TOOLS ARE VITAL.• CRUCIAL CONTRIBUTOR OF RESILIENCE

Page 63: One day Course On Agile

SIMPLE DESIGN

• DO THE SIMPLEST THING THAT COULD POSSIBLY WORK• INVEST IN THE DESIGN OF THE SYSTEM EVERY DAY• XP TEAMS WORK HARD AT LOWERING THE COST OF CHANGE OVER TIME• NEED THE ABILITY TO ADAPT THE DESIGN TO FUTURE REQUIREMENTS• WITHOUT DAILY ATTENTION TO DESIGN THE COST OF CHANGES SKY-ROCKET AND RESULTS IN

POORLY DESIGNED, BRITTLE AND HARD-TO-CHANGE SYSTEMS• KEEP DESIGN INVESTMENT IN PROPORTION TO THE NEEDS OF THE SYSTEM SO FAR• INCREMENTAL DESIGN SUGGEST THE MOST EFFECTIVE TIME TO DESIGN IS IN THE LIGHT OF

EXPERIENCE• DESIGN DONE CLOSE TO WHEN IT USED IS MORE EFFECIENT

Page 64: One day Course On Agile

Effective scrum teams – James Whitehead

USER STORIES

Page 65: One day Course On Agile

Effective scrum teams – James Whitehead

USER STORIES

Page 66: One day Course On Agile

ELEMENTS OF A USER STORY• WHAT IS A USER STORY?

• A USER STORY DESCRIBES A SMALL PIECE OF SYSTEM FUNCTIONALITY, IN A SIMPLE AND EASY TO READ SENTENCE.

• A WELL WRITTEN USER STORY WILL DESCRIBE WHAT THE DESIRED FUNCTIONALITY IS, WHO IT IS FOR, AND WHY IT IS USEFUL. 

• SOME PEOPLE ADOPT THE 5 W’S - WHO/WHAT/WHEN/WHERE/WHY IN LOOKING AT A USER STORY.

• THERE ARE 3 PARTS TO A FULLY FLESHED OUT USER STORY. IF YOU LIKE MARKETING-SPEAK, THEN YOU CAN CALL THEM THE “3 C’S”:

• THE CARD

• THE CONVERSATION

• THE CONFIRMATION

Page 67: One day Course On Agile

WHY USER STORIES• CONCISE AND TO THE POINT• ENCOURAGE COMMUNICATION AND COLLABORATION BETWEEN CUSTOMER

AND TEAM• STORIES REDUCE WASTE

• CREATED AS THEY ARE NEEDED• THEIR EVOLUTIONARY CREATION THEY REMAIN USEFUL AND RELEVANT

• DEFER DECISIONS• LAST RESPONSIBLE MOMENT• REVERSIBLE DECISIONS

• STORIES PROVIDE A FORM OF DOCUMENTATION• THEY FOCUS THE CUSTOMER AND THE TEAM TO THINK ABOUT AND

QUESTION BUSINESS VALUE

Page 68: One day Course On Agile

PICTURE THIS

• RED• 4 WHEELS• TOP OF THE RANGE TURBO ENGINE• STYLISH LOOKS

Subject to interpretation

Page 69: One day Course On Agile

THE CARDA TYPICAL USER STORY FOLLOWS THIS TEMPLATE:

“AS A [USER], I WANT [FUNCTION], SO THAT [VALUE]”

HAVING SUCH AN EASY TEMPLATE TO FOLLOW ALLOWS ANYONE INVOLVED WITH THE PROJECT TO HELP WRITE THEM, FROM SALES, TO DESIGNERS, DEVELOPERS AND TESTERS, ALL THE WAY THROUGH TO CLIENTS OR USERS. 

WE REFER TO THIS AS “THE CARD” BECAUSE OFTEN THEY ARE WRITTEN ON 3X5 BITS OF PLAIN CARD, USUALLY TO GIVE A PHYSICAL CONSTRAINT WHICH LIMITS THE POSSIBLE LENGTH OF THE STORY. 

HERE’S A FEW HYPOTHETICAL EXAMPLES WRITTEN FOR YOUTUBE.  I’VE DEFINED A “CREATOR” AS SOMEONE WHO CONTRIBUTES VIDEOS TO THE SITE, AND “USER” AS SOMEONE WHO JUST WATCHES THEM:

As a course attendee I wantWriting Good Stories

Title Reserved for priorityPerspective

To know how to write good user stories so that I can submit cards to the planning game that are clear and will be accepted to the next sprint

Author Date Reserved for estimateBob 08/05/15

Conversation starterConversation starter

Reason

Requirements

WhyWhy

WhatWhat

WhoWhoGood short titleGood short title

Page 70: One day Course On Agile

AN EXAMPLE OF A SIMPLE CARD

As a course attendee I wantWriting Good Stories

Title Reserved for priorityPerspective

To know how to write good user stories so that I can submit cards to the planning game that are clear and will be accepted to the next sprint

Author Date Reserved for estimateBob 08/05/15

Conversation starterConversation starter

Reason

Requirements

WhyWhy

WhatWhat

WhoWhoGood short titleGood short title

Page 71: One day Course On Agile

THE CONVERSATIONTHINK OF THE CONVERSATION AS AN OPEN DIALOGUE BETWEEN EVERYONE WORKING ON THE PROJECT, AND THE CLIENT. 

ANYONE CAN RAISE QUESTIONS, ASK FOR THINGS TO BE CLARIFIED, AND THE ANSWERS CAN BE RECORDED DOWN AS BULLET POINTS FOR LATER REFERENCE.

IT IS ALSO A STAGE WHERE YOU CAN RE-EVALUATE YOUR USER STORY, AND POSSIBLY SPLIT IT INTO MULTIPLE STORIES IF REQUIRED.

FOR EXAMPLE, WE DISCUSS THE CREATOR UPLOAD USER STORY, AND DECIDE THAT THERE ARE ACTUALLY MULTIPLE THINGS THAT CAN HAPPEN, SO WE SPLIT THEM, AND EXPAND ON THEM:

Page 72: One day Course On Agile

THE CONVERSATION CONT…AS A CREATOR, I WANT TO UPLOAD A VIDEO FROM MY LOCAL MACHINE SO THAT ANY USERS CAN VIEW IT.

• THE “UPLOAD” BUTTON WILL BE A PERSISTENT ITEM ON EVERY PAGE OF THE SITE.• VIDEOS MUST NOT BE LARGER THAN 100MB, OR MORE THAN 10 MINUTES LONG.• FILE FORMATS CAN INCLUDE .FLV, .MOV, .MP4, .AVI, AND .MPG.• UPLOAD PROGRESS WILL BE SHOWN IN REAL TIME.

AS A CREATOR, I WANT TO EDIT THE VIDEO’S METADATA WHILE A VIDEO IS UPLOADING, TO SAVE MYSELF TIME.

• EDITABLE FIELDS INCLUDE VIDEO NAME, DESCRIPTION, TAGS, AND PRIVACY SETTINGS.• ONCE SAVED, THE USER WILL BE TAKEN TO THEIR VIDEO’S DEDICATED PAGE.

ONCE YOU WRITE A FEW OF THESE AND GET INTO THE SWING OF IT, YOU’LL FIND YOU’RE GETTING A LOT OF DATA WRITTEN DOWN VERY QUICKLY.

BECAUSE OF THIS, IT’S IMPORTANT TO ORGANISE YOUR USER STORIES IN A MANAGEABLE WAY. I LIKE TO GROUP THEM BY INTERFACE, AND PRESENT THEM NEXT TO A WIREFRAME SHOWING THE INTENDED FUNCTIONALITY.

Page 73: One day Course On Agile

THE CONFIRMATIONTHE CONFIRMATION IS BASICALLY JUST A TEST CASE. IF YOU’RE NOT FAMILIAR WITH TEST PLANS AND TEST CASES, THINK OF A TEST CASE AS A SERIES OF STEPS THAT A USER MUST DO TO ACHIEVE THE USER STORY.

A TEST PLAN IS A COLLECTION OF TEST CASES.

WITH FULL COVERAGE OF YOUR SYSTEM IN YOUR TEST PLANS, YOU CAN EASILY TEST EVERY CORE PIECE OF FUNCTIONALITY AND TICK THEM OFF AS YOU GO THROUGH THEM.

A TEST CASE FOR OUR YOUTUBE EXAMPLE MIGHT LOOK LIKE -

Page 74: One day Course On Agile

THE CONFIRMATION CONT…AS A CREATOR, I WANT TO UPLOAD A VIDEO FROM MY LOCAL MACHINE SO THAT ANY USERS CAN VIEW IT.

1. CLICK THE “UPLOAD” BUTTON.2. SPECIFY A VIDEO FILE TO UPLOAD.

1. CHECK THAT .FLV, .MOV, .MP4, .AVI, AND .MPG EXTENSIONS ARE SUPPORTED.2. CHECK THAT OTHER FILETYPES AREN’T ABLE TO BE UPLOADED.3. CHECK THAT FILES LARGER THAN 100MB RESULTS IN AN ERROR.4. CHECK THAT MOVIES LONGER THAN 10 MINS RESULT IN AN ERROR.

3. CLICK “UPLOAD VIDEO”.4. CHECK THAT PROGRESS IS DISPLAYED IN REAL TIME.

Page 75: One day Course On Agile

USER STORY EXAMPLES "As a reader of this presentation, I want to understand how to write so I can be competent in putting them together

The visitor can enter a valid email to the subscribe form

The visitor cannot submit the form without entering a valid email

After submission, the visitor should see a "thank you" message on the top of the screen

Page 76: One day Course On Agile

BLOGUser Story..

"As a reader of a blog post, I want to subscribe to a newsletter so I can follow the blog"

Acceptance Criteria…

The visitor can enter a valid email to the subscribe form

The visitor cannot submit the form without entering a valid email

After submission, the visitor should see a "thank you" message on the top of the screen

Page 77: One day Course On Agile

LIBRARYAs a user of the library catalogue, I want advanced search options on the front page so that I can quickly and easily refine my search. I can limit the search by format/type.

I can delineate the search by date range.I can limit the search to publisher information such as title, author, subject, place, publisher and call number.I can restrict the search to a particular website/catalogue, collection.I can find advanced search options – advanced search options are carried through as filters to search results page.I can filter by availability.

Page 78: One day Course On Agile

SCENARIOStudents can purchase monthly parking passes online.Parking passes can be paid via credit cards.Parking passes can be paid via PayPal.Professors can input student marks.Students can obtain their current seminar schedule.Students can order official transcripts.Students can only enrol in seminars for which they have prerequisites.Transcripts will be available online via a standard browser.

Page 79: One day Course On Agile
Page 80: One day Course On Agile
Page 81: One day Course On Agile
Page 82: One day Course On Agile
Page 83: One day Course On Agile
Page 84: One day Course On Agile

PRODUCT BACKLOG

• A LIST OF USER STORIES FORM YOUR PRODUCT BACKLOG. OFTEN TERMED PBI (PRODUCT BACKLOG ITEM)

As a xxxxx I want xxx so that xxxx

As a xxxxx I want xxx so that xxxx

As a xxxxx I want xxx so that xxxx

As a xxxxx I want xxx so that xxxx

As a xxxxx I want xxx so that xxxx

As a xxxxx I want xxx so that xxxx

Page 85: One day Course On Agile

ESTIMATE EACH ITEM (USER STORY)How long is this going to take?

- 1 day ?- 1 week?- Forever?

Page 86: One day Course On Agile

ESTIMATE EACH ITEMHow long is this going to take?

- 1 day ?- 1 week?- Forever?

Estimates are not time based but relative to each other

Page 87: One day Course On Agile

ESTIMATE EACH ITEM

• IS

• LIKELY TO TAKE LONGER THAN

• ?

• REMEMBER ESTIMATION IS RELATIVE SIZING!

#1

#2

Page 88: One day Course On Agile

2 – ESTIMATE EACH ITEMRELATIVE ESTIMATION

ESTIMATING STORY POINTS USING COMPLEXITY BUCKETS • THIS APPROACH PROVIDES A CONSISTENT WAY FOR TEAMS TO SIZE STORIES BY DISCUSSING EACH STORY

IN TERMS OF PRE-DEFINED BUCKETS OF COMPLEXITY BEFORE DECIDING ON THE FINAL POINTS.  • THE STEPS ARE SIMPLE:

• DECIDE ON THE BUCKETS OF COMPLEXITY YOU THINK MATCH YOUR PROJECT. FOR EXAMPLE, MANY SOFTWARE DEVELOPMENT EFFORTS HAVE THE BUCKETS USED BELOW.

• DISCUSS THE STORY IN EACH BUCKET AND DETERMINE IF THE TEAM CAN AGREE IF THE WORK IT HAS A LIGHT, MEDIUM, HIGH OR COMPLEX LEVEL OF COMPLEXITY.

• ADD UP THE POINTS AND SEE WHICH FIBONACCI STORY POINT BUCKET IT FALLS INTO. IF IT FALLS BETWEEN TWO BUCKETS, HAVE THE TEAM DO A GUT CHECK AND DECIDE ON WHICH ONES IT FALLS INTO.

Page 89: One day Course On Agile

2 – ESTIMATION HELPFUL TIPSUser Interface Business Logic Data/Integration Testing

L = 1 L = 1 L = 1 L = 1M = 2 M = 2 M = 2 M = 2H = 3 H = 3 H = 3 H = 3C = 4 C = 4 C = 4 C = 4

Helpful Considerations

Helpful Considerations Helpful Considerations Helpful Considerations

- number of screen fields?

- number of business rules? - number of data stores - user testing complexity

- Screen validation logic?

- business rules complexity - complexity of Stored procedures/triggers

- data setup complexity for each test pack

- number of screens?   - number of tables/relationships

- test automation complexity

1 2 3 5 8 13 21

ExampleAs a customer, I want to browse the list of products so that I view the details.

User interface: M = 2Business Logic: N/A

Data: L = 1Testing: L = 1

Total is 4 points, which is between 3 and 5, team decide on 3.

Page 90: One day Course On Agile

USER INTERFACE

• L = 1• M = 2• H = 3• C = 4• HELPFUL CONSIDERATIONS

• - NUMBER OF SCREEN FIELDS?• - SCREEN VALIDATION LOGIC?• - NUMBER OF SCREENS?

Page 91: One day Course On Agile

BUSINESS LOGIC

• L = 1• M = 2• H = 3• C = 4• HELPFUL CONSIDERATIONS

• - NUMBER OF BUSINESS RULES?• - BUSINESS RULES COMPLEXITY

Page 92: One day Course On Agile

DATA/INTEGRATION

• L = 1• M = 2• H = 3• C = 4• HELPFUL CONSIDERATIONS

• - NUMBER OF DATA STORES• - COMPLEXITY OF STORED PROCEDURES/TRIGGERS• - NUMBER OF TABLES/RELATIONSHIPS

Page 93: One day Course On Agile

TESTING

• L = 1• M = 2• H = 3• C = 4• HELPFUL CONSIDERATIONS

• - USER TESTING COMPLEXITY• - DATA SETUP COMPLEXITY FOR EACH TEST PACK• - TEST AUTOMATION COMPLEXITY

Page 94: One day Course On Agile

EXAMPLE

AS A CUSTOMER, I WANT TO BROWSE THE LIST OF PRODUCTS SO THAT I CAN VIEW THE DETAILS.

USER INTERFACE: M = 2BUSINESS LOGIC: N/ADATA: L = 1TESTING: L = 1

TOTAL IS 4 POINTS, WHICH IS BETWEEN 3 AND 5, TEAM DECIDE ON 3 BECAUSE THE BUSINESS LOGIC IS NOT APPLICABLE.

Page 95: One day Course On Agile

INVEST

Letter Meaning Description

I Independent The user story should be self-contained, in a way that there is no inherent dependency on another user story.

N Negotiable User stories, up until they are part of a sprint, can always be changed and rewritten.

V Valuable A user story must deliver value to the business

E Estimable You must always be able to estimate the size of a user story.

SSized appropriately or Small

User stories should not be so big as to become impossible to plan/task/prioritize with a certain level of certainty.

T TestableThe user story or its related description must provide the necessary information to make testing of the development possible.

The INVEST mnemonic was created by Bill Wake as a reminder of the characteristics of a good quality user story, as may be used in a Scrum backlog.

Page 96: One day Course On Agile

INDEPENDENT

• THE USER STORY SHOULD BE SELF-CONTAINED, IN A WAY THAT THERE IS NO INHERENT DEPENDENCY ON ANOTHER USER STORY.

Page 97: One day Course On Agile

NEGOTIABLE

• USER STORIES, UP UNTIL THEY ARE PART OF A SPRINT, CAN ALWAYS BE CHANGED AND REWRITTEN.

Page 98: One day Course On Agile

VALUABLE

• A USER STORY MUST DELIVER VALUE TO THE BUSINESS

• VALUE CAN BE MONETARY• GAIN MORE CUSTOMERS• COMING UP WITH TECHNICAL STORIES THAT ARE REALLY FUN TO CODE BUT

BRING NO VALUE TO THE END-USER VIOLATES ONE OF THE AGILE PRINCIPLES, WHICH IS TO CONTINUOUSLY DELIVER VALUABLE SOFTWARE TO THE BUSINESS.

Page 99: One day Course On Agile

ESTIMABLE

• YOU MUST ALWAYS BE ABLE TO ESTIMATE THE SIZE OF A USER STORY.

• IF A USER STORY SIZE CANNOT BE ESTIMATED, IT WILL NEVER BE PLANNED, TASKED, AND, THUS, BECOME PART OF A SPRINT.

• SO THERE'S ACTUALLY NO POINT IN KEEPING THIS KIND OF USER STORY IN THE PRODUCT BACKLOG AT ALL.

Page 100: One day Course On Agile

TESTABLE

• THE USER STORY OR ITS RELATED DESCRIPTION MUST PROVIDE THE NECESSARY INFORMATION TO MAKE TESTING OF THE DEVELOPMENT POSSIBLE.

• REMEMBER HERE THESE TESTS CAN BE PART OF YOUR CONDITIONS OF SATISFACTION OR ACCEPTANCE CRITERIA.

Page 101: One day Course On Agile

SIZED APPROPRIATELY

• USER STORIES SHOULD NOT BE SO BIG AS TO BECOME IMPOSSIBLE TO PLAN/TASK/PRIORITIZE WITH A CERTAIN LEVEL OF CERTAINTY.

• TRY TO KEEP YOUR USER STORY SIZES TO TYPICALLY A FEW PERSON-DAYS AND AT MOST A FEW PERSON-WEEKS. ANYTHING BEYOND THAT RANGE SHOULD BE CONSIDERED TOO LARGE TO BE ESTIMATED WITH A GOOD LEVEL OF CERTAINTY OR EVEN "EPIC" AND BROKEN DOWN INTO SMALLER USER STORIES.

• THERE'S NO PROBLEM IN STARTING WITH EPIC STORIES, AS LONG AS THEY ARE BROKEN DOWN WHEN THE TIME TO PLACE THEM IN A SPRINT BACKLOG BECOMES CLOSER

Page 102: One day Course On Agile

OR SMALL

• TRY TO KEEP YOUR USER STORY SIZES TO TYPICALLY A FEW PERSON-DAYS AND AT MOST A FEW PERSON-WEEKS. ANYTHING BEYOND THAT RANGE SHOULD BE CONSIDERED TOO LARGE TO BE ESTIMATED WITH A GOOD LEVEL OF CERTAINTY OR EVEN "EPIC" AND BROKEN DOWN INTO SMALLER USER STORIES.

• THERE'S NO PROBLEM IN STARTING WITH EPIC STORIES, AS LONG AS THEY ARE BROKEN DOWN WHEN THE TIME TO PLACE THEM IN A SPRINT BACKLOG BECOMES CLOSER

Page 103: One day Course On Agile

MY USER STORY IS TOO BIG

• WHAT DO YOU DO IF THE ESTIMATION IS TOO BIG!!

Page 104: One day Course On Agile
Page 105: One day Course On Agile

THEMES

• THEMES MAY BE THOUGHT OF AS GROUPS OF RELATED STORIES. • OFTEN THE STORIES ALL CONTRIBUTE TO A COMMON GOAL OR ARE

RELATED IN SOME OBVIOUS WAY.• HOWEVER, WHILE SOME STORIES IN A THEME MAY BE DEPENDENT ON

ONE ANOTHER, THEY DO NOT NEED TO ENCAPSULATE A SPECIFIC WORK FLOW OR BE DELIVERED TOGETHER.

Page 106: One day Course On Agile

EXAMPLE THEMES

USER PORTALS (ACCOUNT SELF MANAGEMENT)INTEGRATIONREPORTINGMERCHANT HANDLING (ON AN ECOMMERCE SITE PAYMENT OF GOODS)CUSTOMER SERVICECONTENT MANAGEMENT SYSTEMS (CMS)

ARE ALL HIGH LEVEL THEMES FROM AN EPIC USER STORY ‘I WANT A WEBSITE TO SELL MY GOODS ONLINE’

Page 107: One day Course On Agile

ANOTHER EXAMPLE THEME..LET'S LOOK AT AN EXAMPLE OF A COMMON PIECE OF WORK THAT CAN OFTEN BE REPRESENTED AS A THEME – ‘PERFORMANCE TUNING’.

IMPROVING THE PERFORMANCE OF A SPECIFIC FEATURE OF AN APPLICATION OFTEN INVOLVES MAKING MANY SMALL IMPROVEMENTS TOWARD THE END GOAL OF A SIGNIFICANT PERFORMANCE IMPROVEMENT.

FOR EXAMPLE, IMAGINE THAT YOUR APPLICATION INCLUDES A REPORT TO DISPLAY THE TOTAL SALES NUMBERS PER SALESPERSON.

THESE NUMBERS MAY BE CALCULATED AS OF THE PREVIOUS DAY.

THIS CAN BE A TIME-CONSUMING REPORT TO EXECUTE, AND AS A RESULT THE ENTIRE APPLICATION TENDS TO HANG FOR SEVERAL SECONDS EACH TIME A USER RUNS IT.

THERE MAY BE SEVERAL THINGS WE CAN DO TO IMPROVE THIS REPORT, THINGS THAT ARE CAPTURED BELOW AS STORIES:

Page 108: One day Course On Agile

PERFORMANCE THEME

1. AS A SALESPERSON, I'D LIKE FOR THE UI OF THE APPLICATION TO REMAIN RESPONSIVE WHILE THE REPORT IS LOADING, SO I CAN CANCEL THE REPORT IF DESIRED.

2. AS A DEVELOPER, I'D LIKE TO PRE-AGGREGATE AND CACHE THE SALES NUMBERS AS OF THE PREVIOUS DAY, SO THEY DO NOT NEED TO BE RECALCULATED EACH TIME THE REPORT IS RUN.

3. AS A DEVELOPER, I'D LIKE TO GENERATE THE HTML TABLE CONTAINING THE SALES NUMBERS ON THE SERVER AND SEND IT PRE-RENDERED TO THE CLIENT, SO IT NO LONGER HAS TO BE RENDERED BY JAVASCRIPT ON THE CLIENT.

Page 109: One day Course On Agile

QUESTION

• WHO SPOTTED THE 3RD ONE ??

• THIS HAS NOTHING DO WITH PERFORMANCE BUT DID YOU SPOT IT?

Page 110: One day Course On Agile

PERFORMANCE THEME CONT..

EACH OF THESE STORIES HAS THE POTENTIAL TO IMPROVE THE PERFORMANCE OF THE REPORT.

HOWEVER, WHILE EACH STORY CONTRIBUTES TO THE SAME OVERARCHING GOAL, THEY DO NOT NEED TO BE COMPLETED IN A SPECIFIC ORDER.

FURTHERMORE, EACH STORY COULD BE DELIVERED INDEPENDENTLY FROM THE OTHERS AND STILL PROVIDE SOME MEASURABLE BENEFIT TO THE END USER.

FOR THESE REASONS, THESE STORIES ARE BEST GROUPED INTO A THEME RATHER THAN AN EPIC.

GROUPING THESE STORIES BY THEME ALLOWS US TO SEE THE BROADER GOAL THAT EACH STORY CONTRIBUTES TO WITHOUT FORCING US TO APPROACH THE STORIES IN A SPECIFIC ORDER.

ALSO, GROUPING THE STORIES AS A THEME ALSO NEGATES THE NEED TO HOLD DELIVERY OF THE ENTIRE GROUP UNTIL EACH STORY IS COMPLETE.

THIS GIVES US MORE FLEXIBILITY IN SCHEDULING AND PLANNING AS WELL AS IN OUR ABILITY TO ADD AND REMOVE STORIES AS THE SHAPE OF THE BACKLOG CHANGES.

Page 111: One day Course On Agile

WHAT IS AN EPIC

• EPICS RESEMBLE THEMES IN THE SENSE THAT THEY ARE MADE UP OF MULTIPLE STORIES.

• THEY MAY ALSO RESEMBLE STORIES IN THE SENSE THAT, AT FIRST, MANY APPEAR TO SIMPLY BE A "BIG STORY." AS OPPOSED TO THEMES, HOWEVER, THESE STORIES OFTEN COMPRISE A COMPLETE WORK FLOW FOR A USER.

• BUT THERE'S AN EVEN MORE IMPORTANT DIFFERENCE BETWEEN THEMES AND EPICS.

Page 112: One day Course On Agile

EPIC CONT…

• WHILE THE STORIES THAT COMPRISE AN EPIC MAY BE COMPLETED INDEPENDENTLY, THEIR BUSINESS VALUE ISN'T REALISED UNTIL THE ENTIRE EPIC IS COMPLETE.

• THIS MEANS THAT IT RARELY MAKES SENSE TO DELIVER AN EPIC UNTIL ALL OF THE UNDERLYING STORIES ARE COMPLETE.

• IN CONTRAST, WHILE STORIES COMPRISING A THEME ARE RELATED, EACH IS INDEPENDENT ENOUGH TO BE DELIVERED SEPARATELY AND STILL PROVIDE SOME MEASURABLE SENSE OF BUSINESS VALUE.

Page 113: One day Course On Agile

EXAMPLE OF A USER STORY(THIS IS AN EPIC)

• AS A DIRECTOR OF MARKETING, I WANT TO REVIEW THE PERFORMANCE OF HISTORICAL ADVERTISING CAMPAIGNS SO THAT I CAN IDENTIFY PROFITABLE CAMPAIGNS WORTH REPEATING.

Page 114: One day Course On Agile

INVESTINDEPENDENTTHE USER STORY SHOULD BE SELF-CONTAINED, IN A WAY THAT THERE IS NO INHERENT DEPENDENCY ON ANOTHER USER STORY.

NEGOTIABLEUSER STORIES, UP UNTIL THEY ARE PART OF A SPRINT, CAN ALWAYS BE CHANGED AND REWRITTEN.

VALUABLEA USER STORY MUST DELIVER VALUE TO THE BUSINESS

ESTIMABLEYOU MUST ALWAYS BE ABLE TO ESTIMATE THE SIZE OF A USER STORY.

SIZED APPROPRIATELY OR SMALLUSER STORIES SHOULD NOT BE SO BIG AS TO BECOME IMPOSSIBLE TO PLAN/TASK/PRIORITIZE WITH A CERTAIN LEVEL OF CERTAINTY.

TESTABLETHE USER STORY OR ITS RELATED DESCRIPTION MUST PROVIDE THE NECESSARY INFORMATION TO MAKE TEST DEVELOPMENT POSSIBLE.

Page 115: One day Course On Agile

INVEST

INDEPENDENTTHE USER STORY SHOULD BE SELF-CONTAINED, IN A WAY THAT THERE IS NO INHERENT DEPENDENCY ON ANOTHER USER STORY.

NEGOTIABLEUSER STORIES, UP UNTIL THEY ARE PART OF A SPRINT, CAN ALWAYS BE CHANGED AND REWRITTEN.

VALUABLEA USER STORY MUST DELIVER VALUE TO THE BUSINESS

ESTIMABLEYOU MUST ALWAYS BE ABLE TO ESTIMATE THE SIZE OF A USER STORY.

SIZED APPROPRIATELY OR SMALLUSER STORIES SHOULD NOT BE SO BIG AS TO BECOME IMPOSSIBLE TO PLAN/TASK/PRIORITIZE WITH A CERTAIN LEVEL OF CERTAINTY.

TESTABLETHE USER STORY OR ITS RELATED DESCRIPTION MUST PROVIDE THE NECESSARY INFORMATION TO MAKE TEST DEVELOPMENT POSSIBLE.

Has too many dependencies on other stories

You could negotiate on parts of the story

Clearly there is business value here avoids spending on campaigns and maximises investment in good campaigns

Can you really size this properly.

This story is very large and not small at all

There are so many test here on data and output to get testing into shape is complex and time consuming

Page 116: One day Course On Agile

EXAMPLE OF A USER STORY(STILL EPICS)

• AS A DIRECTOR OF MARKETING, I WANT TO SELECT THE TIMEFRAME TO USE WHEN REVIEWING THE PERFORMANCE OF PAST ADVERTISING CAMPAIGNS SO THAT I CAN IDENTIFY PROFITABLE ONES.

• AS A DIRECTOR OF MARKETING, I WANT TO SELECT WHICH TYPE OF CAMPAIGNS (DIRECT MAIL, TV, E-MAIL, RADIO AND SO ON) TO INCLUDE WHEN REVIEWING THE PERFORMANCE OF HISTORICAL ADVERTISING CAMPAIGNS.

Page 117: One day Course On Agile

EXAMPLE OF A USER STORY(THREE STORIES)

• AS A DIRECTOR OF MARKETING, I WANT TO SET SIMPLE DATE RANGES TO BE USED WHEN REVIEWING THE PERFORMANCE OF PAST ADVERTISING CAMPAIGNS SO THAT I CAN PICK AN EXACT SET OF DATES.

• AS A DIRECTOR OF MARKETING, I WANT TO SELECT SEASONS (SPRING, SUMMER, AUTUMN, WINTER) TO BE USED WHEN REVIEWING THE PERFORMANCE OF PAST ADVERTISING CAMPAIGNS SO THAT I CAN VIEW TRENDS ACROSS MULTIPLE YEARS.

• AS A DIRECTOR OF MARKETING, I WANT TO SELECT A HOLIDAY PERIOD (EASTER, CHRISTMAS AND SO ON) TO BE USED WHEN REVIEWING THE PERFORMANCE OF PAST ADVERTISING CAMPAIGNS SO THAT I CAN LOOK FOR TRENDS ACROSS MULTIPLE YEARS.

Page 118: One day Course On Agile

EXAMPLE OF A USER STORY3 STORIES OR ARE THEY CONDITIONS OF SATISFACTION (ACCEPTANCE CRITERIA)???

• SET SIMPLE DATE RANGES OF PAST ADVERTISING PERFORMANCE • PICK AN EXACT SET OF DATES.• SELECT SEASONS (SPRING, SUMMER, AUTUMN, WINTER) • VIEW TRENDS ACROSS MULTIPLE YEARS.• SELECT A HOLIDAY PERIOD (EASTER, CHRISTMAS AND SO ON)• REVIEW PERFORMANCE TRENDS ACROSS MULTIPLE YEARS.

Page 119: One day Course On Agile

SOME MORE TIPS ON SPLITTING USER STORIES

Page 120: One day Course On Agile
Page 121: One day Course On Agile

SPLITTING USER STORIES (CAN YOU SPLIT A STORY VERTICALLY LIKE A SLICE OF CAKE)

• 1. WORKFLOW STEPS• WHAT STEPS DOES A USER PERFORM?• ARE ALL STEPS NECESSARY (RIGHT NOW)?• CAN STEPS BE SIMPLIFIED (FOR NOW)?• I.E. STEPS IN AN ORDER PROCESS, LIKE

SELECTING A PAYMENT OPTION, DELIVERY METHOD.

Page 122: One day Course On Agile

SPLITTING USER STORIES (CAN YOU SPLIT A STORY VERTICALLY LIKE A SLICE OF CAKE)

• 2. BUSINESS RULES• WHAT RULES APPLY TO THIS STORY• ARE ALL BUSINESS RULES NECESSARY (RIGHT NOW)?• CAN SIMPLER RULES SUFFICE (FOR NOW)?• I.E. FAILURES DURING WEBSHOP ORDER PROCESS AND POSSIBLE

RECOVERY OPTIONS MAYBE DONE AS A LATER USER STORY.

Page 123: One day Course On Agile

SPLITTING USER STORIES (CAN YOU SPLIT A STORY VERTICALLY LIKE A SLICE OF CAKE)

• 3. HAPPY/UNHAPPY FLOW• WHAT DOES THE HAPPY/UNHAPPY FLOW LOOK LIKE?• ARE ALL UNHAPPY FLOWS NECESSARY (RIGHT NOW)?• CAN UNHAPPY FLOWS BE SIMPLIFIED (RIGHT NOW)?• I.E. FAILURES DURING WEBSHOP ORDER PROCESS AND

POSSIBLE RECOVERY OPTIONS

Page 124: One day Course On Agile

SPLITTING USER STORIES (CAN YOU SPLIT A STORY VERTICALLY LIKE A SLICE OF CAKE)

• 4. INPUT OPTIONS• WHICH PLATFORMS ARE SUPPORTED?• ARE ALL PLATFORMS REQUIRED (RIGHT NOW)?• ARE SOME PLATFORMS HARDER THAN OTHERS?• I.E. TABLET, IPHONE, DESKTOP, TOUCHSCREEN PC

Page 125: One day Course On Agile

SPLITTING USER STORIES (CAN YOU SPLIT A STORY VERTICALLY LIKE A SLICE OF CAKE)

• 5. DATATYPES AND PARAMETERS• WHAT DATATYPES ARE SUPPORTED?• WHAT PARAMETERS ARE RELEVANT?• I.E. DIFFERENT SEARCH OPTIONS/STRATEGIES OR

DIFFERENT KINDS OF REPORTS (TABLE, GRAPHS ETC)

Page 126: One day Course On Agile

SPLITTING USER STORIES (CAN YOU SPLIT A STORY VERTICALLY LIKE A SLICE OF CAKE)

• 6. OPERATIONS• WHAT OPERATIONS DOES THIS STORY ENTAIL?• ARE ALL OPERATIONS NECESSARY (RIGHT NOW)?• I.E. SPLITTING DOWN CRUD (CREATE, READ, UPDATE,

DELETE) OPERATIONS

Page 127: One day Course On Agile

SPLITTING USER STORIES (CAN YOU SPLIT A STORY VERTICALLY LIKE A SLICE OF CAKE)

• 7. TEST CASES/ ACCEPTANCE CRITERIA• WHAT TESTS ARE USED TO VERIFY THIS STORY?• WHAT ACCEPTANCE CRITERIA APPLY?• ARE ALL TEST SCENARIOS NECESSARY (RIGHT NOW)?• I.E. SOME TEST SCENARIOS MAY BE VERY COMPLEX AND NOT

HIGHLY RELEVANT TO THE CONTEXT OF THIS USER STORY.

Page 128: One day Course On Agile

SPLITTING USER STORIES (CAN YOU SPLIT A STORY VERTICALLY LIKE A SLICE OF CAKE)

• 8. ROLES• WHAT ROLES ARE INVOLVED IN THIS STORY?• ARE ROLES NECESSARY NOW?• I.E. CUSTOMER CAN CREATE ORDERS, ADMINISTRATION CAN

MANAGER ORDERS, PICKERS CAN PICK AND ORDER, PACKERS CAN PACK AND ORDER AND SHIPPING CAN SHIP THE ORDER.

Page 129: One day Course On Agile

ACCEPTANCE CRITERIAOR CONDITIONS OF SATISFACTION

Page 130: One day Course On Agile

CAPTURING ACCEPTANCE CRITERIA

• CAN BE WRITTEN AS ASSERTIONS• CAN BE WRITTEN AS QUESTIONS WITH EXPECTED OUTCOMES• CAN BE CAPTURED IN AUTOMATED TOOLS WITH EXPECTED INPUTS AND

OUTPUTS• CAN LINK OUT TO BUSINESS RULES, DATA DICTIONARIES FOR FURTHER

INFORMATION• CAN USE WHITEBOARD DIAGRAMS TO CAPTURE LOOK AND FEEL

CRITERIA OR PLACEMENT CRITERIA• CAN USE WIREFRAMES

Page 131: One day Course On Agile

GOOD ACCEPTABLE CRITERIA AND TESTS• S – SPECIFIC – EXPLICITLY DEFINED AND DEFINITE

• M – MEASUREABLE – POSSIBLE TO OBSERVE AND QUANTIFY

• A- ACHIEVABLE – CAPABLE OF EXISTING AND TAKING PLACE

• R – RELEVANT – HAVING A CONNECTION WITH THE STORY

• T – TIME-BOUND – WHEN WILL THE OUTCOME BE OBSERVED

Page 132: One day Course On Agile

SPECIFY BY EXAMPLE

Data Expected Result

Expected Message

Aa9ab$ Fail Too Short

AAbbCC11 Fail No Special Characters

$$$bbb111 Fail No Upper CaseAAA%% Fail No Lower CaseAAAA%%%%bbbbb Fail No numbers

IsThis$AGood11 Pass  

Page 133: One day Course On Agile

THE USER STORY FLOWProduct Backlog

Release Backlog

Sprint Backlog

Might have an initial estimate (perhaps both analysis and

development and an expression of technical

and business confidence that this is real and achievable

As a __, I want to be able to __ so that __

As a __, I want to be able to __ so that __

More detailed estimate and a specific acceptance test – low confidence stories might be spiked or prototyped

I will know this is done when _____

As a __, I want to be able to __ so that __

I will know this is done when _____

To do this I must1) ______2) ______

Business Goal

Possible automation of the acceptance test

Development team breaks out the detail of work needed to pass test

Page 134: One day Course On Agile

Effective scrum teams – James Whitehead

PLANNING

Page 135: One day Course On Agile

Effective scrum teams – James Whitehead

VELOCITY

Page 136: One day Course On Agile

VELOCITY RANGES

1 2 3 4 5 6 7 8 905

1015202530354045

Velocity

Sprints

Last Observation = 42Mean = 38Mean (worst 3) = 35

Page 137: One day Course On Agile

RELEASE PLANNING

• RELEASE PLAN OF SPRINTS• SPRINT PLAN OF TASKS• BASED ON VELOCITY• PRODUCT BACKLOG – KEY ARTEFACT• TIMEBOXED• PRODUCT OWNER SETS PRIORITIES & ACCEPTANCE CRITERIA• TEAM SETS ESTIMATES AND DETERMINES CAPACITY

Page 138: One day Course On Agile

RELEASE PLANNING

• PRODUCT OWNER EXPLAINS VISION AND GOAL FOR RELEASE• PRODUCT OWNER EXPLAINS HIGHEST PRIORITY ITEMS (NOT IN-DEPTH)• TEAM ASKS QUESTIONS FOR CLARIFICATION• CONDITIONS OF SATISFACTION EXPLAINED (ACCEPTANCE CRITERIA)• DISCUSSION AROUND “WHAT IS DONE?”• RELATIVE ESTIMATE ARE PLACED ON THE ITEMS• TEAM DETERMINES WHAT STORIES GO INTO WHICH SPRINTS BASED ON THERE VELOCITY• TIMEBOXED MEETING• GIVE AN IDEA OF WHEN BACKLOG WILL BE DELIVERED OR HOW MUCH CAN BE DELIVERED IN THE

RELEASE

Page 139: One day Course On Agile

RELEASE PLANNING

• SHOWS WHAT WILL BE WORKED ON IN EACH SPRINT BASED ON SIZE ESTIMATES AND VELOCITY

Release Plan

Sprint 1• User

Story 1• User

Story 2

Sprint 2• User

Story 5• User

Story 3

Sprint 3-6

• User Story 4

• User Story 6

Page 140: One day Course On Agile

SPRINT PLANNING

• ALL OF THE SCRUM TEAM ATTEND• SCRUM MASTER FACILITATES THE SESSION• PRODUCT OWNER PRIORITISES AND CLARIFIES STORIES AND

ACCEPTANCE CRITERIA• TEAM MEMBERS BREAK DOWN STORIES INTO TASKS REQUIRED TO GET

THEM “DONE”• TEAM MEMBERS ESTIMATE THE TASKS IN HOURS• TEAM DETERMINE WHAT THEY CAN COMMIT TO DELIVERING IN THAT

SPRINT• TEAM MEMBERS SIGN UP TO THE INITIAL TASKS THEY WILL DO

Page 141: One day Course On Agile

Effective scrum teams – James Whitehead

SPRINT PLANNING MEETING

Page 142: One day Course On Agile

SPRINT PLANNING (IN TWO PARTS)

Product Backlog

Team Capabilities

Business Conditions

Retrospective

Previous Product

Increment

Part1

Part2

5% of the Sprint: Time Boxed

PO

TM

SM

Explain Goal, Vision &

Backlog Items

Design, Plan & Commit to

work

Facilitate &

Timebox

WHY

HOW

ALL

Next Sprint Goal

Product Backlog

Sprint Backlog

Page 143: One day Course On Agile

COMMITMENT BASED SPRINT PLANNING• TAKE (NEXT) HIGHEST PRIORITY STORY• SPLIT INTO TASKS• ESTIMATE TASKS IN HOURS• CAN YOU AS A TEAM TAKE ON THIS STORY IN THE NEXT SPRINT• IF YES GO BACK TO START• IF NO STOP• ASK THE TEAM TO SIGN UP FOR THE HIGHEST PRIORITY STORIES OR TASKS• NOT ALL STORIES OR TASKS NEED OWNERS AT THIS STAGE JUST ENOUGH

SO THAT EVERYONE KNOWS WHAT THEY WILL BE STARTING ON• HOW MANY STORY POINTS HAVE THE TEAM COMMITTED TO IN THIS

SPRINT?

Page 144: One day Course On Agile

SUMMARY

• STORIES WILL CHANGE• EVERYONE ESTIMATES• POINTS ARE NOT A UNIT OF TIME BUT RELATIVE• BEING CONSISTENT IS MORE IMPORTANT THAN BEING ACCURATE• ESTIMATES MUST INCLUDE UNCERTAINTY

Page 145: One day Course On Agile

Effective scrum teams – James Whitehead

SPRINT REVIEW (DEMO)

Page 146: One day Course On Agile

Effective scrum teams – James Whitehead

SPRINT REVIEW

• SHOW AND TELL WITH THE PRODUCT OWNER• TIME-OUT FOR THE TEAM TO REFLECT VIA A RETROSPECTIVE• REGULAR CHECKPOINT FOR THE PROJECT’S DIRECTION• FACILITATED BY THE SCRUM MASTER• “…THE LARGEST ROOM IN THE WORLD IS THE ROOM FOR

IMPROVEMENT…..”

Page 147: One day Course On Agile

SPRINT REVIEW

• DEMO TO PRODUCT OWNER, INTERESTED STAKEHOLDERS, REST OF TEAM WHAT HAS BEEN ACHIEVED THIS SPRINT

• EVERYONE GETS AN OPPORTUNITY TO SEE AND ASK QUESTIONS ABOUT WHAT HAS BEEN DELIVERED

• PRODUCT OWNER ACCEPTS OR REJECTS WORK• ANY CHANGES ARE CAPTURES AS NEW STORIES AND ADDED TO THE

BACKLOG

Show and Tell

Page 148: One day Course On Agile

WHAT IS RETROSPECTIVE?

• A RETROSPECTIVE IS THE TEAM/PROJECTS OPPORTUNITY TO:• STOP REFLECT AND LEARN• REFLECT ON WHAT HAS HAPPENED IN SPRINT OR RELEASE• IDENTIFY AND CELEBRATE WHAT IS WORKING• ACKNOWLEDGE WHAT WE HAVE LEARNED AND ACHIEVED• RECOGNISE AND LEARN FROM OUR MISTAKES• HEAR FROM OTHER PEOPLE INVOLVED THEIR PERCEPTION OF HOW

THINGS WENT

Page 149: One day Course On Agile

RETROSPECTIVE – PRIME DIRECTIVE

• TO SET THE PROPER MINDSET FOR ANY RETROSPECTIVE, IT IS HELPFUL TO REMIND THE TEAM OF NORM KERTH'S "PRIME DIRECTIVE:"

• "REGARDLESS OF WHAT WE DISCOVER, WE UNDERSTAND AND TRULY BELIEVE THAT EVERYONE DID THE BEST JOB THEY COULD, GIVEN WHAT THEY KNEW AT THE TIME, THEIR SKILLS AND ABILITIES, THE RESOURCES AVAILABLE, AND THE SITUATION AT HAND."

Page 150: One day Course On Agile

RETROSPECTIVES

• HTTPS://TRELLO.COM/B/B0PX6V4J/AGILE-COACHING

Page 151: One day Course On Agile

TRACKING AND REPORTING

Page 152: One day Course On Agile

BURNDOWN CHARTS

• TRACKS WORK REMAINING AGAINST THE ESTIMATED TOTAL• NOT EFFORT EXPENDED• BACKLOG UPDATED DAILY• CHART CAN BE PRODUCED AUTOMATICALLY• VERY SIMPLE GRAPH OF OUTSTANDING WORK V TIME LEFT• BIG VISIBLE CHARTS GOOD FOR FEEDBACK, REDUCING INTERRUPTIONS AND

SHOWING PROGRESS• NEED TO BE HONEST!

Page 153: One day Course On Agile

SPRINT BACKLOG & TOOLSExcel/Trello

Visual Studio Online

Page 154: One day Course On Agile

Effective scrum teams – James Whitehead

BURNDOWN CHARTS & CUMULATIVE FLOW

Page 155: One day Course On Agile

OTHER MEASURES OF PROGRESS

• THE TASK BOARD• CARDS WITH BIG GREEN TICKS• CARD MOVED FROM THE “TO-DO” TO “DONE” SIDE• GREEN BUILDS• RETROSPECTIVES• PRIMARY MEASURE IS THE WORKING PRODUCT• OPEN RISKS AND ISSUES POSTED VISIBLY ON WALL/WIKI

Page 156: One day Course On Agile

QUESTIONS