setting up a reusable and durable drupal lean process factory

44
Session Setting up a Reusable and DurableDrupal Lean Process Factory Victor Kane (AWebFactory.com) DrupalCon Latin America 2015 / Bogotá, Colombia

Upload: victor-kane

Post on 18-Jul-2015

53 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 1/44

SessionSetting up a Reusable and DurableDrupal

Lean Process Factory

Victor Kane (AWebFactory.com)

DrupalCon Latin America 2015 / Bogotá, Colombia

Page 2: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 2/44

$ whoami

victorkane

Page 3: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 3/44

Page 4: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 4/44

Page 5: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 5/44

DurableDrupal Lean Process FactoryReusable tools and processes, tailored and in evolution, to finallydefeat waterfall and guarantee delivered value

Kanban (not Scrum)Project Inception and VisionTeam KickoffDevelopment Workflow with Everything inCodeDevOps, Server Provisioning and DeploymentUser Validation

Page 6: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 6/44

Process Overview: Waterfall -> Agile

From Desirée Sy's 2007 article Adapting UsabilityInvestigations for Agile User­centered Design

Page 7: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 7/44

Better Process (2007)

Cycle 0 + Staggered Sprints

Page 8: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 8/44

Still better process: Design + Dev

(From Gothelf, Jeff (2013-02-22). Lean UX: Applying Lean Principlesto Improve User Experience, O'Reilly Media)

Also see Beyond Staggered Sprints: How TheLadders.comIntegrated UX into Agile

Page 9: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 9/44

Best Process: Design + Dev + DevOps

What we are adding here today to the mix is that just as it is critical forcross-collaboration between design and development, so it is just ascritical for there to be cross-collaboration between design,development and DevOps, both in provisioning so that the team canreally work in parallel, as well as in building, feedback conversations,testing and deployment.

Page 10: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 10/44

Waste Avoided by DurableDrupal Lean

1. Unfinished work left rotting in isolated silos2. Feature creep without validating for impact or value3. Isolated silos keep on re-inventing the wheel4. Handoffs chronically disrupts workflow5. Delays cuz isolated silos and teams missing skills6. Task switching cuz work overload and broken workflow7. Mucho defect cuz chaotic focus and blocked knowledge sharing

Background article: How to Manage the "7 Wastes" of AgileSoftware Development

Page 11: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 11/44

KanbanKanban (not Scrum)Project Inception and VisionTeam KickoffDevelopment Workflow with Everything in CodeDevOps, Server Provisioning and DeploymentUser Validation

Page 12: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 12/44

Kanban (not Scrum)

WIP (Work in Progress) is what makes Kanban unique

Page 13: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 13/44

Kanban (not Scrum)

Page 14: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 14/44

Project Inception and VisionKanban (not Scrum)Project Inception and VisionTeam KickoffDevelopment Workflow with Everything in CodeDevOps, Server Provisioning and DeploymentUser Validation

Page 15: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 15/44

Online Literary WorkshopInception and Vision

Gather all inputs: Client documentation, conversations, Legacy siteand business contextCreate initial Project Vision text for team starting point

Detected pain points: who are experiencing them and whatwould they consider to be a solution?List architecture alternatives: Frameworks, re-usable Drupaldistros and other proven solutionsList initially detected constraints

What team are we going to assemble for kickoff?Best way to provision team development and testing?Initial basic prototype as starting point for kickoff?

Page 16: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 16/44

Inputs for Online Literary Workshop Vision

Product Owner must contribute to first cut of Market, Problem,Product definitions

Notes from phone conversations with stakeholders and usersReview of existing solutions (e-mail list)Conversations with existing workshop members

WritersPublishers

Initial Team Core must gather:Review of solution architecture alternativesAny detectable constraints

Page 17: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 17/44

Initial Online Literary Workshop Vision

Vision Template

Online Literary Workshop Vision

Page 18: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 18/44

Team Selection

Anna (Product Owner)Jake (DevOps)Mark (UX)Jeff (Back end)Lisa (Front end)Victor (Project Coach)Sherrie (Graphic design)

Team selected on the basis of our Vision. Now, rather than "10x"rockstars, we have a 10x team who get to be productive thanks tocross-collaboration, communication, focus and teamwork. If the so-called 10x developer does emerge it is be by dint of working as part ofa great team. 10x is a social team thing or it is nothing.

Page 19: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 19/44

Resources for Team Provisioning

Ansible playbook for setting up DurableDrupalDistro with Vagrantand VirtualBox locally or on server. .

On GitHub: On GitHub:

and

, click here for and ,

additionally,

Video Demoansible­vagrant­durable­drupal­distroDurableDrupalDistro

Create a Drupal project on Pantheon and pull it down toyour laptop on Kalabox

Pantheon overview workflow overviewSetting up a local environment for a Drupal project onPlatform.sh more details

Platform.sh overview development workflow videoEnvironment workflow

Page 20: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 20/44

Prototype for Kickoff Starting Point?

In the absence of any legacy site, we will show how the email list iscurrently used for regular online literary workshop operations.

Page 21: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 21/44

Team KickoffKanban (not Scrum)Project Inception and VisionTeam KickoffDevelopment Workflow with Everything in CodeDevOps, Server Provisioning and DeploymentUser Validation

Page 22: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 22/44

Team Kickoff

Every sprint has a kickoff, not just the firstEveryone participatesDomain experts are invited where neededMay last a few hours or a week, whatever it takes

Page 23: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 23/44

What goes on at the Kickoff

Brainstorming and validation exercises which will enable the team todefine a minimum viable product (MVP) as a set of user storiesconstituting the current backlog.

Problems, Assumptions, HypothesesCollaborative Design and Prototype towards Initial MVPMVP is the minimum release of the product capable of testing thehypothesesOnce the MVP is defined, a subsequent Iteration Planning Meetingdefines user story backlog

Page 24: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 24/44

Problems, Assumptions, Hypotheses

Clarify problem statementsList assumptions gleaned from the problem statementsPrioritize assumptions in order to create hypotheses to test thoseassumptionsPersonasFeature brainstorming

The MVP will be the minimum running product capable of testing thehypotheses. Later iterations will break the hypotheses down into sub-hypotheses as the final testable MVP emerges.

Page 25: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 25/44

Problem Statement Template

[Our service/ product] was designed to achieve [these goals]. We haveobserved that the product/ service isn’t meeting [these goals], which iscausing [this adverse effect] to our business. How might we improve[service/ product] so that our customers are more successful based on[these measurable criteria]?

Page 26: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 26/44

Problem Statement Example

Our service offers a conduit between job seekers and employers tryingto hire them. Through our service, employers can reach out to jobseekers in our ecosystem with employment opportunities. We haveobserved that one critical factor affecting customer satisfaction is howfrequently job seekers respond to employer messages. Currently, jobseekers are replying to these communications at a very low rate. Howmight we improve the efficacy of our communication products, thusmaking employers more successful in their jobs and job seekers moresatisfied with our service?

Page 27: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 27/44

Hypothesis template

We believe [this statement is true]. We will know we’re [right/ wrong]when we see the following feedback from the market: [qualitativefeedback] and/ or [quantitative feedback] and/ or [key performanceindicator change].

Page 28: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 28/44

Hypothesis example

We believe that creating an efficient communication system withinTheLadders’ product experience for recruiters and employers willachieve a higher rate of contact success and an increase in productsatisfaction. We will know this is true when we see an increase in thenumber of replies from job seekers to recruiter contacts and anincrease in the number of messages initiated by recruiters in oursystem.

Page 29: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 29/44

Sub-hypothesis template

We believe that [doing this/ building this feature/ creating thisexperience] for [these people/ personas] will achieve [this outcome].We will know this is true when we see [this market feedback,quantitative measure, or qualitative insight].

The prioritized list of sub-hypotheses consitutes one of the mostimportant results of the kickoff.

Page 30: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 30/44

Personas

Atavar or sketch, name, age, city, occupation, etc.Behavorial demographic information

Marital status, Number of children, their ages, Workingconditions, Leisure time, lifestyle, etc.

Pain points and needsPotential solutions

Create Proto-personas, research this in the field to validate anddevelop. To do this research we need to "get out of the building"( ) to test the problem statement and associatedassumptions. Why take advice from an entreupeneur coach?

Because every project is a start­up!

Steve Blank

Page 31: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 31/44

Feature brainstorming

Once we have personas with real problems that have been (ideally)researched and validated, we can brainstorm on features that willdrive customer behavior towards the desired outcomes. Webrainstorm and create a list (stick them all up on the wall and thenprioritize them).

Features will be the basis for themes (focused sets of sprints orwork in progress on the basis of plenty of time for designer creativityand cross-collaboration).

Page 32: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 32/44

Collaborative Design and Prototype towards Initial MVP

Why and what

Everybody gets to design togetherLow fidelity sketches and artifacts increase collaborationMethods such as group design studio build a shared understandingof features across the team

Methods and techniques

Collective design studioStyle guides and pattern librariesSpecial techniques for remote distributed teams

Page 33: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 33/44

Iteration Planning Meeting

The classic meeting using everything we've gathered together so far towrite user stories (together) and specify the iteration backlog.

Page 34: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 34/44

User story template

Influenced by .

Classic format

As a [persona, user] I want to [perform action] so that [achievablegoal].

User validation test addendum

Given that I'm [performing action] ... When [point of observation]Then [observable result]

A framework for modern User Stories by@jonatisokon

Page 35: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 35/44

User story example

As a writer I want to save my story so that it can be critiqued.

Given that I have saved my story When I tap the save icon to save mystory Then saved to my stories and visible to fellow workshopmembers

Page 36: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 36/44

The goal of cross-collaboration

By the time the user stories are written for the current backlog, thewhole team has been "kicked off" on each of them. A from Gothelf shows what collective development is like as the teamworks to complete the backlog.

"This is the day-to-day rhythm of Lean UX: a team workingcollaboratively, iteratively, and in parallel, with few handoffs, minimaldeliverables, and a focus on working software and market feedback."

short excerpt

Page 37: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 37/44

Development Workflow with Everything in CodeKanban (not Scrum)Project Inception and VisionTeam KickoffDevelopment Workflow with Everything inCodeDevOps, Server Provisioning and DeploymentUser Validation

Page 38: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 38/44

Everything in Code example

The demo starts at minute 14:35 of the

We change the default theme and change the Site NameWe create a featureWe specify elements to includeWe create the feature and save it to the file systemWe enable the feature, moving the configuration of the selectedelements to codeWe change the theme and the site nameWe see the feature is overriden (database is overriding code becauseof the changes)We "revert" the feature (force the database to adapt to the code)

video

Page 39: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 39/44

DevOps, Server Provisioning and DeploymentKanban (not Scrum)Project Inception and VisionTeam KickoffDevelopment Workflow with Everything in CodeDevOps, Server Provisioning andDeploymentUser Validation

Page 40: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 40/44

Resources for Server Provisioning and Deployment

In this short presentation we really wanted to emphasize the practicaluse of Lean, Lean UX and Lean DevOps. But here is a short list of themany available resources for the all important question of serverprovisioning and deployment automation for frequent and continuousbuild approaches. Without this, team paralysis, delays and workflowblowup will haunt us as the handoff monster rears its ugly defaultwaterfall head.

Page 41: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 41/44

Resources for Server Provisioning and Deployment

DigitalOcean tutorial

Jeff Geerling's book Ansible for DevOps: ServerConfiguration Management for humans

GitHub Repo for the book (very actively kept up­to­date)Jeff's Austin DrupalCon presentation DevOps forHumans ­ Ansible for Drupal Deployment Victory!

Slides

How To Create an Ansible Playbook ToAutomate Drupal Installation on Ubuntu 14.04

Page 42: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 42/44

User ValidationKanban (not Scrum)Project Inception and VisionTeam KickoffDevelopment Workflow with Everything inCodeDevOps, Server Provisioning and DeploymentUser Validation

Page 43: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 43/44

Maximum 5 days until next User Validation

Page 44: Setting up a reusable and durable drupal lean process factory

3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory

http://awebfactory.com/drupalcon2015lean/#/ 44/44

Levels of Validation

Unit tests and integration tests must be written by developer andrun as part of automated frequent or continuous deliveryProblem statement(s) validated by getting out of the building!Personas must be posited as proto-personas and validated anddeveloped by... Getting out of the buildingUser stories are validated via built in acceptance test (Given, When,Then)Hypotheses can only be run by testing users with the MVP

That's what the MVP is for