SlideShare a Scribd company logo
1 of 56
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

What's hot

The Cloud: Releasing Software into Controlled Chaos - GHC
The Cloud: Releasing Software into Controlled Chaos - GHCThe Cloud: Releasing Software into Controlled Chaos - GHC
The Cloud: Releasing Software into Controlled Chaos - GHCGeraldine Gray
 
Courage For Change
Courage For ChangeCourage For Change
Courage For ChangeÖzcan Acar
 
Alm with tfs 2013
Alm with tfs 2013Alm with tfs 2013
Alm with tfs 2013MSDEVMTL
 
Subject_Certificate_02_September_2015_2[1]
Subject_Certificate_02_September_2015_2[1]Subject_Certificate_02_September_2015_2[1]
Subject_Certificate_02_September_2015_2[1]claude kehrer fanka
 
Cross Platform Devops with Visual Studio Team Services
Cross Platform Devops with Visual Studio Team ServicesCross Platform Devops with Visual Studio Team Services
Cross Platform Devops with Visual Studio Team ServicesHimanshu Desai
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniquesMike McGarr
 
Lessons learned from 6 month project with india based software house
Lessons learned from 6 month project with india based software houseLessons learned from 6 month project with india based software house
Lessons learned from 6 month project with india based software houseNathan Krasney
 
Google Play Instant: Improving User Engagement
Google Play Instant: Improving User EngagementGoogle Play Instant: Improving User Engagement
Google Play Instant: Improving User EngagementChang John
 
Automation Space Trip
Automation Space Trip Automation Space Trip
Automation Space Trip Penny Gkogka
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
 
PRINCE2 and agile pm (en)
PRINCE2 and agile pm (en)PRINCE2 and agile pm (en)
PRINCE2 and agile pm (en)FortesSolutions
 
2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOps
2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOps2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOps
2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOpsdevopsdaysaustin
 
Test Plan Implementation - QAGeekWeek 2018
Test Plan Implementation - QAGeekWeek 2018Test Plan Implementation - QAGeekWeek 2018
Test Plan Implementation - QAGeekWeek 2018Igor Goldshmidt
 
Software Developer Productivity: What we know and how to make it better
Software Developer Productivity: What we know and how to make it betterSoftware Developer Productivity: What we know and how to make it better
Software Developer Productivity: What we know and how to make it betterTasktop
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are doneMikalai Alimenkou
 
Continuous integrations - Basics
Continuous integrations - BasicsContinuous integrations - Basics
Continuous integrations - BasicsBarış İNANÇ
 
How does an open source agile project management software improve team produc...
How does an open source agile project management software improve team produc...How does an open source agile project management software improve team produc...
How does an open source agile project management software improve team produc...Orangescrum
 

What's hot (20)

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

Similar to Building awesome sample apps that actually provide value

Puppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet
 
Optimism Webinar 2 - Moving from AB testing to true experimentation
Optimism Webinar 2 - Moving from AB testing to true experimentationOptimism Webinar 2 - Moving from AB testing to true experimentation
Optimism Webinar 2 - Moving from AB testing to true experimentationOptimizely
 
Dissecting Professor M for Best Practices
Dissecting Professor M for Best PracticesDissecting Professor M for Best Practices
Dissecting Professor M for Best PracticesLauren Hayward Schaefer
 
BrainQuest-DevOps
BrainQuest-DevOpsBrainQuest-DevOps
BrainQuest-DevOpsEric Phan
 
Planning Patterns for Agile Testers
Planning Patterns for Agile TestersPlanning Patterns for Agile Testers
Planning Patterns for Agile TestersGerrit Beine
 
2018 State Of DevOps Report Key Findings
2018 State Of DevOps Report Key Findings2018 State Of DevOps Report Key Findings
2018 State Of DevOps Report Key FindingsEficode
 
The DevOps Playbook: How to Start, Scale, and Succeed
The DevOps Playbook: How to Start, Scale, and SucceedThe DevOps Playbook: How to Start, Scale, and Succeed
The DevOps Playbook: How to Start, Scale, and SucceedPuppet
 
DevOps Dilemma - Make Dev work with Ops!
DevOps Dilemma - Make Dev work with Ops!DevOps Dilemma - Make Dev work with Ops!
DevOps Dilemma - Make Dev work with Ops!Sandeep Joshi
 
State of DevOps Report Key Findings
State of DevOps Report Key FindingsState of DevOps Report Key Findings
State of DevOps Report Key FindingsEficode
 
Nf final chef-lisa-metrics-2015-ss
Nf final chef-lisa-metrics-2015-ssNf final chef-lisa-metrics-2015-ss
Nf final chef-lisa-metrics-2015-ssNicole Forsgren
 
Lean Software Development: A Complete Guide
Lean Software Development: A Complete GuideLean Software Development: A Complete Guide
Lean Software Development: A Complete GuidePolyxer Systems
 
Content Measurement and Analytics: Making Positive Change on the Web by Rick ...
Content Measurement and Analytics: Making Positive Change on the Web by Rick ...Content Measurement and Analytics: Making Positive Change on the Web by Rick ...
Content Measurement and Analytics: Making Positive Change on the Web by Rick ...Blend Interactive
 
How to Evaluate Social Advertising Technology Platforms - Kenshoo Webinar
How to Evaluate Social Advertising Technology Platforms - Kenshoo WebinarHow to Evaluate Social Advertising Technology Platforms - Kenshoo Webinar
How to Evaluate Social Advertising Technology Platforms - Kenshoo WebinarKenshoo
 
Enabling DevOps for enterprise
Enabling DevOps for enterpriseEnabling DevOps for enterprise
Enabling DevOps for enterprisepunedevscom
 

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

Puppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolution
 
Optimism Webinar 2 - Moving from AB testing to true experimentation
Optimism Webinar 2 - Moving from AB testing to true experimentationOptimism Webinar 2 - Moving from AB testing to true experimentation
Optimism Webinar 2 - Moving from AB testing to true experimentation
 
Dissecting Professor M for Best Practices
Dissecting Professor M for Best PracticesDissecting Professor M for Best Practices
Dissecting Professor M for Best Practices
 
Four Keys to Efficient DevOps
Four Keys to Efficient DevOpsFour Keys to Efficient DevOps
Four Keys to Efficient DevOps
 
BrainQuest-DevOps
BrainQuest-DevOpsBrainQuest-DevOps
BrainQuest-DevOps
 
Planning Patterns for Agile Testers
Planning Patterns for Agile TestersPlanning Patterns for Agile Testers
Planning Patterns for Agile Testers
 
2018 State Of DevOps Report Key Findings
2018 State Of DevOps Report Key Findings2018 State Of DevOps Report Key Findings
2018 State Of DevOps Report Key Findings
 
The DevOps Playbook: How to Start, Scale, and Succeed
The DevOps Playbook: How to Start, Scale, and SucceedThe DevOps Playbook: How to Start, Scale, and Succeed
The DevOps Playbook: How to Start, Scale, and Succeed
 
RRC CMM CMMI
RRC CMM CMMIRRC CMM CMMI
RRC CMM CMMI
 
DevOps Dilemma - Make Dev work with Ops!
DevOps Dilemma - Make Dev work with Ops!DevOps Dilemma - Make Dev work with Ops!
DevOps Dilemma - Make Dev work with Ops!
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
State of DevOps Report Key Findings
State of DevOps Report Key FindingsState of DevOps Report Key Findings
State of DevOps Report Key Findings
 
Nf final chef-lisa-metrics-2015-ss
Nf final chef-lisa-metrics-2015-ssNf final chef-lisa-metrics-2015-ss
Nf final chef-lisa-metrics-2015-ss
 
Lean Software Development: A Complete Guide
Lean Software Development: A Complete GuideLean Software Development: A Complete Guide
Lean Software Development: A Complete Guide
 
Agile for Business
Agile for BusinessAgile for Business
Agile for Business
 
Content Measurement and Analytics: Making Positive Change on the Web by Rick ...
Content Measurement and Analytics: Making Positive Change on the Web by Rick ...Content Measurement and Analytics: Making Positive Change on the Web by Rick ...
Content Measurement and Analytics: Making Positive Change on the Web by Rick ...
 
How to Evaluate Social Advertising Technology Platforms - Kenshoo Webinar
How to Evaluate Social Advertising Technology Platforms - Kenshoo WebinarHow to Evaluate Social Advertising Technology Platforms - Kenshoo Webinar
How to Evaluate Social Advertising Technology Platforms - Kenshoo Webinar
 
Enabling DevOps for enterprise
Enabling DevOps for enterpriseEnabling DevOps for enterprise
Enabling DevOps for enterprise
 
A Step-by-Step Guide.pptx
A Step-by-Step Guide.pptxA Step-by-Step Guide.pptx
A Step-by-Step Guide.pptx
 
Grandma's recipe for DevOps adoption
Grandma's recipe for DevOps adoptionGrandma's recipe for DevOps adoption
Grandma's recipe for DevOps adoption
 

More from Lauren Hayward Schaefer

7 Ways to Build an API that Developers Will Hate
7 Ways to Build an API that Developers Will Hate7 Ways to Build an API that Developers Will Hate
7 Ways to Build an API that Developers Will HateLauren Hayward Schaefer
 
Developer Advocacy: A Career Path for Those With a Passion for Code, Communit...
Developer Advocacy: A Career Path for Those With a Passion for Code, Communit...Developer Advocacy: A Career Path for Those With a Passion for Code, Communit...
Developer Advocacy: A Career Path for Those With a Passion for Code, Communit...Lauren Hayward Schaefer
 
10 Best Practices for Writing Documentation (For Those Who Would Rather Do An...
10 Best Practices for Writing Documentation (For Those Who Would Rather Do An...10 Best Practices for Writing Documentation (For Those Who Would Rather Do An...
10 Best Practices for Writing Documentation (For Those Who Would Rather Do An...Lauren Hayward Schaefer
 
Intro to Technical Writing: Creating Content that Google and Readers will Love
Intro to Technical Writing: Creating Content that Google and Readers will LoveIntro to Technical Writing: Creating Content that Google and Readers will Love
Intro to Technical Writing: Creating Content that Google and Readers will LoveLauren Hayward Schaefer
 
Level Up Your Technical Career by Writing
Level Up Your Technical Career by WritingLevel Up Your Technical Career by Writing
Level Up Your Technical Career by WritingLauren Hayward Schaefer
 
5 Things I Learned While Modeling Data in MongoDB
5 Things I Learned While Modeling Data in MongoDB5 Things I Learned While Modeling Data in MongoDB
5 Things I Learned While Modeling Data in MongoDBLauren Hayward Schaefer
 
How to Raise Your Profile as a Developer (And Why You Should Bother!)
How to Raise Your Profile as a Developer (And Why You Should Bother!)How to Raise Your Profile as a Developer (And Why You Should Bother!)
How to Raise Your Profile as a Developer (And Why You Should Bother!)Lauren Hayward Schaefer
 
Building CI/CD Pipelines for MongoDB Realm Apps
Building CI/CD Pipelines for MongoDB Realm AppsBuilding CI/CD Pipelines for MongoDB Realm Apps
Building CI/CD Pipelines for MongoDB Realm AppsLauren Hayward Schaefer
 
From Tables to Documents—Changing Your Database Mindset
From Tables to Documents—Changing Your Database MindsetFrom Tables to Documents—Changing Your Database Mindset
From Tables to Documents—Changing Your Database MindsetLauren Hayward Schaefer
 
DevOps + MongoDB Realm Serverless Functions = 🤩
DevOps + MongoDB Realm Serverless Functions = 🤩DevOps + MongoDB Realm Serverless Functions = 🤩
DevOps + MongoDB Realm Serverless Functions = 🤩Lauren Hayward Schaefer
 
Stop! Don't make these mistakes in your document database!
Stop! Don't make these mistakes in your document database!Stop! Don't make these mistakes in your document database!
Stop! Don't make these mistakes in your document database!Lauren Hayward Schaefer
 
From Tables to Documents—Changing Your Database Mindset
From Tables to Documents—Changing Your Database MindsetFrom Tables to Documents—Changing Your Database Mindset
From Tables to Documents—Changing Your Database MindsetLauren Hayward Schaefer
 
From Tables to Documents -- Changing Your Database Mindset
From Tables to Documents -- Changing Your Database MindsetFrom Tables to Documents -- Changing Your Database Mindset
From Tables to Documents -- Changing Your Database MindsetLauren Hayward Schaefer
 

More from Lauren Hayward Schaefer (20)

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

Recently uploaded

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 

Recently uploaded (20)

Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 

Building awesome sample apps that actually provide value

Editor's Notes

  1. Engineers
  2. Java Pet Store
  3. 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
  4. Added support for Jenkins
  5. Added support for Postman tests Led to us discovering a bug when using our product on different databases
  6. 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.
  7. 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?
  8. 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.
  9. Get code reviews from your engineering team. Be transparent in your development.
  10. Added support for Jenkins
  11. 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?
  12. 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.
  13. -