mage titans usa 2016 - kimberely thomas - adopting scrum and agile for development success

53

Upload: stacey-whitney

Post on 08-Jan-2017

48 views

Category:

Technology


0 download

TRANSCRIPT

Hi, I am Kimberely ThomasBusiness Solutions Architect

Magento, Inc@magentogirl

Magento Certified Solution SpecialistCertified Scrum Master

ECGEXPERT CONSULTING GROUP

This is a talk about

SCRUM AND AGILE DEVELOPMENT METHODOLOGIES

(not a representation of the processes used at Magento)

first,

LET’S TALK ABOUT SCRUM

SCRUM TEAM PLAYERS

Product Owner-visionary-strategist

Scrum Master-facilitator

-manages the information exchange

Team-self-organizing

CORE PRINCIPLES OF SCRUM

—Backlog of User Stories

—Sprints

-Sprint Planning Meetings

-Daily Scrum Meetings

-Demo

-Retrospective

CORE PRINCIPLES OF SCRUMDEFINITION OF DONE

-Development Complete-Tests written-Code Review-QA Passed

USER STORIES

Action Stories for the software user, that describes the type of user, what

they want and why. A user story helps to create a simplified description of a

requirement.

TOOLS

-Jira-Assembla

REPORTINGVELOCITY REPORT

> know how much your team completed in hours or story points for a sprint

REPORTINGBURNDOWN REPORT

> How much has burned down per sprint and how much is left to complete the

product

BEING AGILE

ag·ileˈajəl/

adjective

1. able to move quickly and easily."Ruth was as agile as a monkey”

DO WHAT WORKS FOR YOUR TEAM

AGILE TEAM

Business Analyst (Proxy Product Owner)

Architect (Scrum Master)

Team

Agile Methodologies

Backlog-Pruned Tickets with Estimates

Sprints-Tickets to be worked on

Sprint Planning Meeting

Daily(?) Stand up

SPRINT PLANNING MEETING

> Monday AM> New Sprint is created

> Prior Sprint is Closed> The TEAM picks tickets to be worked on

> Tickets must be estimated> Pick tickets with a total time = your velocity

ANATOMY OF A TICKET

-Summary*

-Description*

-Attachments*

-Estimate*

*REQUIRED FIELDS TO START A TICKET

CREATE ALL TICKETS FOR A RELEASE AT THE

BEGINNINGIDEALLY WITH ESTIMATES

TICKET WORKFLOW

CASE STUDY: LACES REQUIREMENTS

Have a Modern Look and Feel-Home Page

-Category Page-Product Page

-Checkout

Have a Shoe Customizer-Allow user to select color of shoe, trim and laces

-Allow user to upload logo of shoe

CASE STUDY: LACES TICKETS

Epic: Theming-Style Home Page

-Style Category Page-Style Product Page

-Style Checkout

Epic: Backend-Create Shoe Customizer

LACES SCRUM BOARD

WHAT DO I WITH TICKETS FROM THE PREVIOUS SPRINT THAT ARE NOT FINISHED?

Only 1 Sprint at a Time

Tickets from previous Sprint are moved to new Sprint or Backlog

WHAT DO I DO IF NEW PRIORITIES COME UP DURING A SPRINT?

*like a Magento security patch

ADD THE TICKETDon’t stress over not finishing all tickets in a sprint if

new things come up

WHAT DO I DO IF RUN OUT OF TICKETS DURING A SPRINT?

SELECT MORE TICKETS!Jira will complain but just ignore that

A FEW WORDS ABOUT ESTIMATES

ESTIMATING

-Estimates are educated guesses

-You have to start in the beginning even with little information

-Keep refining as you learn more

-Learn from your reports of estimated vs actual time how you are doing

JIRA TIPS

1. Create your Workflow2. Create your Board

3. use Versions and Epics4. log worked time

5. use the reports

Epics

EPIC BURNDOWN

VERSIONS

VERSION REPORT

AGILE GIT

1. TICKET IS STARTED AND STATUS SET TO IN PROGRESS

2. GIT BRANCH IS CREATED FOR TICKET BASED OF MASTER

Example: 10-Shoe-Customizer

AGILE GIT

3. TASK IS COMPLETED AND COMMITTED

4. PULL REQUEST IS CREATED TO DEVELOP

5. TECH LEAD REVIEWS CODE AND APPROVES PULL REQUEST

or it is reopened

AGILE GIT

6. CODE IS DEPLOYED TO THE QA SERVER AND TICKET STATUS IS SET TO TEST

7. IF TESTS PASSED TICKET IS SET TO READY

or it is reopened

AGILE GIT8. RELEASE DEPLOYMENT MERGES ALL READY TICKETS TO MASTER

9. TAG IS CREATED IN GIT AND CODE IS DEPLOYED TO PRODUCTION

WHAT NOT TO DO WHEN BEING

AGILE?

Don’t Make 1 sprint and reuse it

Don’t skip estimating your tickets

Don’t use Jira for just ticket management

Don’t skip making tickets (never use a spreadsheet!)

BENEFITS OF SCRUM/AGILE?

Can always see the sprint status at a glance

Can easily determine when the product will be completed using the reports

HAPPY DEVELOPERS

THANK YOU

WE'RE HIRINGHTTP://CAREERS.MAGENTO.COM

KIMBERELY [email protected]

@MAGENTOGIRL