SlideShare a Scribd company logo
1 of 40
Ship It! 
Presented by: 
Ted Husted, Release Engineer 
Derek Hansen, Lead Engineer
derek@nimbleuser.com ted@nimbleuser.com
Ship It! 
Do your best work using our best version. 
Always.
Intermittent Delivery
Delivering Nimble AMS 
Begin with the end in mind 
Put first things first 
Be proactive
Begin with the end in mind
Continuous Delivery
Press Release
Minimum Viable Product
Create Read Update Delete
Business Rules
Help Topics
Developer Overview
Acceptance Tests
Begin with the end in mind 
The longest journey begins with a single step. 
What’s the simplest thing that can possibly work? 
Trust but verify. 
Information at your fingertips. 
Agility is in the details. 
Fail fast, fail often, fail safe.
Put first things first
Agile Board
Feature Orgs
Epic Success
Peer Testing
Code Review
Sprint Backlog
Put first things first 
Plan the work, work the plan. 
United we stand, divided we code. 
Test until fear turns to boredom. 
Given enough eyeballs, all bugs are shallow. 
Working code speaks.
Be Proactive
Readiness Testing
Help Topics
Delivered!
Preview Channel
Be Proactive 
Done and Done. 
It’s suppose to be automatic, but you still have to press the button. 
Change is the only constant. 
Look before you leap.
Think Win! Win!
Synergize
Take Aways
When - Release Cadence
What - Deliverable
How - Process
Who - Develop, Validate, Deploy, Support
Where - Production / Sandbox
Take Aways 
Ship no line before its time. 
Say what you mean, mean what you say. 
There’s a SMART way to manage goals and objectives. 
Coordinate. Orchestrate. Integrate. 
Location. Location. Location.
Thank You for Attending 
“Prioritize. Organize. Simplify.” 
Contact Us: 
Ted Husted 
ted@nimbleuser.com 
@tedhusted 
Derek Hanson 
derek@nimbleuser.com 
@nimblederek

More Related Content

What's hot

What's hot (20)

PlatinumGames and Hansoft - the Road to Agility
PlatinumGames and Hansoft - the Road to AgilityPlatinumGames and Hansoft - the Road to Agility
PlatinumGames and Hansoft - the Road to Agility
 
Building Better Products, June 2015
Building Better Products, June 2015Building Better Products, June 2015
Building Better Products, June 2015
 
Agile And Lean Practices - The Mobile Academy
Agile And Lean Practices - The Mobile AcademyAgile And Lean Practices - The Mobile Academy
Agile And Lean Practices - The Mobile Academy
 
Retrospective and different ways to run it
Retrospective and different ways to run itRetrospective and different ways to run it
Retrospective and different ways to run it
 
Qualtrics Employee Engagement Product Tour: An Inside Look at the Future of E...
Qualtrics Employee Engagement Product Tour: An Inside Look at the Future of E...Qualtrics Employee Engagement Product Tour: An Inside Look at the Future of E...
Qualtrics Employee Engagement Product Tour: An Inside Look at the Future of E...
 
Soni Meckam and Geeta Wilson Presentation
Soni Meckam and Geeta Wilson Presentation  Soni Meckam and Geeta Wilson Presentation
Soni Meckam and Geeta Wilson Presentation
 
Common sense continuous delivery
Common sense continuous deliveryCommon sense continuous delivery
Common sense continuous delivery
 
Scrum under a waterfall
Scrum under a waterfallScrum under a waterfall
Scrum under a waterfall
 
Don't be Left Out: Tips for Working in a Remote Team
Don't be Left Out: Tips for Working in a Remote TeamDon't be Left Out: Tips for Working in a Remote Team
Don't be Left Out: Tips for Working in a Remote Team
 
Cutting Through the Noise: Breaking Down Hierarchical Communication Channels ...
Cutting Through the Noise: Breaking Down Hierarchical Communication Channels ...Cutting Through the Noise: Breaking Down Hierarchical Communication Channels ...
Cutting Through the Noise: Breaking Down Hierarchical Communication Channels ...
 
Lean Start-Up with Drupal, agile and cloud
Lean Start-Up with Drupal, agile and cloudLean Start-Up with Drupal, agile and cloud
Lean Start-Up with Drupal, agile and cloud
 
Deliver More, Stress Less with Kanban
Deliver More, Stress Less with KanbanDeliver More, Stress Less with Kanban
Deliver More, Stress Less with Kanban
 
Why You Should Care About Kanban
Why You Should Care About KanbanWhy You Should Care About Kanban
Why You Should Care About Kanban
 
Prioritise: Kanban Recipe for Success Step 5
Prioritise: Kanban Recipe for Success Step 5Prioritise: Kanban Recipe for Success Step 5
Prioritise: Kanban Recipe for Success Step 5
 
The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...
The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...
The Design Fortress: Boosting Design Productivity and Creativity in an Agile ...
 
What not to do when adopting Agile
What not to do when adopting AgileWhat not to do when adopting Agile
What not to do when adopting Agile
 
Launch a New Product that Doesn't Hurt Your Existing Brand by Andrew Homeyer ...
Launch a New Product that Doesn't Hurt Your Existing Brand by Andrew Homeyer ...Launch a New Product that Doesn't Hurt Your Existing Brand by Andrew Homeyer ...
Launch a New Product that Doesn't Hurt Your Existing Brand by Andrew Homeyer ...
 
Get the Most Out of Assessment Software with One Click!
Get the Most Out of Assessment Software with One Click!Get the Most Out of Assessment Software with One Click!
Get the Most Out of Assessment Software with One Click!
 
Keeping your IT projects on track
Keeping your IT projects on trackKeeping your IT projects on track
Keeping your IT projects on track
 
The Agile Primer: Agile Best Practices, Tips and Methods
The Agile Primer: Agile Best Practices, Tips and MethodsThe Agile Primer: Agile Best Practices, Tips and Methods
The Agile Primer: Agile Best Practices, Tips and Methods
 

Viewers also liked

Verkostoituminen
VerkostoituminenVerkostoituminen
Verkostoituminen
Eetu Kirsi
 
Clasificion de los lenguajes
Clasificion de los lenguajesClasificion de los lenguajes
Clasificion de los lenguajes
Phoenix Dark
 
Trance'former présentation eng
Trance'former présentation engTrance'former présentation eng
Trance'former présentation eng
gms project
 
The Math That Matters
The Math That MattersThe Math That Matters
The Math That Matters
SocialFlow
 

Viewers also liked (16)

Verkostoituminen
VerkostoituminenVerkostoituminen
Verkostoituminen
 
Untitled
UntitledUntitled
Untitled
 
Clasificion de los lenguajes
Clasificion de los lenguajesClasificion de los lenguajes
Clasificion de los lenguajes
 
It's All About Me by Penny Herscher at Defrag Conference 2014
It's All About Me by Penny Herscher at Defrag Conference 2014It's All About Me by Penny Herscher at Defrag Conference 2014
It's All About Me by Penny Herscher at Defrag Conference 2014
 
Setmore zendesk integration - quick walkthrough
Setmore zendesk integration - quick walkthroughSetmore zendesk integration - quick walkthrough
Setmore zendesk integration - quick walkthrough
 
Inception Product Feature Webinar: Workflow, Versioning & Restore
Inception Product Feature Webinar: Workflow, Versioning & RestoreInception Product Feature Webinar: Workflow, Versioning & Restore
Inception Product Feature Webinar: Workflow, Versioning & Restore
 
Rmt ganti
Rmt gantiRmt ganti
Rmt ganti
 
Trance'former présentation eng
Trance'former présentation engTrance'former présentation eng
Trance'former présentation eng
 
OnSync Manual Account Holders and Moderators
OnSync Manual Account Holders and ModeratorsOnSync Manual Account Holders and Moderators
OnSync Manual Account Holders and Moderators
 
Digital economy with the speed of s4 hana
Digital economy with the speed of s4 hanaDigital economy with the speed of s4 hana
Digital economy with the speed of s4 hana
 
Introducing Peppercan. Business at your fingertips in real-time.
Introducing Peppercan. Business at your fingertips in real-time.Introducing Peppercan. Business at your fingertips in real-time.
Introducing Peppercan. Business at your fingertips in real-time.
 
Good mobile design of financial industry websites
Good mobile design of financial industry websitesGood mobile design of financial industry websites
Good mobile design of financial industry websites
 
Enterprise Risk Management
Enterprise Risk ManagementEnterprise Risk Management
Enterprise Risk Management
 
SFPUC and DataSplice Mobile for Maximo
SFPUC and DataSplice Mobile for MaximoSFPUC and DataSplice Mobile for Maximo
SFPUC and DataSplice Mobile for Maximo
 
E commerce(1)
E commerce(1)E commerce(1)
E commerce(1)
 
The Math That Matters
The Math That MattersThe Math That Matters
The Math That Matters
 

Similar to Ship It!

Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
Igor Moochnick
 

Similar to Ship It! (20)

Get Faster - While You're Getting Better
Get Faster - While You're Getting BetterGet Faster - While You're Getting Better
Get Faster - While You're Getting Better
 
2015 Balanced Teams: Product Management, Engineering, UX Design
2015 Balanced Teams: Product Management, Engineering, UX Design2015 Balanced Teams: Product Management, Engineering, UX Design
2015 Balanced Teams: Product Management, Engineering, UX Design
 
Continuous Delivery (The newest)
Continuous Delivery (The newest)Continuous Delivery (The newest)
Continuous Delivery (The newest)
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014
 
Making Support Fun & Profitable: DrupalCon Portland
Making Support Fun & Profitable: DrupalCon Portland Making Support Fun & Profitable: DrupalCon Portland
Making Support Fun & Profitable: DrupalCon Portland
 
DrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitableDrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & Profitable
 
Tips n' Tricks - Sprint Review
Tips n' Tricks - Sprint ReviewTips n' Tricks - Sprint Review
Tips n' Tricks - Sprint Review
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users Anonymous
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)
 
An Introduction to XP and Agile
An Introduction to XP and AgileAn Introduction to XP and Agile
An Introduction to XP and Agile
 
Leveraging on scalable technology to expand regionally
Leveraging on scalable technology to expand regionallyLeveraging on scalable technology to expand regionally
Leveraging on scalable technology to expand regionally
 
Agile Practices
Agile PracticesAgile Practices
Agile Practices
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Don't go Agile unless you know why
Don't go Agile unless you know whyDon't go Agile unless you know why
Don't go Agile unless you know why
 
Lessons Learned The Hard Way - Scrum Gathering 2016
Lessons Learned The Hard Way - Scrum Gathering 2016Lessons Learned The Hard Way - Scrum Gathering 2016
Lessons Learned The Hard Way - Scrum Gathering 2016
 
Agile adoption tales from the coalface
Agile adoption   tales  from the coalfaceAgile adoption   tales  from the coalface
Agile adoption tales from the coalface
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Designing your kanban board to map your process
Designing your kanban board to map your processDesigning your kanban board to map your process
Designing your kanban board to map your process
 
Open Source Software Development Practices that Works
Open Source Software Development Practices that WorksOpen Source Software Development Practices that Works
Open Source Software Development Practices that Works
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

More from Ted Husted

Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011
Ted Husted
 
Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010
Ted Husted
 
Drupal kickstart-workshop
Drupal kickstart-workshopDrupal kickstart-workshop
Drupal kickstart-workshop
Ted Husted
 

More from Ted Husted (19)

.NET @ apache.org
 .NET @ apache.org .NET @ apache.org
.NET @ apache.org
 
The secret life_of_open_source
The secret life_of_open_sourceThe secret life_of_open_source
The secret life_of_open_source
 
Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011
 
NU FaceBook 101 JCC 2010
NU  FaceBook 101 JCC 2010NU  FaceBook 101 JCC 2010
NU FaceBook 101 JCC 2010
 
Developing java Web Applications Using Google Apps RJUG 2011
Developing java Web Applications Using Google Apps RJUG 2011Developing java Web Applications Using Google Apps RJUG 2011
Developing java Web Applications Using Google Apps RJUG 2011
 
Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010
 
Drupal kickstart-workshop
Drupal kickstart-workshopDrupal kickstart-workshop
Drupal kickstart-workshop
 
Open source-secret-sauce-rit-2010
Open source-secret-sauce-rit-2010Open source-secret-sauce-rit-2010
Open source-secret-sauce-rit-2010
 
Agile Analysis with Use Cases: Balancing Utility with Simplicity
Agile Analysis with Use Cases: Balancing Utility with SimplicityAgile Analysis with Use Cases: Balancing Utility with Simplicity
Agile Analysis with Use Cases: Balancing Utility with Simplicity
 
Testing Web Application Security
Testing Web Application SecurityTesting Web Application Security
Testing Web Application Security
 
API Doc Smackdown
API Doc SmackdownAPI Doc Smackdown
API Doc Smackdown
 
Testing The Testers
Testing The TestersTesting The Testers
Testing The Testers
 
Testing Ajax Applications
Testing Ajax ApplicationsTesting Ajax Applications
Testing Ajax Applications
 
Testing Ajax Web Applications
Testing Ajax Web ApplicationsTesting Ajax Web Applications
Testing Ajax Web Applications
 
Testing Tools
Testing ToolsTesting Tools
Testing Tools
 
Coding Ajax
Coding AjaxCoding Ajax
Coding Ajax
 
Coding Ajax
Coding AjaxCoding Ajax
Coding Ajax
 
Retrofitting
RetrofittingRetrofitting
Retrofitting
 
Open Source Secret Sauce
Open Source Secret SauceOpen Source Secret Sauce
Open Source Secret Sauce
 

Recently uploaded

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Recently uploaded (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stage
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptx
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 

Ship It!

Editor's Notes

  1. What’s the simplest thing that can possibly work? To build on feedback from early adopters, we want to start with the essential set of tasks needed to form a complete system. The Minimum Viable Product feature set is designed make necessary tasks easy and other tasks possible. The MVP is enough to increase your productivity in new ways, but, by design, it does not include any bells or whistles.
  2. The simplest example of a Minimum Viable Product might be the four core database operations: Create, Retrieve, Update, Delete -- or CRUD. Taken together, these four operations create a complete lifecycle. We can store a new record and bring it up again later. If state changes, we can revise the record, or remove the record altogether. If we take any one of these four operations away, the lifecycle is broken, and, like a dinner table with a missing leg, the system wobbles and falls. A competitive database solution will sport a cornucopia of other operations, but without these four, the table won’t stand.
  3. To be sure the MVP has a balanced foundation, we ”trust, but verify.” A pithy headline and a bubbly press release is a great way to layout the panoramic vision of a solution -- but a narrative is hard to test. To verify the solution, we need a concise, concrete punchlist of what it is suppose to do, and not do. Back in the day, we verified a system against a thick forest of “the system shall” statements. Then, on many agile projects, the “shall” requirements morphed into user stories, like “As an administrator, you need this so you can do that for some benefit”, or “Given a state, when some input happens, then some output happens.” Nowadays, for Nimble AMS, we just use simple, affirmative statements, or business rules, that are easy to code and test, like: “Order entry pages can be filtered by entity.” The business rules are the foundation of everything else that we specify in the solution. If we first validate that the customer will be happy with the business rules, and the features implement the rules, and the tests verify the rules -- then the solution meets the definition of done.
  4. Information at your fingertips. The press release helps us get our arms around a solution, but when people are using the product in the wild, we need to chunk the day-to-day documentation so that it matches the user experience. Online help lets you learn as you go. You can learn what you need to know when you need to know it. By writing help topics up front, we can flesh out the workflow details from the user’s perspective, and then deliver the topics to the online help site when the solution ships.
  5. Agility is in the details. To help folks customize Nimble AMS, we publish a number of developer overviews that outline the design of the various modules. The design outline includes the objects, pages, and classes used by the modules, the underlying logic, and the relationships between components. Just as we write the help topics first, we now use the same format for our design document that we use for the developer overviews. Once the solution is code complete, we break out the new developer overview as a separate document, living with the other overviews.
  6. Fail fast, fail often, fail safe. Test first development is a popular coding technique. Here, a developer writes the automated unit tests first, and then writes the code needed to pass the tests. The thinking is that, since we will need the tests anyway, why not write the tests first, to be sure the code is always fully tested. By marching through the business rules, we can draw up a full suite of user acceptance tests before the code is written. When we think through the tests, we have to work out a number of low-level details that must be decided before code can be finalized. If these details are not available, coders often have to stop, and hunt down the decision maker for clarification. (Or, just make something up.) So, since the code needs to be tested anyway … “dot-dot-dot”
  7. We don’t believe in cutting corners just to save a few steps. We do believe in starting with the simplest thing that can possibly work, and letting it grow into the solution that best meets your needs. We also believe in creating earlier, the resources that we will need later, so that they can help us along the way.
  8. While we create the working code, we use several techniques to help us focus on prioritization, communication, and coordination.
  9. Plan the work, work the plan. The technical solution breaks down the feature set into tasks that can be completed in a day or two. We follow the progress of each task on an agile board. We use a fancy software-generated board, but a lot of folks still use notecards or Post-its with good result. The board helps us stay proactive by mapping out the key stops on our agile train -- all aboard!
  10. United we stand, divided we code. At any one time, we have several different people working on a range of features and fixes. To keep us from stepping on each other, we create our own complete copies of the product -- usually one copy per feature or fix. Using a software version control tool called Git, we can merge the individual copies back into a shared copy, or “branch”. The next set of features branches are then created from the updated shared copy. The shared copy that we use for work that is ready to release is called the “develop” branch, or the “head”. For the Salesforce work, we use the metadata migration tool to push the latest version of the product from a feature branch into a trial org or sandbox org, or from the develop branch into our packaging org. To close the loop, we use an IDE tool, like Eclipse or Mavens Mate, to synchronize the changes we make, and then use Git to push the changes back to the feature branch.
  11. A great restaurant not only prepares a fine meal, it plates the dish. Before we serve up new code, we pass the plate to our readiness squad, who add the finishing garnish.
  12. Done and Done. In an environment that includes all the newly written code and code changes, a second person on the readiness squad runs all the automated tests, and walks through all the acceptance tests. One. More. Time. During readiness testing, we try to both verify and validate our work product. We ask not only “Did we build the thing right?” -- with all the working bits in front of us, we also ask: “Did we build the right thing?”. Software that “operates as designed” is only as correct as the design itself.
  13. It’s suppose to be automatic, but you still have to press the button. As much as we would like Nimble AMS to “just work”, we know that sometimes people need help getting started with a new process. Our help.nimbleams.com site sprung from the training materials that we use when a customer first goes live. It’s a good start, but we need to grow it into a reference that you can use a on day-to-day basis. As part of the readiness review, we step back and make sure that existing content is up to date, and that we are adding any new topics needed to cover new ground. We maintain the help site using the same branching techniques we use with Apex and .NET code, so we can roll it out altogether at the appointed hour.
  14. Change is the only constant. Like Salesforce, we deliver major new features three times a year, and continually update the product to address other issues as they arise. When a fix becomes available, we generally push it to the customers who reported the problem first, and then to the rest of the customers the following Wednesday, at 9 PM eastern. We log all the changes, major and minor, on our Delivered! page, which is updated any time we deploy a new version.
  15. Look before you leap. Coming up to a seasonal release, we upgrade the customer staging sandboxes with new version, and run a suite of regressions tests, to verify that all is well and good. We also publish the preview help site, with our release notes, so that everyone can see what’s coming. The customer preview is actually the last stop on a series of previews that we create during the development process. As we reach milestones, our internal testing orgs are updated to the latest preview, so our folks can jump in and kick the tires. Sometimes, a new customer, who is going live after the next release, may be on the preview channel, so that they can make best use of the newest features, when they first go live. When the seasonal release rolls out, we update all the active orgs, so everyone is on the same version again. That’s progress for ya!
  16. Release readiness is a continuous, proactive process. As each sprint closes, internally, we not only deliver an increment of the software. We deliver an increment of everything that goes into a release. When the seasonal release train leaves the station, we already have everyone on board, with tickets punched and heads counted.
  17. Our release is only successful, if you are successful. To help us help you, we gather together key resources in the Nimble AMS release center. During the customer preview, the release center offers quick access to the updated documentation and release schedule. The rest of the year, you can return to the release center for quick links to Help, Support, and, of course, NimbleLand.
  18. NimbleLand is our virtual water cooler, where we can hobnob and smooze, and work together to make Nimble AMS the best that it can be. If you can’t find what you need anywhere else, just click your ruby slippers, login to NimbleLand, and ask!
  19. Of course, all that’s well and good, if you’re delivering a mammoth product like Nimble AMS. But how can you apply the practices we use to smaller projects?
  20. First, think about how often you want to release. Do you want to ship according to a set schedule or as needed? If you already have a backlog, the rigor of a release train can help you steadily reduce the stack. Of course, the nature of backlogs is that they tend to increase, but with a release train, at least you can see regular progress. If you don’t have a lot of outstanding work, then releasing as quickly as you can may help keep it that way. If you need to do both, as we do, then be sure to organize your work so that the long term work-in-progress doesn’t mix-in with shorter term work. Ship no line before its time.
  21. Human language is imprecise, which can lead to misunderstandings over what is being delivered in a release. As you plan what to deliver, assign a unique identifier to each work item, so that you have an unambiguous way to refer to exactly that item. Be sure to refer to the identifier in whatever checklists or plans you use to manage a release. Then there will be no question as what’s in and what’s not. Say what you mean. Mean what you say.
  22. The best deliverable is a SMART deliverable. For each work item, be sure to describe it in terms that are specific, measurable, achievable, realistic, and time-scaled. Specify exactly what is going to be done, and how you will measure success. Indicate how you know the result is achievable, and whether it’s realistic for you to deliver the work item with available resources. Then, time-scale the deliverable by deciding where it fits into your release cadence. There’s a SMART way to manage goals and objectives.
  23. Be sure you understand who will create the work item, test it, roll it out, and help people use it afterwards. Coordinate, orchestrate, integrate.
  24. For some deliverables, you will want to do the work in a sandbox, and then change set the components to production. Other times, you might want to create the work item directly in production. Either way, be sure to coordinate the work with anyone else who might be working in the org, so that you don’t overwrite each other’s changes. Location. Location. Location.
  25. The core best practices for release engineering apply to any size project. To be successful, you need to be SMART, and pay attention to the five Ws. The rest will follow.
  26. Creating an effective, agile release process is not something you can put together on a rainy afternoon,. But if you start with the simplest thing that can possibly work, you can refine the process release after release, until you have a routine that fits like a glove. Any questions?