Let’s consider the development process itself. How does a team work on your project? First, the development server is deployed. Then, each task is elaborated, moving from the process to the process in the established order.
Development server deployment
The work starts with the deployment of a Development (Dev) server. That’s where the project is initially developed. It’s the exact copy of the final Production Server except for two details. First, its capacity is nominal. It’s enough for development, testing, and debugging purposes and the price is considerably lower. Second, you can test the integrated services (for email marketing, SMS notifications, image optimization, etc.). For example, the payment systems are deployed in so-called sandboxes so that you can test payments without making any real transactions. The project on the dev server is closed from indexing.
Completion of a task
How is each task completed? What processes and in what order are included in the workflow for a task? Suppose, it’s building the authorization with Google, Facebook, and email for end users.
- 1.The development of REST API (RAML) documentation
- 2.Checklists creation
- 3.Making a responsive HTML/CSS layout
- 4.Frontend development
- 5.Backend development
- 6. Testing the task
- Self-test
- QA
- PM’s review and approval
- Performance testing
- 7.Integration smoke test (if needed)
- 8.Regression testing (if needed)
- 9.Demonstration to the client (client review)
Not every task requires all of these steps. For example, an Integration smoke test is not necessary for smaller tasks on the Dev server. It’s conducted only after deploying the units that are integrated with other units, or when a series of interrelated small updates are deployed in one day. Regression testing takes place after deploying a series of tasks that affect the business logic of the project or at the end of the phase (a week, a sprint, after a functional block is developed). But, in general, the sequence of processes is standard for building either a whole feature or function or a certain block of this function.
In this way, the team can maintain the high quality and meet deadlines. And you can constantly see updates. You get a working, functional web project at a given stage of development each day. Moving on in small steps, day by day, task by task, allows you to understand how your product will work once it’s ready and control the development at maximum. You can react quickly and adjust every detail, thus, getting perfect results within the original deadlines. It’s much more efficient than reviewing it once in several weeks or even once in the spring.
Example: Once the registration module is ready, you can immediately try it, click it through on every device. Don’t accept any screenshots - you should be able to test it personally. There’s only the registration and you see it works. Then, the module of password recovery is added. You see both these functions work. Nothing else. Then, we add a login and log out. The block is ready. The smoke test is run, everything works fine. Now we can move on. You see your website or web app growing block by block.