
With this article I open the cycle devoted to the interaction between customers (users) and programmers in the implementation of software and work automation. I think that almost everyone is aware of how difficult it is to find a common language and implement a successful project. Most likely, and you can tell a sad story about how “it didn't work out”. And maybe not one.
On my own experience, I understood one of the most important reasons for failures — the lack of mutual understanding. And in its origins lies the lack of understanding of basic terminology by people. And that’s why I’ll start the cycle with this.
')
In subsequent articles, I will explain how a correct understanding of the term “computer information system” almost always helps in practice when introducing software products. And after - I will tell about my own experience and give examples of project implementation.
I went to writing this article for a very long time, and I have not been using materials for it for the first month in the process of advising my clients. One of the biggest problems in any field where specific terminology is used is the conceptual contract. Often people use words without understanding their meaning at all. And interpret them in some special way. The result - a lack of understanding, complaints and dissatisfaction with the result. It is especially difficult to explain the underlying basic concepts. But in the areas of business and IT technology can not do without it.
One of the most common problems in the implementation of IT-systems - a very high percentage of failures. The implementation is slowed down due to the lack of mutual understanding with programmers, often ready-made software solutions turn out to be “gathering dust in the box”, as they turned out to be completely different from what the user expected.
Attempts to clarify and classify computer information systems have led to the emergence of a huge number of complex and obscure terms. They are trying to divide them into classes and subclasses, to describe them in terms that are strange to a wide range of people, which leads to even more confusion.
Difficulties of mutual understanding with IT-specialists
Users often do not understand at all who such programmers are and what to demand from them. In my time when I took the first steps in IT, I did not understand what computer information systems are, what role programmers play in them, when and why they are needed.
Example: If you go to doctors or, for example, to a construction company, you understand exactly what kind of specialist you are, how to contact him, what to tell, what result to expect. In the IT sphere, there is still no rigidly established and understandable terminate level.
One of the biggest problems in IT is the lack of a common (precisely general) theoretical base. I have already written many thematic articles intended for a wide range of readers. For example, "
What is CRM " or "
Hierarchy of IT-systems and the choice of software for the organization of work ." All of them are designed, among other things, to help me find a common language with clients myself. But here, too, I encountered misunderstanding. People do not realize in principle what an IT system is. And it is extremely difficult to explain this “on the go”.
Reference books, textbooks and articles on the Internet practically do not provide information at the user level. For example, the definition in Wikipedia looks like this:
A computer information system (IS) is a system designed to store, search and process information and the corresponding organizational resources (human, technical, financial, etc.) that provide and distribute information (ISO / IEC 2382: 2015). It is designed to ensure that the right people are provided with appropriate information in time, that is, to meet specific information needs within a specific subject area, while the result of the functioning of computer information systems is information products - documents, information files, databases and information services.
It is almost impossible to comprehend and understand this definition without deep knowledge of the topic, and it is, by and large, meaningless to delve into it. And the majority of people still do not understand: what is a computer information system and what is not. What qualities are required and which are secondary. There are a lot of questions. And if you do not understand the phenomenon in its essence, you will understand it as a kind of “magic”, shamanism.
In this article I will try to give a definition of IT-systems, understandable to a wide range of readers, based on my own experience and knowledge. Of course, I will be glad to any criticism and additions, since the topic is very voluminous and fundamental. And the information existing at the moment is difficult for perception and somewhat contradictory.
What is computer information systems?
When I read various definitions of IT systems, for a long time I could not understand why they are so different? Somewhere you can find something bulky and comprehensive, as in the same Wikipedia. And somewhere short definitions, “snatching” some particular aspects and based entirely on them.
As I see it, the crux of the problem is that people are not trying to create a definition that would be a fundamental rationale. Rather, there is a desire to clarify their own vision. And I’m not even talking about situations where descriptions and definitions are associated with the sale of some kind of software.
To understand what it is, let's remember how a new software product is born:
Stage 1. Idea. Just at the level of “let's do something that will do these things”
Stage 2. Building a model.
Stage 3. Coding. The algorithm is embodied in reality in the form of software code that people can use.
And therefore, at the most general level, any IT system (software, computer information system) can be defined briefly:
An idea expressed through a programming language.
Why precisely “expressed” but not “realized”? Because the computer code is not enough for the idea to work, to get a material basis. In order for a material basis to appear, it is necessary for the person to realize it.
Example: We wrote a computer program, but in order for it to work, a computer is needed that will launch it, a monitor that will, if necessary, display this information in a form understandable to humans. In the end, you need a person who will run it when necessary, check her work, maintain.
On the basis of this basic justification, you can already detail other features, develop and express all the problems associated with information systems. But here I think that the essence is important: an idea has emerged that can be expressed through a programming language. A solution was found and implemented.
What helps to understand the features of IT systems?
In order to choose the right software and understand what additional actions will be required, it is worth starting from the definition of “an idea expressed in the program code”.
And then, the first stage of choice will be based on the idea. It is important to understand what kind of idea embodied the developers. What they wanted and managed to realize. What are the basic principles they brought to life.
If you fail to understand the idea, i.e. the purpose of the software, then your thoughts about how you will use the program will not coincide with the ideas of the developers. As a result, you buy an unnecessary product.
But for the idea of ​​a computer information system to coincide with yours, it is necessary that you also have your own idea. Yes, it will be expressed at the user level. But it should be.
For example, if you want to add an OSAGO calculator to the site, it makes no sense to be interested simply in a calculator or some other functions calculation system. Your idea is a CTP. So, you need to look for which of the developers also embodied the calculations for CTP. Otherwise, the refinement of the selected product will require a lot of effort, or the product will be inappropriate for your idea.
For large computer information systems it is extremely important to compile a list of your ideas. And make sure that the developers of the selected software product at the time of its implementation also had a list of ideas that you needed, and, as a result, solutions.
The second important parameter: compliance with the idea of ​​its implementation. Often, developers in the process of translating ideas for a variety of reasons, ranging from mistakes and ending with organizational decisions, move away from the original idea. And the product, which was supposed to embody one idea, realizes it only partially or does not realize it at all. This must be checked with the help of testing, consulting with experts or some other means (reviews of friends, etc.).
And the third problem: the idea that you are selling may coincide with yours, but not the same as the idea that the developers have put into the software system. The fact is that in commercial products (and they are almost all of these nowadays) is not so much that you get the right tool, but rather to sell you a software product. Those. When setting targets for developers, the main idea was to sell the product, and not to ensure its high-quality work and compliance with all your needs.
Next, marketers come into play, as you think that you are buying exactly the “idea” you need. And in fact, you are a buyer of a product made with other ideas (sales). And your needs in the implementation will be at the level of ideas only in second place. The product will be beautiful, comfortable, especially at the level of demos. But it may not be important for the realization of your idea of ​​tools.
It's like buying an apartment with redecorating “to sell” - everything is very beautiful and of high quality, and “bugs” are revealed after purchase. Unfortunately, in a capitalist, profit-oriented society, this is ubiquitous. And it is partially embodied even in the best systems.
Marketing and software product
Why do users so rarely perceive software systems as “embodied ideas”? I think the problem here is marketing. Most often, IT systems are served by developers and are perceived by users as a tangible commodity. The reason for this approach is obvious - the product is much easier to sell than the idea.
It is difficult for a person to perceive and, especially, to buy ideas. It is impossible to “touch” them, and the seller can rarely explain why exactly this idea is better than others. Another thing - IT system as something tangible. Here we are talking about the immediate benefits and advantages from the point of view of the buyer. Everything can be seen, evaluated, selected.
Marketers seek to show benefits from the point of view of the buyer. Moreover, any program has a certain price. As a result, buyers have a somewhat distorted view of computer information systems: they believe that they are purchasing the finished product. Same as boots or car. And often they are perplexed and frustrated when they realize that this is not so. It turns out that for the implementation of a computer information system, some refinement, customization, the work of programmers, etc. will be needed.
The idea and choice of software system
The first, where the understanding of the features of computer information systems will help, is the right choice of software product.
Main selection criteria:
- Your idea should correspond to the idea of ​​developers as close as possible in all respects.
- The quality of the implementation of the idea in the code should also meet the objectives you set.
Thus, in order to choose a software system, you need to clearly formulate your own idea: what the computer information system should perform, what parameters are really important (correspond to your basic idea), which is secondary (you can do without it). All software functions that are not included in your list will have to be studied separately. Sometimes they become a nice addition. But more often - unnecessary features for which you have to pay.
Of all existing software products, you will be interested only in those where the description contains the idea you need. Ideally, it is your idea that should be declared as the main one, and another functional, if any, as additional features.
Next, you should examine the quality of implementation. For this purpose, reviews of other users, test free versions, etc. are used. Remember that the implementation does not always correspond to the original idea and description.
Often when buying software is used wrong tactics. The buyer studies whether the functions he needs are implemented without paying attention to the main idea of ​​the developers, even if it is clearly spelled out in the name and description of the software product. As a result, they get the necessary functionality, but often in a “cropped” form. The system has to be very much refined, and this is a significant investment of time and money. And sometimes it is impossible at all. At the same time, as part of the product, the buyer receives many unnecessary features, which he also has to pay.
For example, if you need a business card site, there is no point in buying an expensive “engine” of an online store. Conversely, if you need a store, an attempt to use a free CMS often leads to significant costs when adapting this code to an online store.
On the one hand, even under free “blogging” CMS, there are ready-made add-ins for creating an online store. On the other hand, this is not the main idea of ​​your chosen product. That is why the functionality in it is limited. And as soon as you need integration with the accounting system, some kind of data exchange with CRM and other functions of the automated trading platform, you will encounter difficulties and lose time. Yes, and the cost of improvements are often higher than in the case of buying a finished online store with already implemented automation capabilities.
It is very important that the chosen software product is as close as possible to your idea.
How to find a common language with the developer
Understanding the essence of computer information systems helps to choose the right developer to create or improve the software product. People who are far from computer information technology, it often seems that all programmers are the same and it is difficult to find a common language with them.
In fact, to achieve mutual understanding with the developer, you need to:
- Clearly formulate your idea. Moreover, this idea should be as specific and specific as possible. The option “I want to make money on the program” is not an idea. The idea is “what I want this program to do.” This may be TK, may be descriptions in the form of diagrams, brief.
- Make sure the developer understands the idea. Here is a question from the field of communication. One expert will understand you "at one word". Another will have to explain several times and not the fact that he will perceive everything correctly. To avoid problems and discrepancies, there are preliminary stages of work, including writing a clear and unambiguous technical assignment. If you can get a clear and relevant to your idea of ​​TK, then the work will continue to be carried out correctly.
As you can see, with the correct understanding of the term “computer information systems,” communication with specialists also turns out to be not as complicated as many myths about IT people describe.
For more information on how to use this definition of a computer information system in practice, read the following
article .