Analytical thinking: we set up thought experiments and simulate problem situations

The Czech writer and journalist Laub Gabriel, known for his aphorisms, said about someone: “In his system of thinking, the system clearly prevailed over thinking.” Despite the obvious tautology, it is this phrase that most accurately describes what is happening in the head of a human analyst. He sorts everything out, catches the smallest details, gets to the bottom of all phenomena, and looks for cause-and-effect relationships. He will never buy into the apparent simplicity of the current situation - even in it he will look for a catch.

Such people always answer a question with ten counter questions. They click logic puzzles one or two times. Solve problem situations using non-standard methods. They become lawyers, detectives, scientists, journalists, and IT specialists. Although they are considered strange, they are professionals in their field. And all this is due to the fact that they have analytical thinking, which allows them to look at the world around them in an original way - not like everyone else.

What is analytical thinking

This is a whole range of specific abilities:

  • highlight significant details in an object that are not noticeable at first glance;
  • reason logically;
  • find hidden cause-and-effect relationships;
  • demonstrate practical intelligence;
  • subject an object or situation to comprehensive research;
  • weigh the pros and cons.

It is based on 2 basic processes:

  • creative (often based on intuition) - searching for information (those very details) in an unusual way;
  • formal (based on the laws of mathematics and physics) - analysis and synthesis of the data found, conclusions.

In psychology, this is one of the types of thinking along with pragmatic, synthetic, realistic and idealistic. It should not be confused with logical, which draws conclusions based on comparison rather than cause-and-effect relationships.

The most striking examples of the manifestation or non-display of analytical thinking are the reaction to the problem about people in the chimney and the corners of the table.

Example 1

Problem: two people climbed out of a chimney. One got dirty, the other didn't. Who will go wash?

The non-analytical person's answer: the one who got dirty.

Possible answers for a person with an analytical mind:

  1. A clean person will look at the one who is dirty, think that he is also dirty, and go to wash himself.
  2. The dirty one, after the clean one goes to wash, will also follow him.
  3. And in general, how did two people end up in the chimney together and why did one of them get dirty and the other not?

Example 2

Question: How many corners will the table have if one of them is sawed off?

The answer of a person who does not have analytical thinking: 3 (wrong) or 5 (correct).

A person with an analytical mind will begin to ask counter questions in order to answer as accurately as possible:

  1. Is the table traditionally rectangular, or round, or triangular?
  2. How exactly the table was cut: if it’s close to the edge, then you’ll end up with 5 corners; and if diagonally - 3.
  3. Who is sawing off the corner of the table and why?

If we take examples from fiction and films, the most striking analytical heroes are the world-famous detective Sherlock Holmes from the series of stories by Arthur Conan Doyle and the operative from Petrovka Nastya Kamenskaya from the detective stories of Alexandra Marinina and the TV series “Kamenskaya”.

Who is a systems analyst

First, let's define the boundaries so that we understand for whom these topics and questions are relevant. The boundaries of the systems analyst's role are not always clearly defined. From company to company, I encounter completely different interpretations of the job responsibilities of such specialists. However, most companies involved in web and mobile development are close in their understanding of the role of CA and requirements for candidates.

Most often, the requirements for candidates are the following (in addition to experience in a specific domain):

  • Main activity: collecting, analyzing and documenting software requirements in technical language. Related communication with customers and the project team, studying the subject area, participating in the design of solutions, checking the implemented functionality for compliance with the requirements, participating in demonstrations.
  • Required hard skills: skills in developing technical documentation (BRD, SRS), experience working with various DBMSs, solid knowledge of SQL, data model design, knowledge of UML notations, BPMN, knowledge of various systems integration methods, understanding of REST API design principles, experience with SOAP , understanding the features of JSON/XML data exchange formats.
  • Required soft skills: communication skills, the ability to find a common language with both development and business, analytical thinking, the ability to work in conditions of lack of information, adaptability to changes, proactivity and responsibility for the final result.

Benefit

Psychologists and teachers recommend developing an analytical mindset from childhood, as it makes life easier and allows you to solve not only complex mathematical, but also pressing, topical problems:

  • see the main and the secondary, focusing on the first;
  • appreciate the advantages and not lose sight of the disadvantages;
  • identify all available opportunities and understand where their limitations begin;
  • analyze based on experience and new information;
  • draw your own conclusions and conclusions;
  • disagree with the majority opinion;
  • make decisions independently;
  • skillfully use search engines to identify the necessary information;
  • detailed planning of your activities;
  • set realistic goals.

In childhood, a penchant for analytical thinking helps a child stand out from other children with his non-standard approach to solving any problems. Mathematics, physics, chemistry, and history are usually easy for him. He studies well and has a high IQ. From a psychological point of view, he is absolutely non-conflict, because he sees all the disadvantages of quarrels and tries to resolve them diplomatically.

With age, such people choose from thousands of professions the one that will help them reach their maximum potential. They do not have problems with admission, because they first study statistics on different educational institutions and meticulously calculate which of them have a chance of getting into.

Accordingly, they are successful in their professional activities and only move up the career ladder, because they know how to set realistic goals and consistently achieve them.

Test

There is a psychological test for analytical thinking that allows you to determine its absence or presence and degree of severity.

Age: over 15 years old.

Time: 7 minutes.

Tools:

  • form with number series;
  • answer sheet;
  • interpretation;
  • stopwatch;
  • pen;
  • draft form.

Exercise:

  1. Determine the pattern of compiling each of the 15 rows of numbers.
  2. Based on this pattern, continue the rows by entering 2 more numbers into each.

A test form with a task in which you should fill in the missing numbers:

Strictly after 7 minutes the command “stop” is given.

Answer form based on which the results are analyzed:

Interpretation:

  • 0 correct answers - lack of analytical thinking;
  • 1-5 - low level;
  • 6-7 - unsatisfactory;
  • 8-10 - satisfactory;
  • 11-13 - good;
  • 14-15 is excellent.

If the test shows a lack of an analytical mindset or a low level, then you need to try to develop it.

How to develop

Psychologists cannot accurately answer the question of whether analytical thinking is inherited. There are no research data, so only assumptions are made. Without a doubt, parents with such a mentality will pass on their abilities to their child. But he will only have an inclination that he will have to work on from childhood.

What is certain is that the development of analytical thinking makes it possible to strengthen innate abilities, make them brighter, and direct them in the right (practical) direction.

In childhood

To successfully develop analytical thinking in a child, you should know the main stages of children's psychophysical development.

  • 1.5 years

Visual and effective thinking is formed. The child learns such an important mental operation as generalization. He saw a bottle of milk - now they will feed him. Mom said the word “walk” - you need to get dressed. It is important for parents not to miss this moment and help their child, expanding his understanding of the world around him. At this stage, you need to instill as many traditions as possible and develop a daily routine. If today they read a fairy tale before going to bed, tomorrow they wash themselves in the bath, the day after tomorrow they turn on cartoons, problems with falling asleep will begin, because there will be no single algorithm of action - there will be nothing to generalize.

  • 4 years

Visual-figurative thinking begins to form. The child absorbs most of the information visually. At this stage it’s easier for him. Ask him what a cloud is. He will point his finger at the sky or simply draw, but will not explain it in words. It is important for parents not to miss this moment and begin to train their baby’s imagination and visual memory. Subsequently, they will become a good basis for the development of analytical thinking. What to do? Do isotherapy, read books with illustrations, compose fairy tales based on pictures, observe the surrounding nature, notice details.

  • 7 years

Verbal and logical thinking is formed. A significant leap in the psychophysical development of the child. Firstly, he learns to think sensibly, logically, reason, and compare. Performs simple analysis and synthesis operations. Draws conclusions. Secondly, he needs to formalize his mental activity verbally. He expands his vocabulary, selects words, constructs sentences, and creates coherent texts. All this is practiced at school. Parents only need to make sure that the little student conscientiously completes his homework. Also at this stage, it is useful to solve logic problems with your child, play strategy games, and go through quests. And the main thing is to actively discuss what is happening and the results.

With age, a person develops a verbal-analytical style of thinking - this is the same as the verbal-logical one, but more refined.

How to develop as an adult

Analytical thinking can be developed at any age using the following universal methods:

  1. Solve problems: mathematical, physical, logical.
  2. Solve crosswords, solve charades and puzzles, solve riddles and puzzles, collect puzzles.
  3. Play logic and educational games, strategies (board games: Millionaire, Monopoly; online games: Scrabble, Mahjong).
  4. Complete quests.
  5. Watch the news in order to analyze them comprehensively and find your own ways to solve problems that are relevant to society.
  6. Read science fiction and detective stories: Agatha Christie, Earl Gardner, Robert Heinlein.
  7. Study systems of codes and ciphers.

Also pay attention to neurolinguistic programming and neurobics. To develop an analytical mindset, it is useful for adults to perform special exercises daily.

Simulation 1

Create unusual situations for yourself every day that require setting a specific goal and developing a detailed plan to achieve it. For example, imagine that you need to get to the Moon or establish a settlement on Mars. If such fantastic prospects do not tempt you, you can think about more realistic tasks: how to become the owner of a car dealership, how to resolve the conflict in the Middle East, how to raise a child prodigy.

Once the modeling topic is chosen, formulate a specific goal in accordance with it and imagine how you will achieve it step by step. The main thing is not to miss a single detail. Need to fly to another planet? Think about what transport you will choose, where you will get it, who you will buy the ticket from, what to expect on your trip, etc.

When performing this exercise, it is important to stop in time. Spend no more than 15 minutes a day on it. One of the hallmarks of the analytical mind is to clearly separate the wheat from the chaff. That is, here is my imagination, with its help I train my thinking. And this is real life, in which every task is about survival. And you need to know how not to mix them.

Simulation 2

An exercise similar to the previous one, but it has a more practical meaning. It teaches you to apply analytical thinking in reality. There is no need to invent a problem situation. Perhaps she is already present in your life. For example, an unfavorable attitude from a boss. Or a 15-year mortgage that eats up a significant portion of your income. You are allowed to borrow the life difficulty of someone you know (what should you do: send your sick elderly grandmother to a boarding house or quit your job and take care of her yourself?). The main thing is that the circumstances are real.

State a problematic issue that needs to be solved. Gather as much information as possible about this situation. Look at it from all sides. Find the bad and the good. Start developing a strategic plan to solve the problem. And in several versions. People with analytical thinking always have backup ideas in case one of the versions turns out to be untenable.

TOP topics

Software requirements

The topic is very important, I would even say fundamental, but at the same time quite holivar. Because the abundance of information provokes its discrepancies. Most often, interviewers expect to hear answers based on the model presented in the book “Software Requirements Engineering” by K. Wiegers and D. Beatty. Therefore, it would be a good idea to prepare examples in advance by level of requirements (business, user and functional requirements).

Possible questions:

  • What is a software requirement?
  • What types of requirements do you know?
  • How do business requirements differ from functional requirements?
  • How do functional requirements differ from non-functional requirements?
  • How do user requirements differ from functional requirements?
  • Give examples of each requirement or classify the proposed requirements.
  • What requirements quality criteria do you know?

For companies where the SA role is combined with the BA (business analyst). This may also include questions about identifying requirements: basic techniques for collecting requirements, managing stakeholders (interested parties), choosing a strategy for working with stakeholders, etc.

Resources to explore:

The answers to all questions are in the wonderful book by K. Wiegers and D. Beatty, “Software Requirements Engineering.” The book, in my opinion, is a must read for every SA. But if you are still too lazy to read 716 pages of text that is quite difficult to comprehend, then here is a list of resources where the answers to the questions above are well described:

  • Useful excerpts from the above book can be found here and here
  • About requirements quality criteria
  • An interesting presentation about different approaches to requirements classification (according to Wiegers, GOST34, SWEBOK, IEEE 830 and RUP)

Software development process

Basically, it’s enough to talk about your experience and how the development process is organized at your current place of work. But it will be a plus if you show your erudition by talking about different methodologies and their use.

Possible questions:

  • What methodologies do you know? Have you worked with Agile/Waterfall or any other methodology.
  • Tell us about the project development life cycle: stages, roles, artifacts.
  • What is the role of a systems analyst in software development projects?
  • What responsibilities do you have at your current job?

Resources to explore:

  • About the process, roles and artifacts
  • Life cycle models, principles and methodologies of software development (software), or even shorter
  • About BA vs SA

Documentation for the system and other artifacts of the analyst’s activities

Again, as in the previous block, there are mainly questions about your experience in order to assess how relevant it is to what you have to do.

Possible questions:

  • What kind of documentation do you write at your current place of work?
  • What do you describe in the terms of reference for development?
  • How detailed do you describe what needs to be implemented? Business or technical language?
  • What artifacts remain as a result of your work and what are they used for in the future?
  • Have you had experience working with GOST 34/19?
  • Who sets the development tasks? When describing productions for development, do you follow a specific format? What is the level of detail in your productions?

Resources to explore:

  • About different standards of technical specifications for software development
  • Software requirements specification template

Solution design

As practice shows, not every CA participates in the design of the solution. This is due to differences in the understanding of the role of the SA in different companies, as well as the level of competence of the SA (whether the analyst has enough knowledge and experience to influence the choice of implementing a solution or not). But, at a minimum, the analyst can always make the task easier for those who are designing the solution by providing them with a comprehensive, well-designed and understandable description of the business problem and the expected functionality of the system.

Possible questions:

  • Are you involved in the design of the solution? If yes, then how?
  • Questions about working with databases:

    What is a database? What types of databases are there (we are talking about classification by data model)? What databases did you work with?

  • What is a DBMS? Main functions of a DBMS? What DBMS did you work with? What clients did you use to work with the DBMS?
  • What is the difference between SQL and NoSQL databases?
  • What is the basis of relational databases?
  • What non-relational databases did you work with?
  • What types of constraints in relational databases do you know?
  • What is normalization? Why is it needed?
  • What normal forms (NF) do you know? Solve a case involving data normalization.
  • What is the ER model?
  • Do you know how to build an ER diagram? What notations do you know?
  • Do you have experience in database design?
  • They may be asked to design a conceptual/logical data model for a specific domain.
  • Do you have experience writing queries in SQL? Request level? Below are some clarifying questions regarding your level of SQL knowledge:
      What subsets of SQL do you know? (we are talking about DDL, DQL, DML and DCL). Decipher the abbreviations and give examples of operators for each subset.
  • Tell us about the most popular operators, often these are:

    JOIN

  • UNION
  • ORDER BY
  • GROUP BY
  • HAVING
  • Various aggregate functions
  • They may ask you to write a simple request or tell you about the logic of constructing a request for some case.
  • Have you worked with indexes? What are they and what are they for? This is a question for experts, but I came across it at a couple of interviews. Important for vacancies where special attention is paid to working with databases.
  • What business process modeling notations do you know (often BPMN and UML are implied)?
  • CAs still use UML more often. Accordingly, the questions are:
      What diagrams have you used in your work?
  • Why use an Activity diagram/Statechart diagram/UseCase diagram/Sequence diagram?
  • Have you described the use cases in a tabular format?
  • Resources to explore:

    • Basics of database design (theory)
    • Basics of database design (practice)
    • SQL and NoSQL
    • About the ER model
    • ER in Chen's notation
    • ER in Barker and Martin notation
    • Basic SQL Commands
    • About DDL, DML, DCL and TCL
    • About BPMN 2.0
    • About UML

    Integrations

    You need to be more careful with this topic. There are situations when it is better to say at least something than to say nothing, but here exactly the opposite works. If you are not confident that you have sufficient understanding of the topic, it is better not to state anything that will raise additional questions about understanding.

    Possible questions:

    • What methods of system integration do you know?
    • What is the difference between synchronous and asynchronous communication?
    • What do you know about message queues? What are they used for?
    • Have you designed the API? How were the specifications described?
    • Have you tested the API yourself? What software did you use?
    • HTTP:

      What basic HTTP methods do you know?

    • Tell us about HTTP messages. What is the structure of the request? What is the structure of the answer? What status codes do you know and what do they mean?
    • What is the difference between POST and PUT and PATCH?
    • What do you know about the CRUD concept?
    • What is JSON? What is it used for?
  • REST:
      What is REST?
  • What basic principles of REST do you know?
  • SOAP:
      What is SOAP? In what format are messages sent?
  • What is the structure of a SOAP message?
  • Have you worked with XML? What is this?
  • What is XSD? Have you designed XSD schemas?
  • What is XSLT used for? Have you ever written an XSLT transformation?
  • Resources to explore:

    • Methods and approaches to systems integration and more
    • Synchronous, asynchronous and reactive communication
    • About message queues
    • Superficially about the REST API, and at the same time HTTP, SOAP and JSON - it’s all in the article
    • About HTTP messages
    • You can read more about REST, HTTP and SOAP and everything related to these topics at least on Wikipedia and this, in my opinion, will be enough for most interviewers (provided that you understand what you are talking about, of course)
    Rating
    ( 2 ratings, average 5 out of 5 )
    Did you like the article? Share with friends:
    For any suggestions regarding the site: [email protected]
    Для любых предложений по сайту: [email protected]