setting up a reusable and durable drupal lean process factory
TRANSCRIPT
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
3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 2/44
$ whoami
victorkane
3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 3/44
3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 4/44
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
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 Usercentered Design
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
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
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.
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
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
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
3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 13/44
Kanban (not Scrum)
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
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?
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
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
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.
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 DemoansiblevagrantdurabledrupaldistroDurableDrupalDistro
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
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.
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
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
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
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.
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]?
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?
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].
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.
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.
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 startup!
Steve Blank
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).
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
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.
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
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
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
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
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
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
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.
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 uptodate)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
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
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
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