Planning for App Integration

This article gives an overview of a typical integration planning for third party app integration, and what it requires





1 - Preamble

Application integration is a development activity which, as such, should go through a typical Software Development Life-Cycle from specification to implementation.

From our experience, we advise following an iterative approach as it is beneficial both on quality and overall integration cost.

A typical build sequence is:

  1. First Iteration: Build SSO, Single billing and map core data Entities
    Core data entities are the ones essential to your business like the Contacts for CRM application or the Accounts for an accounting package 
     
  2. Second and subsequent Iterations: Add additional entities to the integration
    Once the first iteration is developed and stable you can then add more data types to broaden the scope of the data you will share with other apps

2 - App integration overview

2.1 - Standard plan

Each iteration can follow this typical plan structure. Our recommendation is to keep it simple and pragmatic, as App integration is a fairly straightforward process. You can of course use any methodology you are familiar with, our objective here is more to focus on activities which needs to be performed.

Just keep in mind that at some point, coordination will be required with our QA and Marketing teams to validate the integration and launch marketing campaign. A schedule will be defined jointly with Maestrano.

2.1.1 - Plan

ObjectiveThe plan phase objective is to design the broad scope of integration, align teams (yours and ours), share your tentative planning and align resources
Activities
  • Contact Maestrano Marketing team to notify us you wish to integrate with our Marketplaces, tell us what you want to share and ask for guidance!
  • Design the broad scope of integration, and what you expect from it, eg. do you want to share your data with other apps, enable advanced reporting on your solution, or both.
  • Build a tentative project plan highlighting development and testing phases, so that we can plan time accordingly on our side.
Inputs
Outputs
  • Your key business objectives and timelines
  • Broad scope of integration
  • Tentative project plan
Responsibilities
  • It is your responsibility to contact Maestrano in order to inform us that you intend to integrate with us. We will then work together on the project plan to make sure resources are properly allocated

2.1.2 - Design

ObjectiveThe design phase objective is to refine the scope and establish the details of what is going to be integrated in Maestrano
Activities
  • Understand Connec!™ data-model and decide which entities are going to be integrated
  • Read the UKB articles of other apps of the same nature to understand what can be done and what are the potential limitations.
  • Document what is going to be integrated and the acceptance criteria, eg.
    • Entities are replicated in Connec!™ and each field is properly mapped
    • Relevant entities are being replicated in other applications and each field is properly mapped
    • Impac!™ widget display the correct data
    • etc...
Inputs
  • Connec!™ documentation, app integration documentation, UKB
  • Outputs from plan phase
Outputs
  • Detailed scope of integration
  • Acceptance criteria
  • Refined project plan
Responsibilities
  • You define the scope of your integration and document it
  • Maestrano team answers any question you might have on integration, guide you on how to maximise the value of your integration and confirms that your integration is achievable

2.1.3 - Build

ObjectiveThe build phase objective is to actually build the integration
Activities
  • Code the integration by itself
  • Test the integration on your side (Single Sign-On, Data sharing, Reports). Single Billing will be tested with Maestrano during the Test phase
  • Fill the marketing material on the dev platform (App description, logo, categories etc...)
Inputs
  • Outputs from design phase
  • Connec! API documentation
Outputs
  • App integration code
  • Confirmation that Acceptance criteria are met
  • Marketing material filled in
Responsibilities
  • You are responsible to code the integration and to test it on your side
  • Maestrano team supports you during this process, answering any question you might have and providing technical guidance
  • Maestrano will also test the integration before validating the app during the Test phase

2.1.4 - Test

ObjectiveThe test phase objective is to validate the integration and to publish it on our Marketplaces
Activities
  • Maestrano Test the app integration (Single Sign-On, Single Billing, Data sharing, Reports) and checks that the marketing material is present
  • Bug fixing
  • Publish online !
Inputs
  • Outputs from design phase
  • Acceptance criteria
Outputs
  • Confirmation that Acceptance criteria are met
  • App published
Responsibilities
  • You are responsible to fix the bugs found during the test phase
  • Maestrano provides a QA team to verify that acceptance criteria are met

2.1.5 - Support

ObjectiveThe support phase objective is to keep the app working and customers happy
Activities
  • Re test the integration on a regular basis
  • Support customers with their issues and queries
Inputs
  • Acceptance criteria
  • Support requests
Outputs
  • Confirmation that Acceptance criteria are still met
  • Answers to support queries
Responsibilities
  • Maestrano is the Level 1 point of contact for all queries related to integration issues and questions on our Markteplace
  • If needed we will contact you for technical enquiries and you will provide answers and bug fixes as needed
  • Maestrano will retest on a regular basis that acceptance criteria are still met, but we encourage you to do the same on your side

2.2 - Standard team & prerequisites

Team

Maestrano have a comprehensive team to help you building a successful integration:

  • Marketing support to help you plan you release and prepare the marketing material you will need
  • Business analyst to help you with the design phase
  • Solution Engineers to answer to your technical queries and guide you in the integration process
  • Support Level 1 to answer user queries on our Marketplace (please note that enterprise clients may have their own support teams for their Marketplace)

Integrating with Maestrano and Connec! is a straightforward process so the typical team involved from our app partner is usually quite limited:

  • Someone in charge of liaising with our marketing team and business analyst (typically the CTO of your company) for the initial Plan and Design phases, and then to follow-up on integration progress
  • A tech lead, usually in charge of programming the integration 
  • Ideally a QA lead on your side if have one, separated from the engineering team

Prerequisites

As soon as you have a development team in place, or a software development contractor working with you, you should already be setup to integrate with our Marketplaces.

Our SDKs fit most of the typical development environments with Java, PHP, .Net, and of course Ruby versions available. If you are working with a different technology, you can still build a SDK free integration, as explained here: SDK free integration

2.3 - Good practices

  • Get in touch with Maestrano's team (applications@maestrano.com) before starting developments, so that we can coordinate activities for the testing and deployment phase
  • Ask yourself what you expect from the integration to better focus efforts
  • Do your integration in phases, start with an MVP followed by the complete integration, especially if you intend to integrate a lot of different entities
  • Don't hesitate to reach out if you need help!

3- Typical timelines

3.1 - Iteration #1

Considering a first iteration for building a MVP, composed of SSO, single billing and a simple entity (contacts for example) a typical timeline would be:

PhaseDuration (calendar)Comment
Plan1 weekNot a lot of things to do for this phase which is more focused on establishing communication between teams

Design

0.5 dayTypically with the help of a business analyst
Build1 weekFor a full time developer with a minimum prior knowledge of SSO and APIs topics
Test1 weekConsidering you will test developments on your side, and our QA team will confirm


In total, 3 to 4 weeks is a reasonable duration for building a first integration, considering the team is dedicated to that, and that the use cases implemented are standard.

3.2 - Iteration #2

A complete integration will very much depend on the number of entities you want to integrate.

  • Initial phases of plan and design will be shorter, or will even be skipped if you planned and design the complete integration during the MVP.
  • Build and test phases will be more efficient as you already know the technology from iteration #1
  • Depending on how much data is to be integrated, and of course the resources you will commit on your side, a comprehensive build phase could last between 10 days and 3 weeks