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