Any software development is an individual process. Depending on the objectives and following functions functions of system it is better to divide the project into certain stages. Some of them can be performed in parallel, however others require full completion of stage before moving to the new one. Thus, depending on the current task, some of the phases may be omitted or be closely connected with each other.
Typically, complete web application creation cycle consists of the following steps:
Project manager carries out an operation of creation technical enquiry, which manager will provide with technical developers future. Work with the customer starts with brief filling, in which a customer expresses his wishes regarding the visual presentation and site structure, points out errors in the old version of the site and provides examples of competitors’ sites. Based on the brief, manager drafts the project, taking into account the possibility of software and design tools. This phase ends after approval of technical requirements of the customer. It is important to note that the website design stages depend on many factors, such as volume of site functionality, tasks to be performed by a future resource, and many others. However, there are several phases that should definitely be present in the planning of any project.
Development of the main page and website model creation starts from creating design. A designer creates one or more design examples in accordance with the technical enquiry. At that a home page and standard page designs are separately created (for example, articles, news, product catalog etc). Basically “page design” is a graphic file, layered pattern containing smaller layered picture element of the overall picture. It is important for the designer to take into account limitations of HTML standards (not to create design, which would be impossible to implement with standard HTML tools). The exception is the Flash design. Number of sketches and order of their submission is negotiated with the project manager. Apart from that, the project manager monitors the work schedule. In large web studios art director is also involved in the process, who controls the quality of the graphics. This phase is ended with customer approval of the sketch.
The approved design is then transmitted to the HTML layout designer, who “cuts” the graphic image into separate images, which are used to compose HTML page. As a result, a code is created; it can be viewed via a browser. Typical pages will then be used as templates.
On the next phase HTML files are transferred to the programmer. Site can be programmed both from the ground up and on CMS basis, which is a content management system. Web developers often call a CMS as «engine». Basically «CMS» is a kind of ready site, consisting of replacement parts. “Programmer” – in this case it would be correct to call him a CMS specialist – should replace a standard template, provided with the CMS, with the original template. This original pattern should be created based on the initial “web design”. While site programming the specialist is settled checkpoints terms.
Nowadays more and more people are using mobile applications. Therefore, adaptation for mobile devices is gaining popularity, so that the final draft is correctly visible on all devices, and maximum of users are able to use a web resource with the maximum comfort. The final stage of website development is testing.
The testing process may include a variety of approaches: page view with enlarged fonts at different sizes of a browser window, in case of Flash Player absence etc. Usability testing is also possible. Detected errors are sent for correction until they are eliminated. Timing is usually under project manager`s control. Usually this stage implies designer involvement, so he/she could carry out supervision.
Site files are posted on the provider’s server, and desired settings are then applied. A website is closed to visitors at this phase.
At this phase a website is filled with content like text, images, files for downloading, etc. Sometimes texts are drawn up by specialists of the studio, in other cases content filling is handled by authorized person from the customer`s side. This is decided during technical enquiry drawing up. If content is prepared by the studio representative, this is carried out and approved alongside with the other phases.
SEO optimization is related to some website modifications. This process starts with definition of the semantic core. Specific keywords are defined here, which could attract the most interested visitors, who allow easier competitors outperforming. These words are then brought to the site. Texts, links, and other tags are adapted so that search engines can successfully find them by keywords.
As a rule it this phase comes down to incoming links scheme construction. This is basically a website promotion. External SEO optimization has nothing in common with a website development. SEO optimization is divided into “white” and “black” (the one, after which a site hits the top within two weeks, and then it is banned with search engines). The true «white» SEO optimization is time-consuming and lengthy process, the cost of which can several times exceed the cost of site development.
Customer or his/her authorized person reviews the finished project and if it is satisfying, the documents of project delivery are signed. Training for the customer`s representative can be often carried out at this stage in order to teach him/her skills of the website administration.
Nowadays more and more people are using mobile applications. Therefore the adaptation for mobile devices is gaining popularity.
Mobile software development can be divided into the stages, similar to Web-design ones; the only difference is that mobile software requires special technologies.
The main of them are:
There is a variety of operating systems for mobile devices and each of them requires different development. Therefore, if you want the project to fit all kinds of mobile devices, you will need a few individual projects, one for each operating systems (such as iOS and Android). Apart from that, depending on the task, a mobile application could be integrated with any website and social network. There is a wide range of different applications for mobile devices nowadays, each of them has different orientation starting from the entertainment, assistant application tools, to most complicated applications for the banking sector.
Desktop applications are programs that are installed on the user’s computer and could be run directly from the desktop. Thus, the user does not need a Web interface for the application. In addition, a desktop application can be a client application of a cloud service – in this case the application will constantly exchange the data between a Web server and will require constant Internet connection. Desktop applications are convenient when access to the information or any actions performance require constant user`s involvement. For example, the desktop format is suitable for antivirus, software for audio / video processing, software for graphics, and for the cloud services software. In this case, users perform full control over their data, and this provides the company with additional information security guarantees.