Development Environments In PHP Enterprise Applications

System Development Life-Cycle

Before being displayed to the end user an application passes through multiple phases. There is a long road from the client proposal of his idea until the final application. In short, this is the process:

  • The client outlines his idea for the application.
  • A list of application requirements is prepared.
  • The system architect takes this list and transforms it into a system design document detailing how to deliver the required functionality.
  • The development team takes charge to convert this document into a complete information system. From this point on, the code written by the development team passes through the following environment stages: development, staging and production. If new functionality is needed, it will be implemented by the development team.
  • From the development mode, if no issue is found after testing, the application goes out to production, becomes “live” and is delivered to the customers.
  • From now on, the system will require constant maintenance. Maintenance is two sided – new feature implementation and error removal.

Further in this article we will detail the environment stages from the client’s point of view.

Development environment

This is where the system code is implemented. If there are multiple members in a development team, each developer works on his own environment. In this stage, the client can’t see a full implementation of his requirements, because these are divided between the members of the development team. The client will have to wait for the staging environment.

Staging environment

It is used to assemble the code that was written in the development environment by the members of the developer team. After that, the code must be tested and reviewed. If no issue is found, the application can be sent to production. Here is where the client can see his requirements outlined in application functionality (this is called a demo). In this stage, the application can be tested or used for demonstration/training. If the client thinks of improvements for the current application functionality, the code goes back to the development environment. Otherwise, if no issue is found, the code goes into production.

Production environment

This is the “live” environment, where the final application goes out to the world and becomes active. From now on, the application will need maintenance. The application will definitely require updates due to various reasons. Change could happen because of unexpected behavior of the system, or new client requirements. Each new change that will be made to the application, must step through the environment stages, development and staging, before it goes out into production.

From the developer’s point of view, the PHP environments are described here:
http://www.dotkernel.com/php-development/php-environment-development-staging-production/