Let's start from web applications
Before I explain what is a web development, it's good to know what is a web application first.
It can be any service, that gives you access through your web browser. Starting from a simple one page websites, which can be build with one html file and uploaded to server. Through more complicated websites that contain multiple pages, some CMS (Content Management System) like Wordpress.
Ending on web applications, that contain separate front end - everything what you see or can interact with through your browser, and back end - which contain business logic, connection with database and everything what is needed in a given project.
There are also progressive web apps - quite popular at the moment - which can extend standard web application with new features like working offline - so after you loose connection to the internet, you can still use it. They will give you experience of using dedicated app in your browser.
Web development process
In general web development covers all the applications dedicated to be used through web browser.
All the points described below can be done step by step or divided into more agile approach. But I want to show you the process.
This step is required, not only for web apps, but for any type of software development. It's good to know how it works.
Before the web development machine start, we need to know what is the project and what scope of work do we expect.
Depending on size of the project, it might be done by dedicated business analyst, programmer or a project manager.
If the project is small, it can be done with a designer who will be preparing drafts of views for the future development.
If the project is big this step will take multiple meetings and discussions between client, business analyst and developers.
The goal here is to gather requirements, functionalities and general vision. So as you might imagine, when you build a company website or blog it is easy job. But when you build a banking application which will be used by millions from scratch, it might take a bit more work.
Process starts with a web design, so involve graphic, designer or UI / UX specialists. Depending on how complicated is the project it might be all of them or just a programmer that knows something about designing user interfaces.
The job to do here is create a general view of the application, prepare graphical vision of the project and then split it into separate wire frames, functionalities and features that will be required.
Many times client will be involved in this process. Sometimes client don't have 'graphic sense' and designer must help him to prepare views. Other times client will be discussing every detail of every wire frame and will want to put his touch into everything.
Can we skip this step?
A lot of talking but are there situations, when design isn't required?
And the answer is - yes.
Web applications are also tools, admin panels and automation systems which are build to solve the problem, not to look beautiful. In this situation, we can leave the design to programmers, but you should know the consequences:
- It will be cheaper at first.
- Your vision will not always be same as developers.
- When the project will grow, you might need a help of designer / UI / UX anyway.
- Changes in developed applications are sometimes more expensive, than building it in an expected way from the beginning.
Skipping web design in a first place is not something bad. Sometimes project don't need this or is so experimental that client don't know how it should look like.
My favorite part of web development process. At this point you know the requirements, you accepted estimations and see the wire frames of your application. In this part all of this goes to developers and th-ey start coding.
This step itself can be splitted into agile sprints, also depending on the project and team size.
From the developers point of view it looks like this: We get requirements and wire frames - whole scope or for the nearest sprint. At this point, we probably know the technologies - should be decided while gathering requirements and estimations.
So we can split the tasks and start setting up the environment. When this is done, we can simply start coding and delivering features. I don't want to get too much into technical details here. There is much more steps in development process, but let's stay with this high level perspective.
Can we skip this step?
In most cases - no. This is the core of web development process and it's hard to skip it. But there are some projects where no or almost none coding is required. I'm talking about products which need to be configured to work.
Wordpress is a good example - when you need only a simple website, and you find a template that you like, sometimes no developer is needed to provide a very nice looking website. Also there are multiple drag and drop systems, which finally will appear as a web application, but require installation and configuration by some specialist.
When the project (or it's part, depending on requirements) is finished, comes the time to testing. You should get access to the application and ability to test it on your own.
It can be done interchangeably with the next step, depending on the characteristics of the project. Sometimes you can have test environment and then do a deploy of production version, sometimes you can test it in production.
Final stage of the project (or some stage of it). Application is up, running and is accessible from the internet. As said before, it depends on the project specifics if at this point you are showing it to the users or you start to test it.
Hope this will make web development a little bit clearer for you and you understand all steps. If you have any additional questions or thoughts, please use the form below and drop TH-EY a message.