Slides from my presentation at DrupalCon Latin America 2015. See http://awebfactory.com/node/532 for more information. Original event page https://latinamerica2015.drupal.org/session/setting-reusable-and-durable-drupal-lean-process-factory.
Setting up a reusable and durable drupal lean process factory
1. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 1/44
Session
SettingupaReusableandDurableDrupal
LeanProcessFactory
VictorKane(AWebFactory.com)
DrupalCon Latin America 2015 / Bogotá, Colombia
2. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 2/44
$ whoami
victorkane
3. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 3/44
4. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 4/44
5. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 5/44
DurableDrupalLeanProcessFactory
Reusable tools and processes, tailored and in evolution, to finally
defeat waterfall and guarantee delivered value
Kanban (not Scrum)
Project Inception and Vision
Team Kickoff
Development Workflow with Everything in
Code
DevOps, Server Provisioning and Deployment
User Validation
6. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 6/44
ProcessOverview:Waterfall->Agile
From Desirée Sy's 2007 article Adapting Usability
Investigations for Agile Usercentered Design
7. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 7/44
BetterProcess(2007)
Cycle0+StaggeredSprints
8. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 8/44
Stillbetterprocess:Design+Dev
(From Gothelf, Jeff (2013-02-22). Lean UX: Applying Lean Principles
to Improve User Experience, O'Reilly Media)
Also see Beyond Staggered Sprints: How TheLadders.com
Integrated UX into Agile
9. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 9/44
BestProcess:Design+Dev+DevOps
What we are adding here today to the mix is that just as it is critical for
cross-collaboration between design and development, so it is just as
critical for there to be cross-collaboration between design,
development and DevOps, both in provisioning so that the team can
really work in parallel, as well as in building, feedback conversations,
testing and deployment.
10. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 10/44
WasteAvoidedbyDurableDrupalLean
1. Unfinished work left rotting in isolated silos
2. Feature creep without validating for impact or value
3. Isolated silos keep on re-inventing the wheel
4. Handoffs chronically disrupts workflow
5. Delays cuz isolated silos and teams missing skills
6. Task switching cuz work overload and broken workflow
7. Mucho defect cuz chaotic focus and blocked knowledge sharing
Background article: How to Manage the "7 Wastes" of Agile
Software Development
11. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 11/44
Kanban
Kanban (not Scrum)
Project Inception and Vision
Team Kickoff
Development Workflow with Everything in Code
DevOps, Server Provisioning and Deployment
User Validation
12. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 12/44
Kanban(notScrum)
WIP (Work in Progress) is what makes Kanban unique
13. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 13/44
Kanban(notScrum)
14. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 14/44
ProjectInceptionandVision
Kanban (not Scrum)
Project Inception and Vision
Team Kickoff
Development Workflow with Everything in Code
DevOps, Server Provisioning and Deployment
User Validation
15. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 15/44
OnlineLiteraryWorkshop
InceptionandVision
Gather all inputs: Client documentation, conversations, Legacy site
and business context
Create initial Project Vision text for team starting point
Detected pain points: who are experiencing them and what
would they consider to be a solution?
List architecture alternatives: Frameworks, re-usable Drupal
distros and other proven solutions
List 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?
16. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 16/44
InputsforOnlineLiteraryWorkshopVision
Product Owner must contribute to first cut of Market, Problem,
Product definitions
Notes from phone conversations with stakeholders and users
Review of existing solutions (e-mail list)
Conversations with existing workshop members
Writers
Publishers
Initial Team Core must gather:
Review of solution architecture alternatives
Any detectable constraints
17. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 17/44
InitialOnlineLiteraryWorkshopVision
Vision Template
Online Literary Workshop Vision
18. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 18/44
TeamSelection
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 to
cross-collaboration, communication, focus and teamwork. If the so-
called 10x developer does emerge it is be by dint of working as part of
a great team. 10x is a social team thing or it is nothing.
19. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 19/44
ResourcesforTeamProvisioning
Ansible playbook for setting up DurableDrupalDistro with Vagrant
and VirtualBox locally or on server. .
On GitHub:
On GitHub:
and
, click here for
and ,
additionally,
Video Demo
ansiblevagrantdurabledrupaldistro
DurableDrupalDistro
Create a Drupal project on Pantheon and pull it down to
your laptop on Kalabox
Pantheon overview workflow overview
Setting up a local environment for a Drupal project on
Platform.sh more details
Platform.sh overview development workflow video
Environment workflow
20. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 20/44
PrototypeforKickoffStartingPoint?
In the absence of any legacy site, we will show how the email list is
currently used for regular online literary workshop operations.
21. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 21/44
TeamKickoff
Kanban (not Scrum)
Project Inception and Vision
Team Kickoff
Development Workflow with Everything in Code
DevOps, Server Provisioning and Deployment
User Validation
22. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 22/44
TeamKickoff
Every sprint has a kickoff, not just the first
Everyone participates
Domain experts are invited where needed
May last a few hours or a week, whatever it takes
23. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 23/44
WhatgoesonattheKickoff
Brainstorming and validation exercises which will enable the team to
define a minimum viable product (MVP) as a set of user stories
constituting the current backlog.
Problems, Assumptions, Hypotheses
Collaborative Design and Prototype towards Initial MVP
MVP is the minimum release of the product capable of testing the
hypotheses
Once the MVP is defined, a subsequent Iteration Planning Meeting
defines user story backlog
24. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 24/44
Problems,Assumptions,Hypotheses
Clarify problem statements
List assumptions gleaned from the problem statements
Prioritize assumptions in order to create hypotheses to test those
assumptions
Personas
Feature brainstorming
The MVP will be the minimum running product capable of testing the
hypotheses. Later iterations will break the hypotheses down into sub-
hypotheses as the final testable MVP emerges.
25. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 25/44
ProblemStatementTemplate
[Our service/ product] was designed to achieve [these goals]. We have
observed that the product/ service isn’t meeting [these goals], which is
causing [this adverse effect] to our business. How might we improve
[service/ product] so that our customers are more successful based on
[these measurable criteria]?
26. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 26/44
ProblemStatementExample
Our service offers a conduit between job seekers and employers trying
to hire them. Through our service, employers can reach out to job
seekers in our ecosystem with employment opportunities. We have
observed that one critical factor affecting customer satisfaction is how
frequently job seekers respond to employer messages. Currently, job
seekers are replying to these communications at a very low rate. How
might we improve the efficacy of our communication products, thus
making employers more successful in their jobs and job seekers more
satisfied with our service?
27. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 27/44
Hypothesistemplate
We believe [this statement is true]. We will know we’re [right/ wrong]
when we see the following feedback from the market: [qualitative
feedback] and/ or [quantitative feedback] and/ or [key performance
indicator change].
28. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 28/44
Hypothesisexample
We believe that creating an efficient communication system within
TheLadders’ product experience for recruiters and employers will
achieve a higher rate of contact success and an increase in product
satisfaction. We will know this is true when we see an increase in the
number of replies from job seekers to recruiter contacts and an
increase in the number of messages initiated by recruiters in our
system.
29. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 29/44
Sub-hypothesistemplate
We believe that [doing this/ building this feature/ creating this
experience] 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 most
important results of the kickoff.
30. 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, Working
conditions, Leisure time, lifestyle, etc.
Pain points and needs
Potential solutions
Create Proto-personas, research this in the field to validate and
develop. To do this research we need to "get out of the building"
( ) to test the problem statement and associated
assumptions. Why take advice from an entreupeneur coach?
Because every project is a startup!
Steve Blank
31. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 31/44
Featurebrainstorming
Once we have personas with real problems that have been (ideally)
researched and validated, we can brainstorm on features that will
drive customer behavior towards the desired outcomes. We
brainstorm and create a list (stick them all up on the wall and then
prioritize them).
Features will be the basis for themes (focused sets of sprints or
work in progress on the basis of plenty of time for designer creativity
and cross-collaboration).
32. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 32/44
CollaborativeDesignandPrototypetowardsInitialMVP
Whyandwhat
Everybody gets to design together
Low fidelity sketches and artifacts increase collaboration
Methods such as group design studio build a shared understanding
of features across the team
Methodsandtechniques
Collective design studio
Style guides and pattern libraries
Special techniques for remote distributed teams
33. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 33/44
IterationPlanningMeeting
The classic meeting using everything we've gathered together so far to
write user stories (together) and specify the iteration backlog.
34. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 34/44
Userstorytemplate
Influenced by
.
Classic format
As a [persona, user] I want to [perform action] so that [achievable
goal].
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
35. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 35/44
Userstoryexample
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 my
story Then saved to my stories and visible to fellow workshop
members
36. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 36/44
Thegoalofcross-collaboration
By the time the user stories are written for the current backlog, the
whole team has been "kicked off" on each of them. A
from Gothelf shows what collective development is like as the team
works to complete the backlog.
"This is the day-to-day rhythm of Lean UX: a team working
collaboratively, iteratively, and in parallel, with few handoffs, minimal
deliverables, and a focus on working software and market feedback."
short excerpt
37. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 37/44
DevelopmentWorkflowwithEverythinginCode
Kanban (not Scrum)
Project Inception and Vision
Team Kickoff
Development Workflow with Everything in
Code
DevOps, Server Provisioning and Deployment
User Validation
38. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 38/44
EverythinginCodeexample
The demo starts at minute 14:35 of the
We change the default theme and change the Site Name
We create a feature
We specify elements to include
We create the feature and save it to the file system
We enable the feature, moving the configuration of the selected
elements to code
We change the theme and the site name
We see the feature is overriden (database is overriding code because
of the changes)
We "revert" the feature (force the database to adapt to the code)
video
39. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 39/44
DevOps,ServerProvisioningandDeployment
Kanban (not Scrum)
Project Inception and Vision
Team Kickoff
Development Workflow with Everything in Code
DevOps, Server Provisioning and
Deployment
User Validation
40. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 40/44
ResourcesforServerProvisioningandDeployment
In this short presentation we really wanted to emphasize the practical
use of Lean, Lean UX and Lean DevOps. But here is a short list of the
many available resources for the all important question of server
provisioning and deployment automation for frequent and continuous
build approaches. Without this, team paralysis, delays and workflow
blowup will haunt us as the handoff monster rears its ugly default
waterfall head.
41. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 41/44
ResourcesforServerProvisioningandDeployment
DigitalOcean tutorial
Jeff Geerling's book Ansible for DevOps: Server
Configuration Management for humans
GitHub Repo for the book (very actively kept upto
date)
Jeff's Austin DrupalCon presentation DevOps for
Humans Ansible for Drupal Deployment Victory!
Slides
How To Create an Ansible Playbook To
Automate Drupal Installation on Ubuntu 14.04
42. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 42/44
UserValidation
Kanban (not Scrum)
Project Inception and Vision
Team Kickoff
Development Workflow with Everything in
Code
DevOps, Server Provisioning and Deployment
User Validation
43. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 43/44
Maximum5daysuntilnextUserValidation
44. 3/15/2015 Setting up a Reusable and Durable Drupal Lean Process Factory
http://awebfactory.com/drupalcon2015lean/#/ 44/44
LevelsofValidation
Unit tests and integration tests must be written by developer and
run as part of automated frequent or continuous delivery
Problem statement(s) validated by getting out of the building!
Personas must be posited as proto-personas and validated and
developed by... Getting out of the building
User 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