What is the process behind creating a web application / e-commerce at Studio Present PART 3
Read the PART 2
Site build & Frontend
Sitebuilder - the man who is building the foundations of an application
Their task is to create the basic fields, content types, regions, blocks, views for frontend developers and backend programmers.
After several days of site-building works, the rest of the team can start to work on the application itself.
The frontend developers are in charge of transferring the design to the working product. They also develop the dynamics and user experience with CSS and JS in constant cooperation with the designer.
- The site builder creates all the fields for entering data, configures basic modules that will be in use, configures basic site settings…
- The frontend developer sets the general application style which is defined by the design. The task is to make typography rules, the type of buttons, and define the style of all the HTML elements that will be in use.
First and foremost, we must make sure that the programmer has understood the task at hand.
The next step is to create a database scheme, in order to see what the relations and keys are.
When some functionality is done, we can present it to the client on the test domain. This gives the client a chance to test whether everything works like it is supposed to. For example, the client needs to check if the formula used to calculate the shipping price based on weight is correct.
In this phase, the entire design does not need to be ready. This is the beauty of Agile development where we can test isolated functionality at this early stage.
One of the most common tasks for programmers is to create the connection of the app to the third-party applications. This is done through API and can be related to CRM software, ERP, or the Newsletter system, among others.
When we are creating a web application the content is not seen as a crucial element that must be dealt with from the very beginning.
However, by the time of testing particular functionalities, it might be required to have the content uploaded in the app.
Some examples of static content:
- Demo products
- Team members
- Store locations
According to our contract, all of our employees must do a QA for their tasks.
The project manager will test some parts of the applications.
Our QA team tests the entire work of the developers and designers.
We believe that the best approach is to have the fourth link in this process, which is a person from the client’s company. A new pair of eyes can sometimes spot issues that have gone undetected up until then, giving a chance for the development team to react.
The combination of all this checking means that we already have a functioning and well-tested application. The ultimate confirmation that everything is working as it should come from users of the application.
Live server (production)
Once we have confirmation that the system is working seamlessly and every bug has been fixed, we start with the process of transferring the data to the public server.
From this moment on the application is connected to the real domain and everyone can access the application.
The server administrator configures the SSL (https) certificate, emails and we enter the real data, such as for credit card payments, for example.
Assuming that the goal is for the app or website to run smoothly in the foreseeable future, it is necessary to come to an arrangement with the client regarding some form of a maintenance package.
In theory, creating a stable system is straightforward. However, there are many factors that can mess with even the best developer sites and cause the failure of the application.
We strongly recommend that our clients get covered with a technical contract for this part so that they can ask for support for eventual repairs.
If the business is healthy, then, apart from maintenance, there will always be room for improvements in the app. With this maintenance package, you as a client have in effect reserved our time for fixes and upgrades.
Upgrades and new features
Let me follow up on this last sentence. In most cases, online business is rapidly changing almost on a daily basis. New services appear with a need for some new automation and because of these, you need to upgrade your web presence or application.
The current practice at Studio Present is to talk to the clients about their plans for the future: what do they want to develop in the next two weeks.
The client can change the priorities and have insights into all the work we are doing. This level of transparency is good because the client can act immediately when there is some show stopper or when we need certain data or information to continue with the task.
Of course, we make sure that we keep our clients in the loop and offer advice on what, in our experience, would be a good strategy.
By this stage of app development, the client and Studio Present have gotten to know each other well and this “work marriage” can continue to grow naturally.
Sometimes your business and your app is one of a kind and you are like monopolist but eventually, there will be similar services and will have to fight for your share. This means that some kind of marketing must be included.
At Studio Present we have a strong marketing section that is in charge of the digital presence of your company, brand or app. You can find out more about our marketing approaches at the official site: https://www.studiopresent.com
When meeting with the client, we bring in the marketing team because they can help to define:
- which are the core values that we need to promote
- what we need to emphasize on the new site
- harmonization, focus on the needs of business owners and their customers.
The second case when the marketing team’s involvement is invaluable is when we need to redevelop some old site/project. The marketing team can point out the technical needs for better promotion activities, based on the analysis of historical data. The team’s input will tell us how to optimize the site for social media, particular users or search engines.
I know that discussing invoicing and money are usually off-limit topics. Still, I’d like to explain to you how we operate.
If the application is complex, the client will be sent an invoice for the technical documentation.
The second invoice will be for the wireframe and design based on the work hours.
When we have determined the estimate of the project, the client must pay a third of that amount in advance.
The following month we prepare the invoices for the previous month, also time-based.
Now you see our current work process. In our experience, every 6 months or sooner something is likely to change or needs to be upgraded. Just like in any other branch, constant changes are inevitable in the IT business.
We keep telling our clients: don’t be scared of changes, promote them among your colleagues, and explain to them why something is better in this new way. When we explain to the client why some alterations are necessary or when you present some change to your colleagues, generally there is a better percentage of acceptance.
Sometimes, changes may prolong the development time but in return, you will receive a more stable product and much better quality.