Basic concepts in web development
Let's look at the key concepts in the IT field regarding the creation of websites.
For whom - for those who are not yet in the topic, but want to quickly master the key points in order to better understand the specialists in the development and promotion of sites.
We will not dig deep into every concept. The main focus is on the question WHY - Why do I need this to create my site.
IMPORTANT! The better you understand the basics of web projects, the less risk of fraud on the part of contractors and loss of money. Take the time to study this article, and it will probably help you avoid unnecessary problems in the future in your web projects.
If you need more information on a specific element, go to Youtube or Wikipedia and study this term.
Basic concepts for the operation of the site
What is a Domain?
A domain is a literal representation of your site, where the user finds you on the network. You buy it for a certain period of time from the Registrar (the company that manages the domains).
It is important to renew the domain in time, enter the date when you need to renew the domain in the calendar.
It is important to register the domain for yourself (or your company), and not for the contractor.
Otherwise, then you will have to transfer the rights through a notary. A domain can have subdomains. For example, the domain web-automation.ru there is a subdomain falcon.web-automation.ru. A completely different application can be installed on subdomains and it can be located on a different server (with a different IP).
What is Website Hosting?
Hosting is a place on the disk of a certain server where your site is located. You rent it for a while from a hoster (a company that offers hosting services) in order for your site to be visible on the network. You can take just hosting, or you can take a more complex option-a virtual private server (VPS).
It is important to renew the hosting lease in time, otherwise the site will be stopped (which is bad for promotion in search engines for the site).
The work on buying and setting up a hosting can be assigned to the contractor (but at the same time, have all access to the hosting so that you can take files from it at any time).
What is IP?
This is the technical address of your site (server) on the network, for example, 10.203.21.24. The customer only needs it to configure DNS hosting. In other cases, it is not used by the customer in any way.
What is DNS and DNS hosting?
The domain must be associated with some IP address so that the user can eventually find the site through the browser. For this purpose, DNS hosting is used, where a specific IP address is attached to the domain (via A record).
Important! When you buy a domain, make sure that there is also free DNS hosting.
Otherwise, you will have to buy it additionally. In general, it is better when everything lies and is configured in one place.
What is a Virtual Private Server (VPS)?
This is a more complex type of hosting. You get access to the virtual server via RDP (remote desktop) and configure all the necessary software for the site yourself. This is a web server, a database management tool, and more.
In the case of hosting, you do not need such a setup, there is a panel (Plesk, ISP manager) that simplifies the configuration of the site.
In the case of a server, you can install any software on this server (for example, bots for parsing data from social networks).
VPS is more expensive than hosting and has more features.
Why virtual? There is a physical server with large capacities. Several separate virtual servers are installed on it by means of virtualization and it is such a server that you own.
Extremely IMPORTANT: do not forget to renew the server!
If you do not extend the server for a long time, then all the data can be destroyed (the hoster simply deletes the server automatically). I.e. if you do not plan to keep it any longer, at least extract the data from the server in time.
What is SSL (HTTPS)?
Without SSL, the site data is transmitted over networks in the clear. I.e., an attacker can hack a certain intermediate node in the network and receive information on requests between the browser and the site server.
To avoid this, the data is encrypted according to certain rules (protocols). This is exactly what SSL provides.
When the site is under SSL, the site address starts with https:// (a padlock appears next to the address), all traffic is encrypted and is not available for decryption to intermediate nodes.
Even if you do not have secret data, you still need to install SSL-for better ranking in search engines.
Also, many browsers begin to warn users that you are visiting a suspicious site (which causes embarrassment to the user).
SSL is purchased for a year and installed on the server / hosting.
There is a free SSL - Let's Encrypt.
If you are actively using subdomains of the main domain, then you must take a Wildcard SSL (i.e., which also protects subdomains).
What is a URL?
This is the address of a web page. The URL consists of the protocol, the domain, and the path to the page.
For example, for the URL https://falcon.web-automation.ru/blog/bazovye-voprosy-i-ponyatiya-v-sfere-sozdaniya-veb-proektov
https:// - protocol,
falcon.web-automation.ru - domain
/blog/bazovye-voprosy-i-ponyatiya-v-sfere-sozdaniya-veb-proektov - page path
The URL can always be viewed at the top of the page (some browsers distort the paths for some reason and you need to click on them to see the real URL).
It is important that when you interact with developers and other specialists, you should drop specific URLs and screenshots, and not 'something doesn't work on the service page'. This way you will save time on repeated questions from developers. The URL is the most accurate identifier of the objects on the site (not the Title or Page Title).
Technical concepts for web development
What is a Site Engine?
A site engine is the software that runs the site.
The engine can be a typical content management system (CMS), for example, Wordpress. Or it can be a self-written system (created specifically for the project on some framework).
When choosing an engine, you should take into account the specifics of your project
For example, it is better to make stores on a specific CMS, landings on another, and unique services are better to make for yourself.
General engine selection criteria:
- cost of ownership and improvements to the system to meet your needs;
- set of required modules out of the box;
- customization option;
- availability of specialists for this system and the entry threshold.
What is a CMS?
Site content management system - software for quick publication of text, images and other materials on the site.
There is a control panel where the administrator creates materials: articles, pages, news, portfolios, products.
And there are public pages that display content. The most popular CMS is Wordpress. It allows you to create quite functional websites without programming.
At the same time, Wordpress has its own disadvantages - low speed (usually due to problematic plugins), errors-security holes in plugins.
What is a Programming Language, C#, PHP?
A language is a way to describe the operation of an application in the form of a special text.
Programmers write instructions in the language, which ultimately provide all the work on processing requests for site pages.
A framework differs from a language in that it defines a certain development method that generally simplifies and speeds up the development process.
For example, Faclon Space is a framework that allows you to use certain rules to manage all the business logic and appearance of a web application through SQL stored procedures (and this is the main difference from all other frameworks).
What is a Framework and Custom development?
If you need to make a website exactly to your requirements, then it makes sense to consider custom development. In this case, some framework is taken (in our case ASP.NET Core or MVC5), and on the basis of it, a project is created by web programmers according to the customer's specifications.
When compared to using a CMS, this approach is much more expensive, longer, and more complex. But it allows you to make decisions without taking into account the limitations of CMS or other boxed products. These may be speed, architecture, or external interface limitations.
What is RDP, FTP?
To manage files and other site objects, you need to provide access. If you use hosting, you can access it via the FTP protocol. You can use a certain FTP program (Filezilla) and view / edit files on a remote server through this program.
RDP allows you to connect to the operating system of a remote virtual server. You will open the interface of the operating system, and you can work in it as if it were a local operating system.
What is a DBMS? What is a DB?
The site data is stored in a database (DB). Basically, it's just a set of tables and relationships between them. The management of all this economy is carried out by means of the database management system (DBMS).
Examples: SQL Server, MySQL.
The database can be located either on the server where the site is located, or on a separate server.
What is HTML, CSS?
When you see a page in the browser, it is displayed according to certain rules. Under the hood, any page is a special text (in the form of HTML code) that defines the structure of the document and its appearance.
For example, to make a link to another page, use the construction Text
In addition to the HTML language, there is CSS-a means of styling pages, i.e. changing the color, size, position, etc. Without CSS, all sites would be very, very similar to each other and would differ only in the location of the elements.
jQuery, Angular, React, and other JS libraries/frameworks
JS itself is not easy to use quickly in the everyday tasks of a web developer. Therefore, some libraries were created for more convenient and easy use. They hide the difference in browsers, make it easier to perform typical operations (changing the page layout, accessing the server, etc.).
What is Bootstrap?
This is a combination of JS and CSS libraries to simplify the creation of page markup. Bootstrap contains a lot of typical elements and a standard nice interface. The main point is to use standard CSS classes for easier markup generation. You don't create your own styles, you use a lot of ready-made styles that give your markup predefined qualities (rounding, visibility on different devices, etc.)
Bootstrap is a significant simplification in the matter of page layout. We use Bootstrap in Falcon Space as one of two key technologies.
What is the API? What is XML, JSON?
Modern applications tightly 'communicate' with each other without human intervention-they transmit data to each other, notify about important events.
In order for this to be possible, the systems must 'agree' among themselves on the rules of interaction. I.e., there must be a certain protocol so that one system 'understands' what the other system is trying to 'convey'. Therefore, the data is transmitted in a certain format (XML or JSON) according to certain rules (API protocol).An API is a programming interface that tells another system that it is possible to call such and such methods by passing certain parameters and expect the results also in a certain format.
In our Falcon Space system, we implemented a universal API that allows you to make your own API interface (so that external systems can access it), as well as send some requests to the outside in JSON, XML, and Text formats.
In projects, API integration is always a point of uncertainty, because the problems that arise are at the junction of the two systems. In most cases, it is difficult to accurately estimate the labor cost of integrating a new API (i.e., an API that the developer has not yet integrated).
In this case, a good option is to make a minimal prototype of the integration, and understand the nuances of the connection on it. And then plan a full integration.
What is an HTTP connection?
When you use the browser and type a specific address in the address bar, the browser sends a request to the server in a specific format (it receives the server IP from the DNS servers by domain).
To correctly understand what the browser requested, the request must follow a specific protocol. And the server must respond according to certain rules that are clear to the browser. This is exactly what the HTTP protocol (or its secure encrypted equivalent HTTPS) is for.
In working on the project, we essentially do not touch it in any way (only at the moment when we connect SSL to the domain).
What is a backup or backup of the site?
As the site works, the data gradually accumulates. This can be files on the hosting or data in the database. If there is some force majeure (the hard disk burned down, viruses, accidentally the developer corrupted the data), the data may be los.
Therefore, it is necessary to regularly make a backup, i.e. save backup copies of data. This can be done automatically by the hoster, or manually. The most important thing is to check that there are relatively recent backups that can be used in case of problems with the current version of the data.
What is a DOS attack?
The main threats to information security in economic terms do not come from data privacy leaks. The main problem is stopping the service. For example, how much will Ali Express lose if it stops for 1 hour?
One of the reasons for stopping the service may be a DOS attack.
This is a situation when a large number of bot programs start accessing your server and a situation occurs when your server cannot process more requests and crashes. Thus, an external influence leads to the failure of the service.
There is also a DDOS attack - a distributed DOS attack carried out from different servers or workstations (and these stations may not be attackers at all, but, for example, victims of a virus that activates many requests to a particular server).
There are many types, and often they overlap.
What is a Landing Page?
This is a page that has a minimum of external links, the task of which is to contact the user (registration, call or message). Landing translates to landing page. The user is 'found' in the network by the site's advertising (preferably on a narrow query, precisely aimed at a specific need of a person) and gently 'lands' it on the landing page.
If you do not have any special plans for complex business logic of order processing, then it makes sense to use landing page constructors like Tilde or LP generator.
What is a Shop?
This is a website with a catalog, a shopping cart, and an order processing system. There are many standard solutions for this task (CS Cart, Bitrix). In 99%, you should use a standard solution, and not do something custom and unique.
What is a Blog?
For a blog, it is not necessary to have your own website, you can place your blog on specialized sites such as VC, Medium, Blogger, etc. If you plan to make your own blog, then in most cases it makes sense to take Wordpress - a lot of ready-made plugins, themes.
What is a business card Site?
The business card website provides brief information about the company. Usually it does not contain any complex elements and is more aimed at transmitting information and forming some primary idea of the company.
If you are just starting to take the first steps in the network, then it makes sense to start with a business card and gradually expand its composition with a blog, personal accounts of clients, etc.
What is an Online marketplace?
A marketplace is a site of a certain industry where two types of users meet: suppliers and buyers. Buyers are looking for a suitable offer and order through the site or directly from the supplier.
A marketplace is not just an ad site. It should give added value to its users. This can be risk reduction, automation, acceleration of operations, verified information, etc.
The marketplace owner should be prepared for possible changes to their site (since it is not clear what exactly will work as added value for a particular case).
What is CRM (and other multi-user systems)?
Strictly speaking, CRM is a program for accounting for customers. In a broad sense, it is a program that serves the entire sales cycle (preparation of commercial offers, pre-project research, etc.).
CRM can be standard, or it can be created for the specifics of a particular business.
If you are looking for a CRM, first try the typical free or inexpensive CRM (such as Bitrix24). If they fit, use them. If their capabilities do not suit you, do your own, under your own processes.
CRM in most cases is a web application that has a Sales's cabinet, a sales manager's cabinet, and an administrator's cabinet. Sometimes it may have a client's account (i.e. a certain client service). There is a table of clients, a client card, client transactions, requests for commercial offer, documents.
This is an ad in the search results of Yandex, Google. You type in a specific query, and the search engine offers you relevant ads. The fee is usually per click.
What is Search Engine Promotion (SEO)?
Users collect millions of queries in search engines every day. Among them are your requests, i.e. requests where you have something to offer. And I would like the user to see exactly your site.
To do this, you need to configure the site pages in a special way so that the search engine links the page to a specific query.
The second direction is to increase the credibility of your site in the eyes of the search engine. Search engines want to improve the quality of their search results, so that the user will eventually find what he was looking for. That is why it is important for him to separate the good sites from the bad ones.
Search engine promotion is a kind of dancing with a tambourine around search engines.
In my opinion, it is important to just follow simple rules and you will have a gradual growth of positions:
- follow the wishes of search engines;
- make high-quality content that is interesting to your target audience;
- do not deceive the expectations of visitors.
Important! Demand from the CEOs a transparent work plan and its exact implementation. It is very difficult to control the results of promotion because of the long feedback on changes. This is used by unreliable SEO contractors. Your environment is against them-transparency of work and promotion indicators.
What is SMM (Social Media Promotion)?
Promotion in social networks. This is the publication of some content on social networks in order to attract attention to your product.
This method of promotion is not suitable for everyone. It all depends on the target audience.
The standard way in SMM is to create a group, post some content there and invite everyone to the group through various channels (friends, bots, on other sites).
What is Web Analytics? What is a Web Analytics Counter?
When a site is running, you need to understand what is happening on it, how users are working on the site and whether they have any problems.
Web analytics is the ability to spy on the behavior of users on the site. You can regularly measure the key indicators of the site, make hypotheses for improving the site and check how its implementation on the site affected the indicators. This is the basis of the site improvement cycle. Without it, you will act blindly, hoping for good luck.
A web analytics tag is a block of code that you insert on each page of your site. Thus, this code will collect data on user visits, which you can view in the convenient interface of search engines in the form of reports.
The most popular free tools of web Analytics are Yandex Metric and Google Analytics.
What is a Site Conversion?
The conversion rate is the efficiency of your resource. The number of useful actions to the total number.
We saw the ad 100 times, and logged in 4 times. The conversion rate is 4%.
Conversion allows you to understand what gives the desired result, and what does not work effectively enough. It also allows you to predict the indicators when the incoming flow increases.
What is the Refusal Rate?
Refusal is a concept of web analytics.. In terms of Yandex. metrica, a failure is a visit to 1 page in less than 30 seconds.
One specific rejection doesn't mean anything. The aggregating indicator is important. If your site gives 33% refusals, it means that a third of the traffic goes by.
It is necessary to identify the places that create failures and improve them iteratively.
It is naive to think that we will now make a website and will not change it again. If you plan to make an effective resource, then plan for continuous iterative work to improve the site.
What are Behavioral Factors?
Search engines used to focus on various factors, such as the number of external links to a site or page, or participation in any directories. Based on common sense, the most reliable indicator for a search engine is the statistics of visits to this page for a search query.
If people in the ABC search click on your ad and then study it for a long time and do not return to the search, then you have something interesting there for people looking for ABC.
This is essentially a behavioral factor - how the user behaves on the page. By improving behavioral factors, you improve search engine rankings.
What is a Snippet in search engines?
In the search results, the title, text, and links and images are also possible. This is the snippet. We can influence this snippet through certain settings. By improving the snippet, we increase the probability of a user clicking on the site.
At the same time, it is important not to deceive the user's expectations. An extra customer of a non-target audience will eventually lead to an increase in the refusal rate, which means that it will affect behavioral factors.
Specify the information as clearly and reliably as possible, and try to get as close as possible to the customer's needs. Ideally, evoke an emotional response from the user.
What is a Key Request (key)?
A key request is a promotion unit. They are the ones that the user uses when searching for something. Your task is to identify these queries to the maximum and offer your own quality material for each group of similar queries.
This is iterative work. No need to try to embrace all the requests at once. Start with the fattest, most important queries, and then gradually create content on more specialized topics.
What is the Relevance of a key query?
The search engine tries to select the appropriate pages for the user's request, and not all in a row. The more accurately the queries are selected, the more satisfied the user will be.
It is necessary to describe the page as relevant as possible to the query that you plan to get clicks on.If you have a page about ABC tractors , you do not need to write about EFG tractors in the Title (or just a general request to Buy a tractor).
What is the Request Frequency?
The key to the key is different. One request can be typed tens of thousands of times a day, another one can be typed only 50 times a month. But at the same time, one of these 50 hits can bring you millions (if a person, for example, is looking for a franchise or a resume of a narrow specialist).
Frequency is essentially your leverage. The higher the frequency of the request, the more your relevant content will be viewed.
The frequency of requests in Yandex can be determined by wordstat.yandex.ru.
When determining, also consider the region. I.e., always compare data for a specific region, and not based on different source data.
Also, the particularity allows you to determine what is interesting to people. Type in the wordstat query 'Order' or 'Buy', and you will find out what the average Yandex user wants.
What is the Target Audience?
The site is not made for all users of the network, but for a narrow group of people who are helped by the site to solve their specific tasks.
The task of the site owner is to determine the features of the target audience as accurately as possible, to understand that it is interested in where it lives and to reach them with its offer.
If you do not take into account something, then your site will not achieve its goals.
You may be targeting the wrong target audience. Your offer may not be of interest to consumers. Or no one will come at all, because you are not looking for your consumer there (for example, b2b in Instagram or linkedin looking for stokers to work in Podolsk).
What are Query Clusters?
Your target audience has certain needs. When it occurs, it can type certain queries in the search. They are different in syntax, but they are essentially the same need. Website development or website creation? It's the same thing.
For each such cluster of queries, you should have your own page that fully covers this issue. You do not need to make two pages for each request. Make one page and expand the topic as much as possible.
At the same time, do not make too large clusters. There are more narrow issues that require a separate page (for example, creating websites .NET or how to create a website on .NET).
All query clusters can be combined into a relevance map, where there is a list of pages and each page corresponds to a certain set of key queries (cluster) that it closes.
The process of creating your own product
What is Agile? What is Scrum?
This is a set of methodologies for reducing the risks of making a bad product (or not making it at all).
By and large, this is just a manifestation of common sense.
You need to move gradually and control the intermediate results.
The product is created by people, and you can't treat them like machines.
Code is more important than documentation.
Close interaction with the client is more important than the points in the contract.
There is also a set of some practices that are applied within the project (movement in sprints, daily planning for 5 minutes, retrospective, etc.).
In fact, there is nothing new or revolutionary about these practices. They were both in the USSR and in the United States, but were formulated in the form of a methodology relatively recently.
Read our article How to create an IT product
What is the Rate, estimate, hourly rate?
The rate is the hourly rate in rubles or the currency on which the estimate is based.
The developer estimates in standard hours how much it costs to make a particular functionality, multiplies it by the rate and gets an estimate as a result. This estimate is agreed with the customer and the next stage of development is launched.
An estimate is an estimate in hours of how much time it takes to create some functionality.
Demand more detailed assessments from the developers. If the estimate says the creation of an API of 100 hours, then it is clearly necessary to ask about the details of this estimate. The more detailed the assessment, the easier it will be to understand where the excess was and the more transparent the relationship between the customer and the contractor.
What is an Iteration, a stage, a sprint?
A large project can not be done in 1 stage. If you write a large technical specification, then there is a high probability of changing the requirements during the implementation process.
It is much better to divide the project into stages.
Each stage is executed separately. The requirements for the new stage take into account the functionality already made. There is no big delay at the beginning of the project to create a huge technical specification.
The stages also reduce the risks of the customer and the service provider. The customer can check the adequacy of the service provider for a small amount at stage 1. And the supplier does not risk that at the end of the project he will simply not be paid 50% of the project amount (especially if the supplier does not have a full-time lawyer, and the customer has a whole department of lawyers who need to be occupied with something).
Reducing the cost of a possible dispute (the cost of the stage) reduces the risks and tension for both parties.
Each stage is a separate technical specification, estimate, deadlines, separate payment and act.
What is Customer Development??
How do I know what a consumer needs? The simplest thing is to ask.
The Customer Development methodology allows you to organize interviews with people and identify the necessary information for the project. Ask the consumer about the product BEFORE you start creating the product, and not after its implementation.
Be sure to use this tool - you will save a lot of money. Instead of creating unnecessary features, you will focus on 20% of the features that your users really need.
The main point is not to sell your unique solution, but to understand why your solution is not suitable for the consumer at the moment.
What is a Lean startup? What is an MVP?
This is the methodology of startup development. The project starts with a prototype that is shown to users. This MVP is the first fully working and ready-to-use version of the product, but it contains only the most important functions for the user and under the hood may not be the engine at all, but 4 people pushing the car.
This greatly reduces the risks. The main risk of the product is that no one needs it. The prototype lands a man with his super idea.
The sooner your product hits the market, the sooner you will get real data about your product.
It is likely that after receiving the first feedback, you will realize that your product is not needed and is not competitive initially.
In my practice, I have seen such situations when the customer constantly avoided implementation into operation, adding more and more functions. This is a path to nowhere, sooner or later the money will run out and you will need to implement it. After this implementation, new data will appear that you need to have in the product, but the budget for this will no longer be there.
So make a cheap prototype, implement it and then gradually refine it to a complete product, or make a product from scratch with an understanding of the market.
What is the Site Concept? What is a Website Development Brief?
You have an idea for a website, you start looking for someone who can implement it. You explain your idea in general terms to each candidate in a whatsapp, and you want to get a price. If this is the case, then you are wasting your time.
The contractor can't give you an accurate rating based on the general description.
He will simply tell you the average prices, without taking into account the specifics of your project.
The right way is to create a project concept (Web project concept template).
You make it, first of all, not for the performers, but for yourself. You define essentially your understanding of the project in writing, detailing issues where there are white spots on the system's capabilities, on promotion, design, technology, etc.
Having such a well-developed document, you can send it to candidates without wasting your time on lengthy explanations, simply requesting a commercial offer, and you can also ask them to give expert comments on your questions.
Thus, you can get valuable information on your questions for free (the contractors are motivated to make you a client, and therefore they will try to answer as openly as possible.e. And if they do not provide information , this is a reason for filtering such an artist).
A brief is a form to fill in from thecontractor. In general, it is better not to fill out the brief of the new contractor every time.. Make your own project concept and build on it, so the initiative will be in your hands, and you will have better control over the details of the project.
What is a Mockup of a website, design, layout?
Each system has some appearance. This appearance is provided by the layout, i.e. the creation of HTML and CSS code that render the page elements in the browser.
The layout can be created based on a unique design. In this case, the layout designer has PSD or Figma files (picture) at the input, which he cuts and uses for layout.
The design picture itself also does not arise from the designer's head. First, a mockup is created - a schematic image of the page blocks without stylistic design.
Why this approach works well for very complex pages. The fact is that the customer often does not have an exact understanding of what he needs in his head. And so new ideas and edits are constantly emerging.
It's easy to change the mockup - I moved the block and that's it.
Changing the design is more difficult - it will require consistency of styles and can disrupt the harmony of the design.
It is even more difficult to change this in the layout or in the program.
It is quite difficult to change in an already working program, because any changes may affect existing users.
In Falcon Space, we go the other way. We use standard tools to the maximum. All markup is on bootstrap. We have reduced the cost of changing the appearance as much as possible. You can quickly change the layout of a separate form, add a column to a table or a modal form.
We lose in the uniqueness of the design, but for most programs and personal accounts, this is not required. You need a simple, intuitive interface that can be changed quickly and inexpensively.
Therefore, we do not make mockups, we do not make designs, and we do not make separate layout. We describe the required functionality and bring it directly to the system (because it is fast and not as expensive as it would be in the case of developing a full stack).
The design-layout-implementation cycle we do only for the main page-landing (at the same time, you only do the implementation of the finished layout in the platform).
What is Usability? What is UX / UI?
Any program has a user interface (UI). If it is crooked, slow, and inconvenient, the user will get nervous, make mistakes, and avoid working with the program.
In the case of a site, the user may simply not understand anything and leave the site.
The program should be user-friendly, clear, easy to learn, fast and responsive.
The site owner should care about the user experience (UX).
This can be done by direct user surveys, using web analytics, and testing the main cases of using programs.
Usability is a complex term. If some parameter sags with excellent other indicators, then the overall level of usability is essentially determined by the weakest indicator. For example, the response rate. Your system may be mega-convenient and intuitive, but a slow response will eventually negate all these advantages.
What is a site page screen?
A screen is a photo of your screen or window.
Learn how to make screenshots (and not photos from your phone or PC, or throw off large images in a Word document), and it will be much easier for you to communicate with developers.
There are special programs (Yandex.Screenshots, screencast), which allow you to quickly make a screenshot and send a link to it to another person.
What is the technical specification?
This is a document describing the system requirements that the contractor must implement in the program.
Technical specification allows you to fix the requirements of the customer and avoid unnecessary disputes like ' I thought you would do this without further ado'.
Proceed from the assumption that 'what is not described in the technical specification will not be implemented in the system'. Write down everything you want to see in the system.
Usually, the contractor is engaged in writing the technical specifications based on feedback from the customer. In most cases, the customer can not describe the requirements, because it omits many important details.
There is an opinion that the technical specification should characterize WHAT should be implemented, but not HOW it should be implemented. I do not agree with this, for me, the technical specification is a working document in order to clarify the customer's expectations as accurately as possible, and not follow the formalities. If we can write the implementation details in the technical specification, then we will immediately agree with him on the implementation points, and no separate approvals are required.
The most important thing for the customer in terms of the technical specification is to read it in full, all the requirements must be specific and clear, there is nothing superfluous (which you do not need in the project, but the contractor implicitly imposes it on you), the possibility of further development of the project is taken into account (it may happen that you did-did, but the system is very expensive and difficult to develop).
Our approach to creating TS. In the article you can also find the template of the TS
What is a Bug?
A bug is a bug in a program. It can be identified at the testing or development stage (which is more good than bad) and at the system usage stage (which is more bad than good).
In any case, the most important thing here is the most prompt edit to fix the bug.
In our Falcon Space platform, we build the development process in such a way that you can edit the business logic and appearance in hot mode directly from the developer's dashboard.
In the case of a full stack, error correction is not such a fast operation and will require more body movements.
If you find an error, do not write to the developer general words that there is an error (and even more so there is no point in expressing your emotions). Describe the error as specifically as possible - the screen, the URL, and what exactly is working wrong. This will allow the developer to start searching for the cause without further ado.
If you do not specify this data, then either the developer spends time finding out these details from you, or spends time identifying indirect data on the localization of the error location.
Who is a Fullstack developer?
A complete development stack is a set of technologies that are necessary for creating a website.
This is a database, a data access layer (DAL), a business logic layer (BLL), a layer of controllers that processes requests, a user interface, interactivity due to frontend development in JS.
Fullstack development involves the involvement of many different specialists. Some developers may close all of these specializations (but they are less profoundly aware of each area). In any case, any edit often involves the interaction of several specialists.
In our platform, we have reduced everything to 2 levels (and in some cases to 1). There is a level of business logic and data extraction-it is in SQL. The second level is custom markup (it is not always needed, for example, for tables, everything is output in accordance with the rules set in SQL).
From the point of view of N-layer development, we break the separation into layers. SQL is essentially responsible for data extraction, business logic, and output management in the UI.
Our goal is to reduce the cost of changes.
In our case, it is quite easy to change the business logic and appearance, plus it can be done by one person, not a set of specialists.
What is a Backlog? What is a User story?
Any project is a description of the requirements and their implementation. Requirements can be formulated in the form of user stories.
'I, such and such a user, can do this and that for such and such a purpose' is a simple formula for user history. Such stories can be formulated by the customer himself, it does not require any special knowledge.
I am, in general, a proponent of eliminating unnecessary links. If you can do something yourself on key issues , it's faster, more reliable, and more accurate. An extra person on the project requires extra attention, discussions, clarification of misunderstandings, extra control.
Often the customer thinks: 'Add 2 more programmers and get a 2X speedup.' In fact, this leads to alterations, discussions, inaccuracies in the system due to misunderstanding.
Formulate your own requirements at your own level of understanding. Further technical developers can detail these requirements. If you (as the product owner) do not have time for this activity, then probably nothing good will come out of the project in the end.
What is business logic?
The business logic defines a set of rules that the processes in the program follow. What are the roles in the system, who has access to what, how the order is processed in the system, etc.To simplify the description of the business logic, select the Objects and Subjects in the system.
Objects are what operations are performed on in the system (order, product, setup). Subjects are persons who commitings actions on objects (we also call them Roles Administrator, Operator, Client, Manager). Each Subject has a personal account in the system with its own interface and capabilities
Then detail the data for each subject and object (i.e. what data data should be stored on it in the system).
After that, describe the main processes using only the specified subjects and objects. Thus, you will describe the basis of the business logic of your system.
Based on this description, you can then build the structure of your project.
This is a set of personal cabinets and pages in it.
If you do this work carefully enough, the technical specification for your system will be 70% ready.
Who is the Product-owner?
This is the product owner. He is the ideological mastermind of the project, which forms the vision of the future for the project. At the same time, it can perform some roles in the project itself. For example, for Falcon Space-I am a product owner, architect, developer, marketer, somewhere a usability specialist. I am also a user (and therefore a tester).
The main responsibility of the product owner is to decide what should be in the project. An even more important point is to decide what should not be in the project.
If the product has a weak product owner, then it is likely that everything will be pushed into the product in the hope of pleasing the user.
It turned out to be quite a large article. A lot of concepts, of course, were left out. The article will be updated gradually, so periodically return to it.
In general, it is better to follow common practices that are described here or in other articles or books. But it is important to understand why these practices were introduced. This understanding will give you the opportunity to cut corners in the right place, which only complicate the process.
There was no task to give an exact definition, the emphasis was on the application of these concepts in real practice. If there are any concepts left without consideration, please write to the chat on the site.
If there are people in your environment who can use this article to fill in the gaps in their knowledge of web projects, please send them a link to this article
How do I know the budget / timeline for my project?
1. Create a project concept
2. Send us your concept paper
3. We will prepare a commercial proposal with details by modules
Falcon Space Platform
This is a reduction in the cost of ownership
at the expense of fewer people to support
This is a quick change
while using the program
This is a modern interface
full adaptation for mobile devices
If you like our articles, then please subscribe to our channel in Telegram - Falcon Space.
In it we will publish updates on articles and other materials regarding our platform.