SlideShare a Scribd company logo
Building awesome sample apps
that actually provide value
@Lauren_Schaefer
Developer Advocate, SugarCRM
@Lauren_Schaefer 2
@Lauren_Schaefer 3
@Lauren_Schaefer 4
How do I apply this
simple example to
my bigger use
case?
@Lauren_Schaefer 5
How do i test
this?
@Lauren_Schaefer 6
How do I integrate
this example into
my app?
@Lauren_Schaefer 7
How do I
quickly build
a complete
application?
@Lauren_Schaefer 8
How do I
apply
DevOps best
practices?
@Lauren_Schaefer 9
How do I know if
I’m breaking
something really
important?
@Lauren_Schaefer 10
Sample code
Sample application
@Lauren_Schaefer 11
Today’s Goal
Empower you to convince
your boss that building an
awesome sample app should
be at the top of your
priority list
@Lauren_Schaefer 12
Today’s Goal
@Lauren_Schaefer 13
How are we going to do that?
● Case study: my sample app
● Steps to success
● Pitfalls
@Lauren_Schaefer 14
About Me
@Lauren_Schaefer 15
@Lauren_Schaefer
About Me
@Lauren_Schaefer 16
@Lauren_Schaefer
Case study
@Lauren_Schaefer 17
Quick info about our product
@Lauren_Schaefer 18
● Sugar (Customer relationship management software)
● Highly customizable
● Customizations = upgrade challenges
@Lauren_Schaefer 19
Step 1: Identify project goals
@Lauren_Schaefer 20
1. Be an authoritative example of how to customize the
product the best way.
2. Be an example of how to follow DevOps best practices
while customizing our product.
3. Be an example that our engineers can use to test they
aren’t breaking common customizations.
Step 2: Create the scenario
@Lauren_Schaefer 21
Step 3: Identify the requirements for the MVP
@Lauren_Schaefer 22
Step 3: Identify the requirements for the MVP
@Lauren_Schaefer 23
Step 3: Identify the requirements for the MVP
● Basic customizations for the scenario
○ Custom modules, fields, and layouts
● Basic test automation using PHPUnit and Jasmine
● DevOps pipeline using Travis CI
● Tests integrated into the product’s build process
● Documentation in GitHub
@Lauren_Schaefer 24
Step 4: Implement the MVP
@Lauren_Schaefer 25
Step 4: Implement the MVP
@Lauren_Schaefer 26
Step 4: Implement the MVP
@Lauren_Schaefer 27
Step 4: Implement the MVP
@Lauren_Schaefer 28
Step 4: Implement the MVP
@Lauren_Schaefer 29
Step 5: Continue building incrementally
@Lauren_Schaefer 30
Step 5: Continue building incrementally
@Lauren_Schaefer 31
Step 5: Continue building incrementally
@Lauren_Schaefer 32
Step 6: Engage your engineers and developer
community for help
@Lauren_Schaefer 33
Step 6: Engage your engineers and developer
community for help
@Lauren_Schaefer 34
Step 6: Engage your engineers and developer
community for help
@Lauren_Schaefer 35
Step 6: Engage your engineers and developer
community for help
@Lauren_Schaefer 36
Step 7: Measure success
● 4 features implemented
● Automated tests with PHPUnit, Jasmine, & Postman
● CI with Travis and Jenkins
@Lauren_Schaefer 37
Step 7: Measure success
1 bug found in the product
@Lauren_Schaefer 38
Step 7: Measure success
@Lauren_Schaefer 39
Steps to success
@Lauren_Schaefer 40
Step 1: Identify project goals
@Lauren_Schaefer 41
1. Be an authoritative example of how to…
2. Be an example of how to follow DevOps best practices
while…
3. Be an example that our engineers can use to test they
aren’t breaking common…
Step 2: Create the scenario
@Lauren_Schaefer 42
Step 3: Identify the requirements for the MVP
● Features
● Tests
● Infrastructure (CI)
● Documentation
@Lauren_Schaefer 43
Step 4: Implement the MVP
@Lauren_Schaefer 44
Step 5: Continue building incrementally
@Lauren_Schaefer 45
● Identify roles including product owner
● Build a full feature including test automation
● Build infrastructure as necessary
Step 6: Engage your engineers and developer
community for help
@Lauren_Schaefer 46
● Get manager buy-in
● Encourage external participation at all levels
Step 7: Measure success
● Identify what metrics matter to your stakeholders
● Build metrics infrastructure if necessary
● Gather informal feedback as well
@Lauren_Schaefer 47
Pitfalls
@Lauren_Schaefer 48
Not having coding standards
@Lauren_Schaefer 49
Developers don’t care
@Lauren_Schaefer 50
Failing to engage your developer community
@Lauren_Schaefer 51
● Slow PR response times
● Unclear requirements
● Uninteresting problems
● No incentives
Recap
@Lauren_Schaefer 52
Why build a sample
app instead of
separate sample
code snippets?
@Lauren_Schaefer 53
● Solves bigger problems
● Shows how to build a
complete solution
● Demonstrates best
practices related to
development and tooling
● Provides a testing
resource for your
product
How do you
successfully build
an awesome sample
app that actually
provides value?
@Lauren_Schaefer 54
1. Identify project goals
2. Create the scenario
3. Identify the
requirements for the
MVP
4. Implement the MVP
5. Continue building
incrementally in a
transparent way
6. Engage your engineers
and developer community
for help
7. Measure success
Today’s Goal
@Lauren_Schaefer 55
Follow up...
About Me
@Lauren_Schaefer
linkedin.com/in/laurenjane
ce
About the App
github.com/sugarcrm/school
community.sugarcrm.com/com
munity/developer/pages/dev
-blog
@Lauren_Schaefer 56

More Related Content

PDF
Developer Experience to Testing
PDF
Why we need test automation, but it’s not the right question
PDF
Global App Testing: On-Demand QA Test Execution Platform
PPTX
(Sprint 1) besser childress logerquist-swain
PPTX
DevQAOps - Surviving in a DevOps World
PPTX
DevQA - From Quality Control to Quality Assistance
PPTX
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
PPT
Story Based Burn Down
Developer Experience to Testing
Why we need test automation, but it’s not the right question
Global App Testing: On-Demand QA Test Execution Platform
(Sprint 1) besser childress logerquist-swain
DevQAOps - Surviving in a DevOps World
DevQA - From Quality Control to Quality Assistance
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
Story Based Burn Down

What's hot (20)

PDF
The Cloud: Releasing Software into Controlled Chaos - GHC
PPTX
Courage For Change
PPTX
Alm with tfs 2013
PDF
Subject_Certificate_02_September_2015_2[1]
PPTX
Cross Platform Devops with Visual Studio Team Services
PDF
Continuous delivery - tools and techniques
PPTX
Preso #4
PPTX
Lessons learned from 6 month project with india based software house
PDF
Google Play Instant: Improving User Engagement
PDF
Automation Space Trip
PPTX
Continuous delivery applied
PDF
PRINCE2 and agile pm (en)
PDF
Invite the tester to the party
PDF
2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOps
PPTX
Test Plan Implementation - QAGeekWeek 2018
PDF
Software Developer Productivity: What we know and how to make it better
PPT
War for Agile
PPTX
How to be proud when you are done
PDF
Continuous integrations - Basics
PDF
How does an open source agile project management software improve team produc...
The Cloud: Releasing Software into Controlled Chaos - GHC
Courage For Change
Alm with tfs 2013
Subject_Certificate_02_September_2015_2[1]
Cross Platform Devops with Visual Studio Team Services
Continuous delivery - tools and techniques
Preso #4
Lessons learned from 6 month project with india based software house
Google Play Instant: Improving User Engagement
Automation Space Trip
Continuous delivery applied
PRINCE2 and agile pm (en)
Invite the tester to the party
2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOps
Test Plan Implementation - QAGeekWeek 2018
Software Developer Productivity: What we know and how to make it better
War for Agile
How to be proud when you are done
Continuous integrations - Basics
How does an open source agile project management software improve team produc...
Ad

Similar to Building awesome sample apps that actually provide value (20)

PDF
The Ultimate Guide to MVP Development Services in 2025
PPTX
Introduction and Basics of DevOps( Development and Operations). pptx
PDF
Why MVP Development Matters Creating User-Centric Products?
PDF
Top DevOps Best Practices for a Successful Transition in 2023
PPTX
Product innovation journey
PPTX
How IBM Scaled DevOps: The IBM Marketplace and Continuous Improvement
PDF
Building MVP with Team Augmentation
PPTX
Startup Product Development
PDF
Best Practices for Working with an MVP Development Company
PDF
The Importance of an MVP in On-Demand App Development
PDF
Developer Experience as a Product
PDF
Whats my MVP?
PPTX
Getting it Built
PDF
MVP Product Development Company in Bangalore.pdf
PPTX
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
PDF
Digital Prototyping, MVP, UIUX Development Services USA & India - Cuneiform.pdf
PPTX
Building a digital business
PDF
Steps to Successfully Launch Your Minimum Viable Product (MVP)
PPTX
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
PPSX
Agile, User Stories, Domain Driven Design
The Ultimate Guide to MVP Development Services in 2025
Introduction and Basics of DevOps( Development and Operations). pptx
Why MVP Development Matters Creating User-Centric Products?
Top DevOps Best Practices for a Successful Transition in 2023
Product innovation journey
How IBM Scaled DevOps: The IBM Marketplace and Continuous Improvement
Building MVP with Team Augmentation
Startup Product Development
Best Practices for Working with an MVP Development Company
The Importance of an MVP in On-Demand App Development
Developer Experience as a Product
Whats my MVP?
Getting it Built
MVP Product Development Company in Bangalore.pdf
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Digital Prototyping, MVP, UIUX Development Services USA & India - Cuneiform.pdf
Building a digital business
Steps to Successfully Launch Your Minimum Viable Product (MVP)
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
Agile, User Stories, Domain Driven Design
Ad

More from Lauren Hayward Schaefer (20)

PDF
7 Ways to Build an API that Developers Will Hate
PDF
Developer Advocacy: A Career Path for Those With a Passion for Code, Communit...
PDF
10 Best Practices for Writing Documentation (For Those Who Would Rather Do An...
PDF
Intro to Technical Writing: Creating Content that Google and Readers will Love
PDF
Level Up Your Technical Career by Writing
PDF
How to Raise Your Profile Worksheet
PDF
5 Things I Learned While Modeling Data in MongoDB
PPTX
How to Raise Your Profile as a Developer (And Why You Should Bother!)
PDF
Building CI/CD Pipelines for MongoDB Realm Apps
PDF
From Tables to Documents—Changing Your Database Mindset
PDF
NoSQL for Startups
PDF
Back to Basics 2021
PDF
DevOps + MongoDB Realm Serverless Functions = 🤩
PDF
Stop! Don't make these mistakes in your document database!
PPTX
From Tables to Documents—Changing Your Database Mindset
PPTX
From Tables to Documents -- Changing Your Database Mindset
PDF
Making #RemoteWork Actually Work
PPTX
DevOps + MongoDB Serverless = 
PDF
MongoDB: Back to Basics
PPTX
Intro to MongoDB Workshop
7 Ways to Build an API that Developers Will Hate
Developer Advocacy: A Career Path for Those With a Passion for Code, Communit...
10 Best Practices for Writing Documentation (For Those Who Would Rather Do An...
Intro to Technical Writing: Creating Content that Google and Readers will Love
Level Up Your Technical Career by Writing
How to Raise Your Profile Worksheet
5 Things I Learned While Modeling Data in MongoDB
How to Raise Your Profile as a Developer (And Why You Should Bother!)
Building CI/CD Pipelines for MongoDB Realm Apps
From Tables to Documents—Changing Your Database Mindset
NoSQL for Startups
Back to Basics 2021
DevOps + MongoDB Realm Serverless Functions = 🤩
Stop! Don't make these mistakes in your document database!
From Tables to Documents—Changing Your Database Mindset
From Tables to Documents -- Changing Your Database Mindset
Making #RemoteWork Actually Work
DevOps + MongoDB Serverless = 
MongoDB: Back to Basics
Intro to MongoDB Workshop

Recently uploaded (20)

PDF
top salesforce developer skills in 2025.pdf
PDF
medical staffing services at VALiNTRY
PDF
Understanding Forklifts - TECH EHS Solution
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPT
Introduction Database Management System for Course Database
PPTX
assetexplorer- product-overview - presentation
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
ai tools demonstartion for schools and inter college
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
history of c programming in notes for students .pptx
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
top salesforce developer skills in 2025.pdf
medical staffing services at VALiNTRY
Understanding Forklifts - TECH EHS Solution
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
2025 Textile ERP Trends: SAP, Odoo & Oracle
Introduction Database Management System for Course Database
assetexplorer- product-overview - presentation
Design an Analysis of Algorithms II-SECS-1021-03
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Digital Systems & Binary Numbers (comprehensive )
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
CHAPTER 2 - PM Management and IT Context
Internet Downloader Manager (IDM) Crack 6.42 Build 41
ai tools demonstartion for schools and inter college
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
history of c programming in notes for students .pptx
VVF-Customer-Presentation2025-Ver1.9.pptx

Building awesome sample apps that actually provide value

Editor's Notes

  • #11: Engineers
  • #20: Java Pet Store
  • #31: For new features… Build the full stack of the feature plus tests and documentation Build publicly so people can see progress of the project and learn from the code reviews
  • #32: Added support for Jenkins
  • #33: Added support for Postman tests Led to us discovering a bug when using our product on different databases
  • #42: Be an authoritative example of how to customize the product the best way. Be an authoritative example of how to utilize your APIs. Be an authoritative example of how to utilize your software tools.
  • #43: What is a common use case for your developer community? Can the scenario you selected incorporate most of the features you want to include in your sample?
  • #44: Infrastructure - do you need to setup Continuous Integration to build your app? Do you need to add your app to your engineering team’s CI? Identify tools your developer community should be using. You may want to cover duplicate tools.
  • #45: Get code reviews from your engineering team. Be transparent in your development.
  • #46: Added support for Jenkins
  • #48: This one is hard. First, you have to look at your goals. Do you measure pull requests, forks, stars on your repo? Do you run surveys? If you don’t measure your success, will you be able to continue work on your sample app?
  • #51: Developers don’t care. They don’t care about the success of your sample app. They want to develop new features, not spend time working on your sample app. Unless they are given space to work on it by their managers and their performance reviews are tied to it, they probably aren’t going to help you. You’ll need developers to help review pull requests as well as develop new features.
  • #52: -