agile drupal tips

52
Agile Drupal Tips 12 Ways to Help Keep Your Project Humming Chris Urban, Engagement Manager [email protected] @_urban_ d.o:urbanlegend

Upload: chris-urban

Post on 05-Apr-2017

360 views

Category:

Leadership & Management


0 download

TRANSCRIPT

Page 1: Agile drupal tips

Agile Drupal Tips 12 Ways to Help Keep Your Project Humming

Chris Urban, Engagement Manager [email protected] @_urban_ d.o:urbanlegend

Page 2: Agile drupal tips
Page 3: Agile drupal tips

[email protected]  @_urban_  

Overview → Assumptions → Review some common issues → Outline how to leverage tools → Profit!

Page 4: Agile drupal tips
Page 5: Agile drupal tips

[email protected]  @_urban_  

The Problems → Bursts of unrefined requests → Unclear ownership → Multiple stakeholders with colliding

inputs → Foggy longer-term goals

Page 6: Agile drupal tips

FOUNDATION

Page 7: Agile drupal tips

[email protected]  @_urban_  

A Solid Foundation → Documentation § Key knowledge shared

→ Communication § Processes shared § Expectations managed

Page 8: Agile drupal tips
Page 9: Agile drupal tips

[email protected]  @_urban_  

Documentation → Basic process for workflow → RACI – who is responsible for what and when → Objective rules and playbooks → Definitions, Hotfix criteria and course of action

§  Spike vs Tracer Bullet §  Candidates for mid-sprint removal §  Release checklists §  Bugs & User Stories & Epics

Page 10: Agile drupal tips
Page 11: Agile drupal tips

[email protected]  @_urban_  

User Stories: Example → As a user I want

the site to use minified .js

Page 12: Agile drupal tips

[email protected]  @_urban_  

Writing better user stories → Who: Using personas instead

of “user” → What: Clearly define stories → Why: Use relevant drivers that

everyone can relate to → What is the reason for this

story? The core purpose?

As a user, I want the site

to use minified js.

Page 13: Agile drupal tips

[email protected]  @_urban_  

Define the goal of the story → The WHAT of the story

should define the goal, not the solution.

→ Clearly understood definition of done.

As a fan of customer.com, I want the site

to use minified js to load faster.

Page 14: Agile drupal tips

[email protected]  @_urban_  

Define the goal of the story → The WHAT of the story

should define the goal, not the solution.

→ Clearly understood definition of done.

As a fan of customer.com, I want the site the home page

to use minified js to load in under 5

seconds.

Page 15: Agile drupal tips

[email protected]  @_urban_  

Writing clear user stories → Avoid the use of

‘and,’ ‘or,’ ‘but’ → Avoid the use of

limiters: ‘unless,’ ‘until,’ ‘without,’ and ‘except’

As a fan of customer.com,

I want the home page to load in under 5 seconds unless on a mobile device.

Page 16: Agile drupal tips

[email protected]  @_urban_  

Explain in simplest terms → Learn and understand

the core business drivers: §  Revenue § Quality § Customer Experience § Other Business Goals

As a fan of customer.com,

I want the home page to load in under 5

seconds so that I’m not easily distracted and leave the site.

Page 17: Agile drupal tips

[email protected]  @_urban_  

Acceptance Criteria → Easiest format to remember: → Given that [someone wants to do

something] → When s/he [performs action] → Then [something happens that can be

verified]

Page 18: Agile drupal tips

[email protected]  @_urban_  

So many acronyms SMART – Acronym #1 → Specific? → Measureable? → Achieveable? → Relevant? → Time-boxed?

As a user, I want the site to look like the attached .psd file.

Page 19: Agile drupal tips

[email protected]  @_urban_  

So many acronyms INVEST – Acronym #2 → Independent → Negotiable → Valueable → Estimable → Sizeable → Testable

As a user, I want the site to look like the attached .psd file.

Page 20: Agile drupal tips
Page 21: Agile drupal tips

[email protected]  @_urban_  

Agile Ceremonies to add → Assume using:

§ Grooming, daily scrum, sprint end demo and retro

→ Add: Sprint Planning: § Reiterate what’s to be committed in

next sprint § Associate to team, or even developer

Page 22: Agile drupal tips

PRUNING

Page 23: Agile drupal tips

[email protected]  @_urban_  

Agile Ceremonies to add → Add: Backlog “Pruning”

§  Establish goal to either close or assign for immediate review to keep it fresh

→ JQL: §  project = {project} AND status != Closed AND Sprint is EMPTY AND type = Story AND updated < -14w

Page 24: Agile drupal tips

LABELS

Page 25: Agile drupal tips

[email protected]  @_urban_  

Labels for Sprint End Demo → Have Product Owners label their tickets with

“demo” → Confluence page with Insert JIRA Issue/Filter

§  project = {project} AND type != Sub-task AND sprint = {Sprint#} AND labels = demo ORDER BY key ASC, priority DESC

Page 26: Agile drupal tips
Page 27: Agile drupal tips

[email protected]  @_urban_  

Bonus: using Columns in Jira

Page 28: Agile drupal tips

FILTERS

Page 29: Agile drupal tips

[email protected]  @_urban_  

Sprint Filters → Create a filter when you Create a Sprint → Update to share with all on Project in JIRA → Prevent confusion:

§ Use Sprint ID “Sprint 26 (1075)” § Use Project “XYZ Sprint 26”

Page 30: Agile drupal tips
Page 31: Agile drupal tips

[email protected]  @_urban_  

JIRA Components → Associate with content types “Content: Article” → Organizes tickets to optimize traceability → Subset QA Testing → Utilize general use cases “Content Editing,” “Image

Editing” → Add others based on Epics “Analytics,” “Advertising,”

“Metadata,” “Global Menu,” “Footer”

Page 32: Agile drupal tips

TABLES

Page 33: Agile drupal tips

[email protected]  @_urban_  

Bonus: filtered WIP tables → Confluence page with JIRA tables → project = {project} AND Sprint in openSprints() and type!= Sub-task and component = “Content: Article”

→ project = {project} and type!= Sub-task and component = "Analytics" AND updated > -8w

Page 34: Agile drupal tips

SUB-TASKS

Page 35: Agile drupal tips

[email protected]  @_urban_  

Sub-Tasks → Useful to help keep track of process or

workflow-related issues § Tracking external review teams § Tracking priorities among tickets § Announce need for a check-in meeting § Reminder to create QA test script

Page 36: Agile drupal tips

GROOMING

Page 37: Agile drupal tips

[email protected]  @_urban_  

Grooming Agenda → Multiple product owners x multiple tickets

= chaos → Timeboxing shifts priority back to product

owner → Allocate 30 min per PO per week to start → Plan for 5 to 6 minutes per tickets to start

Page 38: Agile drupal tips

[email protected]  @_urban_  

Grooming Worksheets → Worksheet Set-up: grid with PO, tickets,

availability → Removes blocker of interpretation → Timebox tickets and product owner(s) → Assumes fixed grooming ceremonies → Plan around prioritized tickets and availabilities → Establish hard deadline

Page 39: Agile drupal tips

POINTING

Page 40: Agile drupal tips

[email protected]  @_urban_  

Pointing Tickets → Keep it fair → Keep voting time to a minimum → Use resource like pointingpoker.com

§ Have TA enter in tickets title and timebox voting

§  EM monitors grooming backchannel §  Pre-determine voting {1,2,3,5,8,13,?}

Page 41: Agile drupal tips

CUSTOM FIELDS

Page 42: Agile drupal tips

[email protected]  @_urban_  

Custom fields: Teams → Developer → Team → Useful for tracking team

performance → Identify primary contributor to ticket

Page 43: Agile drupal tips

[email protected]  @_urban_  

Custom fields: Branch → Multiple environments → Dev branches spanning more than

two sprints → Minimize QA and UAT confusion

Page 44: Agile drupal tips

[email protected]  @_urban_  

Custom Fields: Time Spent → Time Spent fields → Add as required field in Screen on

Transitions → Add as similar field for QA

§  Identify tickets that were difficult and/or time-consuming

Page 45: Agile drupal tips
Page 46: Agile drupal tips

[email protected]  @_urban_  

JIRA Tips & Tricks → Backlog view: Color code by JQL

or Custom Field (Teams) → Create “sprints” for backlog organization

§ Manage sprint allocations → Multiple boards for different audiences

Page 47: Agile drupal tips

ONE MORE THING

Page 48: Agile drupal tips

[email protected]  @_urban_  

Use JIRA REST API

Page 49: Agile drupal tips

[email protected]  @_urban_  

Use JIRA REST API → Google Sheets → Script Editor → Pass Queries directly → Update tickets ?

Page 50: Agile drupal tips

[email protected]  @_urban_  

Use JIRA REST API

Page 51: Agile drupal tips

What You Learned → Document Everything! → User Stories:

SMART INVESTING → Sprint Planning → Backlog Pruning → Labels for Demos → Filters & Sprint naming

→ Use Components → Sub-Tasks → Worksheets for grooming → Pointing practices → Custom fields → Other tips & tricks

Page 52: Agile drupal tips

Questions ?

Chris Urban, Engagement Manager [email protected] @_urban_ d.o: urbanlegend