Typical Development cycle

Steps to develop, test and release to production

Overview

Every organization might utilize different strategy to develop and deploy software to production. Dynamics Mobile apps and the ecosystem around them allows the organizations to transparently embed the Dynamics Mobile apps deployment procedure into their processes by using the Dynamics Mobile SDK command line tools as well as additional NPM modules to further augment the process.

Environment Types

Dynamics Mobile apps come with a set of node scripts defined in its package.json file. Of course the developers can further tweak the standard scripts or add new ones.

Most software development/implementation business projects suggests that there are several environments with different type of use.

  • Development environment ( a.k.a. DEV) used during the development phases by the developers, considered as environment where the software is non-stable

  • User Acceptance Testing environment ( a.k.a. UAT) used during formal testing of the software by the end users, considered as semi-stable to stable

  • Production environment ( a.k.a. PROD ) used by the end users to work with the production system, considered as stable.

In Dynamics Mobile, each environment can be represented by a separate application area - e.g. one application area for Development , one application area for User Acceptance Testing, and one application area for Production.

Some organizations may decide to use a single application area for DEV and User Acceptance Testing. This is possible because , each developer uses it's own sandbox during development - e.g. all the data and changes are only visible from the user who is making the changes and run the app in debug mode ( e.g. hitting the F5/Ctrl+F5 or executing the npm run build npm script.

Once the developer decides that the code is stable, the developer can publish the code by using npm run publish to make the changes available to everyone in the application area and hence making it available for User Acceptance Testing.

Typical Development cycle

While the types and number of the environments and the project governing process may be different, we will try to outline the steps that the developer might use to deploy the app to the upper mentioned generalized environments.

Using single "source version control" branch

  1. Execute dms login command to login to DEV application area

  2. Checkout branch

  3. Work on the task/functionality

  4. Iterate between development and debugging by hitting F5/Ctrl+F5 or executing npm run build

  5. Execute unit tests with success

  6. Perform final local testing of the functionality

  7. Commit changes

  8. Execute dms login command to login to UAT application area

  9. Execute npm run publish to deploy the app in the UAT environment

  10. Wait for confirmation that the version is stable and the UAT tests completed with success

  11. Execute dms login command to login to PROD application area

  12. Execute npm run publish to deploy the app in the production environment