Development Process for App Development

Development Process for App Development

1. Get organized

  • Identify the business problem you’re trying to solve
  • Identify the kinds of data that are needed to solve the problem
  • Identify the end-user(s) and their particular needs

2. Develop scope for Minimum Viable Product (MVP)

  • Create list of features that the user will interact with
  • Separate features into “must have” and “like to have”
  • Validate scope with end users to confirm
  • Final product from this phase should be a list of prioritized features

3. Architecture

  • Define and stress test the planned architecture for the product
  • What kinds of apps are needed (Frontend, backend, scheduled vs stream vs task, etc)
  • Define how data flows through the software, between apps via APIs etc.
  • Make sure architecture scales for multiple simultaneous users if within the design parameters
  • Final product from this phase should be a diagram that clearly shows the app architecture, components, and data sources.

4. Design (FE apps only)

  • Layout and configure user interface - focus on user experience and how a user interacts with the software to achieve their business goals
  • Choose styling components to improve look and feel
  • Validate FE design with end-users to confirm assumptions
  • Final product from this phase should be a front-end mockup that clearly demonstrates the final feature set and functionality

5. Build

  • Schedule key milestones to validate progress with end-users
  • Aim to deliver finite increments of progress, ie, complete features.
  • Test the architecture continuously to ensure that it continues to support the app’s purpose
  • Build and deploy apps frequently to simplify debugging
  • Use known test data to validate computations

6. Final Testing

  • Realize that working with live data is different than developing with sample data
  • Anticipate more debugging when attaching apps to live wells
  • Get user feedback as you stabilize the app to refine features and functionality

7. Production Deployment

  • Make sure to document use and deployment of the app for end users

8. Maintenance

  • Update your app from time to time to take advantage of new features in the Dev Center platform
  • Look for notifications from Corva relating to depreciated functionality and make sure your app continues to properly function in the Corva environment