SlideShare a Scribd company logo
Lean Development
Design through Iterative Experiments
Gretchen DeKnikker, SocialPandas, Co-founder & CMO
@gretchende
Jason Ouellette, SocialPandas, Co-founder & CTO
@jmouel
Gretchen DeKnikker
Co-founder & CMO
@gretchende
Lean UX and the Enterprise Buyer
Today we’ll cover
 What is Lean UX?
 Applying Lean principles in the enterprise
 Overview of tools for higher fidelity UX
 Force.com as a sandbox for Lean UX experiments
What is “Lean”?
Lean application development is iterative design through
experimentation and validated learning.
Lean UX
User Experience is a person’s perceptions and responses that
result from the use or anticipated use of a product, service or
system.
Lean UX
Lean UX evolves Build-Measure-Learn to Think-Make-Check
The Enterprise Buyer
The Enterprise Buyer
The Enterprise Buyer
The Enterprise Buyer
MVP vs MSP
A minimum viable product (MVP) is the version of a new product
or service which allows a team to collect the maximum amount of
validated learning with the least effort
A minimum sellable product (MSP) is the version that will get an
enterprise user to change their behavior and the way they work
All about SocialPandas

SocialPandas is a social selling platform that helps B2B
sales teams leverage popular social networks to connect
with prospects, shorten sales cycles, boost deal sizes, and
grow loyal customer relationships.
Case Study: Applying Lean UX to the Enterprise
Buyer
We did all the “right” things…
•Extensive customer development
•High fidelity mockups, low fidelity prototypes
…but it wasn’t working.
We had to “stage the house”…
…and ate a little “fat”
Fat

Lean

Data visualization exploration

Customer design feedback

Back-end data collection

Limited front-end data display

UI Design

Navigation
Jason Ouellette
Co-founder & CTO
@jmouel
Sample Application: Sales Meeting Tracker
High-fidelity prototype  live app
 Demo of finished product
 Build the prototype
• Goals and tools
• Easel.io and Bootstrap

 Develop the code
• Easel.io to Visualforce
• Visualforce the “lightweight” way
• AngularJS: Navigation, calling Apex, and data binding
Demo of finished product
Features
• Meeting list
• Event, Contact,
Opportunity, Account

• Meeting report
• Event, Opportunity
Build the prototype: goals and tools
Goals
 HTML5 mobile app to validate ideas, run experiments with users
 Artifacts must be directly usable in code, not disposable

Tools: good/bad/ugly
 Visual fidelity vs. code usefulness
 Developer and designer workflow, the “what-if” gaps
 Round-trip issues
Build the prototype: Easel.io and Bootstrap
Easel.io: powered by Bootstrap
 Bootstrap (as grid system) in 1 minute
<div class="container">
<div class="row-fluid">
<span class="span12">
<h2 class="heading navbar-inverse">Meetings
<button class="btn pull-left btn-mini"> <i class="icon icon-chevron-left"></i> Back</button>
</h2>
</span>
</div>
</div>

Getting started with Easel.io
Develop the code: Easel.io to Visualforce (1 of 2)
1. Make sure each Easel page has a unique top-level CSS class.
 Assign it to the BootstrapContainer.

2. Export from Easel.io.
 Test locally and tweak exported CSS/HTML.
 Gotchas: Bootstrap version, images.

3. Create simple Visualforce page with no header/sidebar.
 Put CSS for each page into <style> tag.
 Put HTML for each page into separate DIVs with top-level CSS class.
Develop the code: Easel.io to Visualforce (2 of 2)
4. Create and import static resources
 Bootstrap
 Font Awesome (www.fontawesome.io)
Develop the code: Visualforce the “lightweight” way
Single Page Applications
 MVC-ish frameworks

Remote Action
 Client-side ViewState is not your friend (until it’s server-side)
@RemoteAction
public static List<Event> load() { /* ... */ }
@RemoteAction
public static void save(Event event, Opportunity opportunity) { /* ... */ }
Develop the code: Navigation with AngularJS
1. Provide navigation function in Angular controller
1.

$scope.nav = function(path) {
$location.path(path);
$scope.editMode = path != '';

}

2. Use navigation function in anchors, buttons
<button type="button" ng-click="nav('')">Back</button>

3. Show/hide DIVs based on $scope variable
<div ng-show="editMode" class="meeting-report container-fluid">
Develop the code: Calling Apex via AngularJS
AngularJS
DF13MeetingTrackerController.load(function(result, event) {
if (event.status) {
$scope.meetings = result;
$rootScope.$apply();
}
}, { escape: false });

Apex Controller
public with sharing class DF13MeetingTrackerController {
@RemoteAction
public static List<Event> load() { /* ... */ }
Develop the code: Data binding with AngularJS
Inline templates
<apex:outputPanel html-ng-app=""
html-ng-controller="MeetingTrackerCtrl" styleClass="container-fluid">
<div class="row-fluid">
<div class="span3">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li ng-class="navClass('{{event.Id}}')"
ng-repeat=”event in events">
<a ng-click="nav('{{event.Id}}')”>{{event.opportunity.Name}} {{event.ActivityDate |
date:'M/d'}}</a></li>
</ul>
</div>
</div>
</apex:outputPanel>
Gretchen DeKnikker

Jason Ouellette

Co-founder & CMO,
@gretchende

Co-founder & CTO,
@jmouel
Lean Development: Design Through Iterative Experiments

More Related Content

PDF
Opticon 2015-Pushing the Boundaries of Optimizely
PDF
The Wicked Craft of Enterprise UX
PPTX
Kudo Team flight 2.0 process
PPTX
Building an MVP
PDF
Getting to Minimum Viable Product (MVP)
PPTX
Ecommerce Mini Project / Group Project Design
PDF
Prototyping invision vs axure
PDF
Rapid Prototyping with Axure RP Part 3 – Using Axure for Usability Testing
Opticon 2015-Pushing the Boundaries of Optimizely
The Wicked Craft of Enterprise UX
Kudo Team flight 2.0 process
Building an MVP
Getting to Minimum Viable Product (MVP)
Ecommerce Mini Project / Group Project Design
Prototyping invision vs axure
Rapid Prototyping with Axure RP Part 3 – Using Axure for Usability Testing

What's hot (20)

PDF
How to get your Minimum Viable Product (MVP)
PPTX
AppNotch Enterprise
PDF
The 1 Week Minimum Viable Product (MVP)
PDF
"SCRUM allows us to create better products, more suited to the users' needs. ...
PDF
Why should I care about the Minimum Viable Product (MVP)
PPT
Ajax Usability for AjaxWorld
PDF
Building landing pages at scale at InVision - No Code Conf 2019
PPTX
Minimum Viable Product in brief!
PDF
Walk, Don't Run: Incremental Change in Enterprise UX
PPTX
Introduction to Indigo.Design App Builder
PDF
Minimum Viable Product - theory and workshop
PPT
Mobilizing your Visualforce Application with jQuery Mobile and Knockout.js
PPTX
Minimum viable product
PPTX
Internship Presentation 2 Web Developer
PPTX
MVP slideshare
PDF
How to get a great UX job, U of Washington Presentation
PDF
I'll gladly pay you Tuesday for a hamburger today: Managing UX Debt
PDF
SIIA Previews: VisibleGains
PDF
Minimum Delightful Product
PPTX
Usability audit
How to get your Minimum Viable Product (MVP)
AppNotch Enterprise
The 1 Week Minimum Viable Product (MVP)
"SCRUM allows us to create better products, more suited to the users' needs. ...
Why should I care about the Minimum Viable Product (MVP)
Ajax Usability for AjaxWorld
Building landing pages at scale at InVision - No Code Conf 2019
Minimum Viable Product in brief!
Walk, Don't Run: Incremental Change in Enterprise UX
Introduction to Indigo.Design App Builder
Minimum Viable Product - theory and workshop
Mobilizing your Visualforce Application with jQuery Mobile and Knockout.js
Minimum viable product
Internship Presentation 2 Web Developer
MVP slideshare
How to get a great UX job, U of Washington Presentation
I'll gladly pay you Tuesday for a hamburger today: Managing UX Debt
SIIA Previews: VisibleGains
Minimum Delightful Product
Usability audit
Ad

Similar to Lean Development: Design Through Iterative Experiments (20)

PPTX
Emilia Ciardi - MVP e start-up: anche oggi una feature domani - Codemotion Mi...
PPTX
Beyond App Development
PPTX
Beyond App Development
PPTX
Home management WebApp presentation
PPT
PCC2 - How do I incorporate Apple-like design into my products?
PPTX
Ecommerce Mini Project / Group Project Coding
DOCX
Rachna_Vadala_Resume_updated
PDF
Rapid Product Design in the Wild, Agile 2013
PPTX
Sum of the Parts Speaker Series - Experience Engineering and UX
PDF
Agile and data driven product development oleh Dhiku VP Product KMK Online
PPTX
Web_development_internship_presentaton__
PPTX
Web_Development_internship_presentation_
PDF
Mobile Design at Gilt
PPT
Building Mobile Optimized Websites
PPT
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
PDF
Build a Web App with JavaScript and jQuery (5:18:17, Los Angeles)
PDF
Internship_report__on_web_development_ii
DOCX
AravindaKumarNew
DOCX
Kiely mitchell
PDF
Yeoman AngularJS and D3 - A solid stack for web apps
Emilia Ciardi - MVP e start-up: anche oggi una feature domani - Codemotion Mi...
Beyond App Development
Beyond App Development
Home management WebApp presentation
PCC2 - How do I incorporate Apple-like design into my products?
Ecommerce Mini Project / Group Project Coding
Rachna_Vadala_Resume_updated
Rapid Product Design in the Wild, Agile 2013
Sum of the Parts Speaker Series - Experience Engineering and UX
Agile and data driven product development oleh Dhiku VP Product KMK Online
Web_development_internship_presentaton__
Web_Development_internship_presentation_
Mobile Design at Gilt
Building Mobile Optimized Websites
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
Build a Web App with JavaScript and jQuery (5:18:17, Los Angeles)
Internship_report__on_web_development_ii
AravindaKumarNew
Kiely mitchell
Yeoman AngularJS and D3 - A solid stack for web apps
Ad

More from Salesforce Developers (20)

PDF
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
PDF
Maximizing Salesforce Lightning Experience and Lightning Component Performance
PDF
Local development with Open Source Base Components
PPTX
TrailheaDX India : Developer Highlights
PDF
Why developers shouldn’t miss TrailheaDX India
PPTX
CodeLive: Build Lightning Web Components faster with Local Development
PPTX
CodeLive: Converting Aura Components to Lightning Web Components
PPTX
Enterprise-grade UI with open source Lightning Web Components
PPTX
TrailheaDX and Summer '19: Developer Highlights
PDF
Live coding with LWC
PDF
Lightning web components - Episode 4 : Security and Testing
PDF
LWC Episode 3- Component Communication and Aura Interoperability
PDF
Lightning web components episode 2- work with salesforce data
PDF
Lightning web components - Episode 1 - An Introduction
PDF
Migrating CPQ to Advanced Calculator and JSQCP
PDF
Scale with Large Data Volumes and Big Objects in Salesforce
PDF
Replicate Salesforce Data in Real Time with Change Data Capture
PDF
Modern Development with Salesforce DX
PDF
Get Into Lightning Flow Development
PDF
Integrate CMS Content Into Lightning Communities with CMS Connect
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Local development with Open Source Base Components
TrailheaDX India : Developer Highlights
Why developers shouldn’t miss TrailheaDX India
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Converting Aura Components to Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
TrailheaDX and Summer '19: Developer Highlights
Live coding with LWC
Lightning web components - Episode 4 : Security and Testing
LWC Episode 3- Component Communication and Aura Interoperability
Lightning web components episode 2- work with salesforce data
Lightning web components - Episode 1 - An Introduction
Migrating CPQ to Advanced Calculator and JSQCP
Scale with Large Data Volumes and Big Objects in Salesforce
Replicate Salesforce Data in Real Time with Change Data Capture
Modern Development with Salesforce DX
Get Into Lightning Flow Development
Integrate CMS Content Into Lightning Communities with CMS Connect

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Spectroscopy.pptx food analysis technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Electronic commerce courselecture one. Pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
KodekX | Application Modernization Development
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectroscopy.pptx food analysis technology
Advanced methodologies resolving dimensionality complications for autism neur...
Electronic commerce courselecture one. Pdf
sap open course for s4hana steps from ECC to s4
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
20250228 LYD VKU AI Blended-Learning.pptx
Empathic Computing: Creating Shared Understanding
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KodekX | Application Modernization Development
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Big Data Technologies - Introduction.pptx

Lean Development: Design Through Iterative Experiments

  • 1. Lean Development Design through Iterative Experiments Gretchen DeKnikker, SocialPandas, Co-founder & CMO @gretchende Jason Ouellette, SocialPandas, Co-founder & CTO @jmouel
  • 3. Lean UX and the Enterprise Buyer Today we’ll cover  What is Lean UX?  Applying Lean principles in the enterprise  Overview of tools for higher fidelity UX  Force.com as a sandbox for Lean UX experiments
  • 4. What is “Lean”? Lean application development is iterative design through experimentation and validated learning.
  • 5. Lean UX User Experience is a person’s perceptions and responses that result from the use or anticipated use of a product, service or system.
  • 6. Lean UX Lean UX evolves Build-Measure-Learn to Think-Make-Check
  • 11. MVP vs MSP A minimum viable product (MVP) is the version of a new product or service which allows a team to collect the maximum amount of validated learning with the least effort A minimum sellable product (MSP) is the version that will get an enterprise user to change their behavior and the way they work
  • 12. All about SocialPandas SocialPandas is a social selling platform that helps B2B sales teams leverage popular social networks to connect with prospects, shorten sales cycles, boost deal sizes, and grow loyal customer relationships.
  • 13. Case Study: Applying Lean UX to the Enterprise Buyer We did all the “right” things… •Extensive customer development •High fidelity mockups, low fidelity prototypes …but it wasn’t working.
  • 14. We had to “stage the house”…
  • 15. …and ate a little “fat” Fat Lean Data visualization exploration Customer design feedback Back-end data collection Limited front-end data display UI Design Navigation
  • 17. Sample Application: Sales Meeting Tracker High-fidelity prototype  live app  Demo of finished product  Build the prototype • Goals and tools • Easel.io and Bootstrap  Develop the code • Easel.io to Visualforce • Visualforce the “lightweight” way • AngularJS: Navigation, calling Apex, and data binding
  • 18. Demo of finished product Features • Meeting list • Event, Contact, Opportunity, Account • Meeting report • Event, Opportunity
  • 19. Build the prototype: goals and tools Goals  HTML5 mobile app to validate ideas, run experiments with users  Artifacts must be directly usable in code, not disposable Tools: good/bad/ugly  Visual fidelity vs. code usefulness  Developer and designer workflow, the “what-if” gaps  Round-trip issues
  • 20. Build the prototype: Easel.io and Bootstrap Easel.io: powered by Bootstrap  Bootstrap (as grid system) in 1 minute <div class="container"> <div class="row-fluid"> <span class="span12"> <h2 class="heading navbar-inverse">Meetings <button class="btn pull-left btn-mini"> <i class="icon icon-chevron-left"></i> Back</button> </h2> </span> </div> </div> Getting started with Easel.io
  • 21. Develop the code: Easel.io to Visualforce (1 of 2) 1. Make sure each Easel page has a unique top-level CSS class.  Assign it to the BootstrapContainer. 2. Export from Easel.io.  Test locally and tweak exported CSS/HTML.  Gotchas: Bootstrap version, images. 3. Create simple Visualforce page with no header/sidebar.  Put CSS for each page into <style> tag.  Put HTML for each page into separate DIVs with top-level CSS class.
  • 22. Develop the code: Easel.io to Visualforce (2 of 2) 4. Create and import static resources  Bootstrap  Font Awesome (www.fontawesome.io)
  • 23. Develop the code: Visualforce the “lightweight” way Single Page Applications  MVC-ish frameworks Remote Action  Client-side ViewState is not your friend (until it’s server-side) @RemoteAction public static List<Event> load() { /* ... */ } @RemoteAction public static void save(Event event, Opportunity opportunity) { /* ... */ }
  • 24. Develop the code: Navigation with AngularJS 1. Provide navigation function in Angular controller 1. $scope.nav = function(path) { $location.path(path); $scope.editMode = path != ''; } 2. Use navigation function in anchors, buttons <button type="button" ng-click="nav('')">Back</button> 3. Show/hide DIVs based on $scope variable <div ng-show="editMode" class="meeting-report container-fluid">
  • 25. Develop the code: Calling Apex via AngularJS AngularJS DF13MeetingTrackerController.load(function(result, event) { if (event.status) { $scope.meetings = result; $rootScope.$apply(); } }, { escape: false }); Apex Controller public with sharing class DF13MeetingTrackerController { @RemoteAction public static List<Event> load() { /* ... */ }
  • 26. Develop the code: Data binding with AngularJS Inline templates <apex:outputPanel html-ng-app="" html-ng-controller="MeetingTrackerCtrl" styleClass="container-fluid"> <div class="row-fluid"> <div class="span3"> <div class="well sidebar-nav"> <ul class="nav nav-list"> <li ng-class="navClass('{{event.Id}}')" ng-repeat=”event in events"> <a ng-click="nav('{{event.Id}}')”>{{event.opportunity.Name}} {{event.ActivityDate | date:'M/d'}}</a></li> </ul> </div> </div> </apex:outputPanel>
  • 27. Gretchen DeKnikker Jason Ouellette Co-founder & CMO, @gretchende Co-founder & CTO, @jmouel

Editor's Notes

  • #5: Classis Build-Measure-Learn made popularized by Eric Reis in his book The Lean Startup Lean is NOT fast, cheap or a shortcut to product development Lean is hypothesis-driven experimentation and iteration based on validated learning
  • #7: Create small products that test assumptions using customer feedback to evolve the product and reduce waste Translates Build-Measure-Learn to Think-Make-Check Customer interviews Metrics
  • #8: http://www.hightechdad.com/wp-content/uploads/2009/07/angry_at_computer.png
  • #9: blog.thelettertwo.com
  • #10: http://stockmedia.cc/computing_technology/slides/DSD_4424.jpg
  • #11: http://spinsucks.com/wp-content/uploads/2013/04/The-Problem-with-Multitasking.jpeg When building apps for the enterprise, you&apos;re not only asking for the buyer&apos;s time and money, you&apos;re also asking them to change their behavior and how they work.  That means your product needs to be exponentially better, faster and easier than what they&apos;re doing today.
  • #15: Time, money, change behavior
  • #16: Validated hypothesis Beta Bootstrap and Easel.io Move into experimentation and rapid prototyping Iterative design Faster feedback cycles