Yellowfin Evaluation Guide

Yellowfin is used for both enterprise analytics and embedded analytics use cases and for building bespoke analytical applications. Use this guide to ensure Yellowfin is the right technical fit for your requirements.

Best Practice App Development

  • Best Practice App Development

    Updated 15 June 2020

    What is an analytical applications development life-cycle?

    When building analytical applications there are a number of stages that need to be completed to ensure the successful development and deployment of your analytical app.

    Analytical App Development
    Prototype
    Leverage your domain expertise to develop rapid prototypes that you can show your customers and validate the market opportunity. The purpose of this phase is to ensure that your analytical application will solve a real world gap that is not filled by existing solutions.

    Design
    Based on customer feedback complete finished design. This will include identifying data sources, defining target data structures, finished dashboards and required workflows. If your application is going to be hosted and offered as a multi-tenant solution then you should plan for your data security and separation needs as well. This may require a mix of skills from data engineers, data scientists, data analysts and UX experts to complete the finished design.

    Critical to the design phase is planning for the data flow when workflows and actions are incorporated. Depending on how your data is stored and updated you will need to plan for managing transactions and showing updated data in both your dashboards and target applications.

    Develop
    Develop and test your application using your preferred development methodologies, whether this be agile or waterfall. Typically the first phase involves getting the data right and your analytic content built. You want to ensure that you can build the framework components for the app without necessarily incorporating workflows and actions.

    Typically you should prepare your data and get it into a structure that supports your intended analysis and workflows. Your data is foundational once it’s done. Then move onto building your dashboards – leaving place holders for actions.

    Extend
    Once you have designed and built the data components for your apps it’s time to extend it if necessary to incorporate action based workflows, single sign-on and authentication.
    Build custom forms and integrations into your 3rd party applications using code mode < Code mode>

    Deploy
    Staging and deployment is an essential part of the Analytical App life cycle, and having proper governance and control in place allows developers to release new versions of their app rapidly. You can choose to deploy your applications on-premise or in the cloud as a managed service.

    Depending on the nature of your app, individual customer customizations may be required. Ensure your deployment team has the capability to customise data integration and action based workflows.

    Manage
    Post production support especially if you are providing your application as a hosted service is critical. Plan for rolling out your application to your customers, providing training and end user support. If hosting, monitor your apps performance <Monitor> to ensure service levels are met.

    Engage
    Having built and deployed an app you may wish to extend your services to provide consultative analysis to your customers. You can analyse their data on their behalf then deliver insights as a service via Yellowfin Stories or Presentations. This helps you to engage more deeply with your customers and to deliver great value on a continuous basis

    What skills do I need in my team to build an app?
    The skills required to build an application vary based on the complexity of the application being built. However, planning your team based on the core functions required can help you to ensure you have the right people on your team.

    • Domain Experts – people that understand the business problems you are trying to solve.
    • Data Engineers – people that can extract, transform and prepare data for analysis
    • Designers – people that can design a compelling analytical user experience, from dashboards to workflows
    • Data Analysts – people who can build the analytical content you need
    • Developers – people who can extend Yellowfin using standard industry languages such as JavaScript, HTML, CSS and Java
    • IT/Dev-Ops – this team is often involved in provisioning the appropriate infrastructure, installing and configuring Yellowfin, and performing routine administrative tasks

    How do I maintain version control of my content for my analytic app?

    Yellowfin enables you to manage content migration from your development to production environments. In this way you can manage version control for your deployed applications.

    Can I re-use my custom components for other apps?

    Yes, it is easy to share both standard components such as charts and dashboards across applications as well as any custom components that you create.

    For basic components like charts and dashboards simply use the Yellowfin import / export options to migrate those components from one application to another.

    For custom components if they are new Yellowfin plug-ins they can be simply loaded into any new instance of Yellowfin, or if they are code extensions you can simply copy the code and paste it into your target app through the code mode interface.

    How can I work with my team members on the same app?

    Typically team members work on different areas of the application at any one time. For example your data analysts building dashboards can work simultaneously with developers working on workflows and integrations. In the case where you want team members working on the same content at the same time this can be done too.