Accepted answer

The optimal order will vary depending on priorities and how stable requirements are.

Usually during development, the understanding of the problem improves and the requirements change. This can happen particularly for the user interface. The first usability tests can lead to changes in the application's design and behavior.

A construction order that takes this into account would be:

  1. Create an initial version of the website. Depending on the project this would include a short description of the project, a way to collect emails, and authentication features such as user registration and login.
  2. Create the mobile application, mocking the service layer in the mobile application itself (i.e. using mock service proxy objects). The objective is to discover and stabilize user interface requirements. This process will clarify which services are needed, which operations these services must perform, and exactly which data these operations must receive and provide.
  3. Implement the web service, based on the already stabilized requirements.
  4. Complete the web site, including description of the application's features and benefits, and showing the application's content (e.g. screenshots, videos).

This order assumes the application's features are the main benefit of the project. If, on the other hand, the main value and complexity resides in the web service, and the application is just a thin, optional front-end over it, then it might be more appropriate to develop the web services first and then the application.

Related Query

More Query from same tag