Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Customer and partner co-development

Describes the process for implementing a customer co-development model with Commerce (SaaS).

Optimizely Commerce (SaaS) and its related products have traditionally been implemented by our experienced and certified solution implementation partners.  Commerce (SaaS) differs from other Configured solutions in that it is natively deep and rich with features and functionality, while remaining fully extensible and integrates smoothly with other external systems (ERPs, Tax services, Payment Gateways, etc.)  It is not a toolkit, but a platform that is highly configurable and requires an in-depth knowledge of our Administration Console & Service API layer to execute many business and/or technical requirements.  We like to say that “the platform is the solution” to our customers’ most complex Configured business problems.

Our experienced solution implementation partners are integral to overall success in delivering an excellent customer experience leading to positive outcomes once the solution is delivered.  They have developed services that help assure 'best practices' are leveraged with high fidelity to achieve the customers’ business and technical requirements from the initial sale. In addition, these services extend into the stability, security, supportability and operational excellence in the Optimizely SaaS environment.

Beyond the initial implementation activities, we are hearing from our customers that they would like to be involved in supporting and adding capability to the solution with their own development resources. Optimizely and our partners wish to work with our customers who desire to make this commitment, but in a systematic manner that does not put the solution at risk.

If a co-development model with your implementation partner is desired, please reach out to your Optimizely Customer Success Manager and Partner to initiate these discussions. With additional partner quality management oversight, extra governance, and mentoring of customer resources, the co-development model will have a customer financial impact.

Customer co-development model definition 

As noted, the operational stability, security, and availability of the customers solution in production is the single most significant consideration within this co-development model definition.  Also, this definition is void of any commercial considerations between the customer and partner to execute this co-development model.  Optimizely is simply defining the operational excellence required, and based on our implementation experience for our platform, requires this model to be followed.  It is up to the customer and partner to complete the appropriate commercials to execute this plan.

Customer preparation steps 

This section is focused on Front-End and Back-End Developers.

📘

Note

All training will require a Optimizely WORLD login. If you do not have, please contact your Optimizely Customer Success Manager to obtain a login. In addition, your partner can provide you a Front-End/Back-End Job Description to help you align the best customer resource to aid in the co-development model.

  • Mandatory Optimizely Commerce (SaaS) Development Training / *Certification

    1. Front-End Developer Training
      a. Commerce (SaaS)Administrator (~12 hours of effort to complete this course, depending on experience).
      b. Purchase the Admin course
    2. Back-End Developer Training
      a. See above – Admin course plus…
      b. Commerce (SaaS) Developer (~2-3 days of effort to complete this course depending on experience)
  • Purchase the Developer course

    *Certification:  We believe the best success factor to passing the certification exam is project experience.  So, it is up to the customer if they would like to move to certification right away or wait for a period to gain the Commerce (SaaS) platform experience. Certification is not a requirement to begin the co-development model with your partner.

  • If the customer purchased Commerce (SaaS) PIM or Analytics, then additional Optimizely Commerce (SaaS) product training (PIM or Analytics) will be needed.

    1. Commerce (SaaS) PIM Administrator
      a. Purchase the PIM Admin course
    2. Commerce (SaaS) Analytics
      a. Contact your Customer Success Manager to purchase and to gain access in Optimizely Academy.

Customer co-development model

Once training is completed, your developer will be ready to engage with your partner to start their Optimizely Commerce (SaaS) platform development journey. It is important to understand that Optimizely owns the platform, the SaaS infrastructure, and ITSM processes toward high security and availability of your solution in operations.  The partner owns all ‘project’ and ‘managed service agreement’ work to maintain the solution’s capabilities in meeting the customers business requirements.   Given this, it will be the partner who will evaluate the ability of the customer developers to produce code within their standards and excellence for acceptance into the solution code base.  In addition, the customer resource will need to align with their partner on these items (not all encompassing):

  • Source Code (accountabilities – RACI defined) – ****Hybrid or shared Github repo approach*
  • Code Reviews (Partner Owned)
  • Contractual SLA Review and Understanding
  • Delineation of Development responsibilities (Front-End & Back-End)
  • ‘Project’ level Training (extensions, integrations, data, etc.)
  • Change management methodology (code extension and deploy process)
  • Solution-focused mindset: ability to execute collaboratively with team (Partner Governance)
  • Commercial considerations between Partner and Customer must be defined

*One model – Hybrid example: (Customer DEV/QA, Partner QA).  Manages solution risk to the project code from an inexperienced developer.  Hybrid is one model; another is a shared repo model at the partner site.  Whatever the model direction, that direction will be worked out by the partner & customer.

  • Customer resource works out of their local environment for DEV and QA. The partner would package the project code with the platform binaries to aid in the customer creating their own local environment.
  • Once the customer developer has completed development and QA’d their work then they will engage the partner to validate that their works aligns to the partner coding standards and expectations. *Why?  Partner commercially owns the managed service agreement and needs to validate for operational acceptance.
  • Promote Code to Project Github at the partner site for QA review and final acceptance.
  • Partner to provide lessons learnings and feedback on the work initiative.

You should develop resource work on 2-3 project releases before taking the Optimizely Commerce (SaaS) certification. The certification will provide a good gauge of the customer’s development resource capabilities.  In addition, another measure to prove the customer developer competency is their adherence to the partners coding standards and counting the number of issues from testing.

📘

Note

Other than the certification exam, Optimizely will not provide an assessment of the customer development resource effectiveness & competency – this will be performed by the partner.

Conclusion

The customer may have various business reasons to begin co-development work, for example, eventually taking over development and supportability of their Optimizely Commerce (SaaS) solution.  This paper does not address that use case, but this POV is relevant in that this model & work is a prerequisite for any full ownership discussions to take place between the customer and partner.

We are very happy to serve our customers to enrich their market Commerce (SaaS) experience and so thankful to have partners who care deeply to help create customer raving fans of our solution.

Contact your Customer Success Manager if you would like to discuss any of the content related in this POV paper.