Pull to refresh
135.66

System Analysis and Design *

Analyze and project

Show first
Rating limit
Level of difficulty

Architecture Decision Records (ADR): Enhancing Software Development

Level of difficulty Easy
Reading time 3 min
Views 1.2K

Introduction to ADRs

ADRs are critical for documenting architectural decisions in software projects. They provide a historical record of decisions, rationales, and impacts, vital for future teams and stakeholders.

Defining ADRs

An ADR is a document capturing key architectural decisions along with their context and consequences. It helps stakeholders understand why certain choices were made during a project, promoting transparency and clarity.

Read more
Rating 0
Comments 0

Handling multidisciplinary project development

Level of difficulty Medium
Reading time 4 min
Views 701

Multidisciplinary project emerges when multiple teams with different expertise areas join to create a product. Despite the fact the product development is not something happining merely my a wish, product leads often perceive it as an easy walk. Usually this easy walk becomes a crash course. Let's uncover what leads to crash and what is necessary to succeed.

Read more
Rating 0
Comments 2

AI for Software Business Analysis

Level of difficulty Easy
Reading time 5 min
Views 17K

Generative AI is creating waves in the way we work, significantly revolutionizing the software development process. AI tools are appearing in various phases of software development, such as design, development, and testing. However, there aren't many tools specifically focused on software business analysis tasks.

But with a little creative thinking, we can put "one-size-fits-all" applications like ChatGPT to good use. It can definitely speed up execution of many typical tasks and free up analysts to focus on the more challenging, strategic aspects of the job.

Read more
Total votes 1: ↑1 and ↓0 +1
Comments 1

Business Process Management Part 2. How to

Level of difficulty Easy
Reading time 12 min
Views 10K

This article is written in a how-to style. It is based on my personal experience and opinions, so it may omit some steps that are common in BPM practice but that I have not encountered in my work. The topic is broad, and each section deserves a separate article. Therefore, if you are interested in a specific topic, please comment, and I will prepare a more detailed description.

Read more
Total votes 3: ↑2 and ↓1 +1
Comments 3

TRIZ: The Problem-Solving Methodology for Product Managers

Level of difficulty Easy
Reading time 11 min
Views 2.1K

Background

As a product manager with over a decade of experience, I'm always looking for new ways to enhance my skills and help other product managers advance in their careers. One area that many companies focus on during the job interview process is analytical and creative problem-solving. And as product managers, we encounter these types of challenges on a daily basis. It's important to stay sharp and continuously develop our problem-solving abilities. That's why I made it a habit to practice a logic puzzle every day. But I also wondered if there was a common approach to solving these puzzles. That's when I discovered TRIZ – the Theory of Inventive Problem Solving. In this article, I'll provide an overview of what TRIZ is and how it can be applied in product management. Then, I'll apply TRIZ principles to solve a series of logical puzzles, showcasing the power and effectiveness of this methodology. So whether you're an experienced product manager looking to enhance your skills or someone who enjoys a good brain teaser, read on to discover the power of TRIZ!

If you find TRIZ to be a useful tool for problem-solving and innovation, there are many resources available to help you delve deeper into the methodology. The TRIZ Journal, for example, offers enough information on TRIZ, including case studies, articles, and other resources. You can also find books and online courses that provide a more in-depth look at TRIZ and how it can be applied in different industries and contexts. So if you're interested in learning more, there are plenty of opportunities to expand your knowledge and apply TRIZ to your work.

Read more
Total votes 2: ↑2 and ↓0 +2
Comments 13

State Management for processes flow

Reading time 12 min
Views 1.1K

Most of the processes that people use in their work lives can be represented as some object that goes through some flow. Each flow contains many stages, in each one of them the object can be manipulated by certain group of users.

In this article I want to suggest an approaches to effectively handle such flow based systems. 

Read more
Rating 0
Comments 1

How Analyst Days/14 went for us

Reading time 5 min
Views 979

Conference participation is one of the most important practices for professional development. Hence, Innotech is actively sending out both its speakers and listeners for the biggest events. Senior Analyst Anastasia Kochetova shares her impressions from the Analyst Days/14 conference.

Read more
Rating 0
Comments 0

Introduction to Engineering

Reading time 16 min
Views 1.9K

This is a set of chapters for young engineers. We give practical advice and discuss goals, challenges and approaches used in modern software engineering.

Along with classical foundations this article contains original ideas of conceptualizing engineer's work with emphasis on bringing order to the situation and finding an insight. Engineering is approached as work in uncertainty with other people which requires special skills. Non-obvious complications regarding modern production in big companies are discussed.

This article is based on 15 years of experience in engineering and management in high-tech industries.

Read more
Rating 0
Comments 3

REST or Events? Choose the right communication style for your microservices

Reading time 5 min
Views 8K

Microservices Architecture is a well-known pattern for building a complex system that consists of loosely coupled modules. It provides better scalability, and it is easier to develop a system in multiple teams so that they don’t interfere with each other too much. However, it is important to choose the right way of communication between the services. Otherwise, this kind of architecture can do more harm than good.

Read more
Total votes 1: ↑0 and ↓1 -1
Comments 0

Architecting Architecture: Makers and Takers

Reading time 12 min
Views 1.6K

The step has been made. Not sure where to, but for sure from the point of no return. Keep calm and keep walking. It is about time to look around and understand the smelly and slippery route before you. And what are those noisy creatures swarming around our fishy “innovative” design we called Mandelbrot blueprint? You don't get a buzzing noise like that, just buzzing and buzzing, without its meaning something.

Read more
Total votes 4: ↑4 and ↓0 +4
Comments 1

Architecting Architecture

Reading time 6 min
Views 2.6K

Architect. This word sounds so mysterious. So mysterious that to understand it you are almost forced to add something. Like “System Architect” or “Program Architect”. Such an addition does not make it clearer, but for sure adds weight to the title. Now you know – that’s some serious guy! I prefer to make undoubtful and around 10 years ago added to my email signature “Enterprise Architect of Information Systems”. It’s a powerful perk. Like “Chosen One”. With architects it is always the matter of naming, you know. Maybe that is why the only way to become an architect is to be named as one by others. Like with vampires. One of them has to byte you! That is probably the easiest way to earn the title as there is no degree or school to grant you one. And if there’s a troubling title, somebody’s making a trouble, and the only reason for making a trouble that I know of is because you’re an Enterprise. Huge old and complex multinational corporation. Like a one-legged pirate. Strong and scary, but not a good runner. You own your ship, you had good days, you have some gold, you need new ways.

To get to new treasures and avoid losing the second leg to piranha regulators and local business sharks swarming waters near every enterprise ship – every pirate has a map. A map is a list of major features and requirements in desired order and priority.

Read more
Total votes 2: ↑2 and ↓0 +2
Comments 1

Tarantool: an analyst's view

Reading time 8 min
Views 1.9K
Hi all! I'm Andrey Kapustin. I work as a system analyst at Mail.ru Group. Our products form a unified ecosystem. Many independent infrastructures generate data in it: taxi and food delivery services, email services, social networks, etc. The faster and more precise we can predict a client's needs, the sooner and more correctly we can offer our products. 

Many system analysts and engineers are keen to know: 

  1. How to design the architecture of a trigger platform for real-time marketing?
  2. How to arrange a data structure that would be in line with the requirements of a marketing strategy for interacting with clients?
  3. How to ensure the stable operations of the  system under very heavy workloads? 

Such systems are based on technologies of high-load processing and Big Data analysis. We have accumulated considerable experience in these areas. Our expertise is in high demand on the market.  I'm going to show how we help our customers to switch from off-line to on-line in their interactions with clients using Real-Time Marketing solutions based on Tarantool.
Read more →
Total votes 26: ↑26 and ↓0 +26
Comments 0

How to make integration with 50 suppliers and not get crazy

Reading time 6 min
Views 707
There are many supplier types. Some suppliers ready to get your data format, another — don't; some use SOAP protocol, another — REST; some uses EAN for goods identification — another uses offer ID; some ready to give you order status, another — don't, some uses vocabulary, witch elements you need to map with your’ s master data, another — don't. Simply put — suppliers are extremely different.

However, we need to automate the data exchange. Now is the 21st century. In perfect world we need to found the B2B conference for suppliers and them customers (in auto part market in my case) and develop one data exchange format and be happy. Unfortunately, we live in imperfect world.
Read more →
Rating 0
Comments 0

Making a Tarantool-Based Investment Business Core for Alfa-Bank

Reading time 10 min
Views 1.8K

A still from «Our Secret Universe: The Hidden Life of the Cell»

Investment business is one of the most complex domains in the banking world. It's about not just credits, loans, and deposits — there are also securities, currencies, commodities, derivatives, and all kinds of complex stuff like structured products.

Recently, people have become increasingly aware of their finances. More and more get involved in securities trading. Individual investment accounts have emerged not so long ago. They allow you to trade in securities and get tax credits or avoid taxes at the same time. All clients coming to us want to manage their portfolios and see their reporting on-line. Most frequently, these are multi-product portfolios, which means that people are clients of different business areas.

Moreover, the demands of regulators, both Russian and international, also grow.

To meet the current needs and lay a foundation for future upgrades, we've developed our Tarantool-based investment business core.
Read more →
Total votes 14: ↑14 and ↓0 +14
Comments 0

Mind traps: how scientists fool themselves

Reading time 5 min
Views 2.1K
Even the most honest of scientists are regularly misled by their cognitive biases. They often go to great lengths to find proof for whatever seems logical, while dismissing evidence to the contrary.

Yet this issue is rarely discussed — because it remains an embarrassing subject.

Read more →
Total votes 5: ↑4 and ↓1 +3
Comments 0

Quintet instead of Byte — data storage and retrieval approach

Reading time 13 min
Views 1.6K
Quintet is a way to present atomic pieces of data indicating their role in the business area. Quintets can describe any item, while each of them contains complete information about itself and its relations to other quintets. Such description does not depend on the platform used. Its objective is to simplify the storage of data and to improve the visibility of their presentation.



We will discuss an approach to storing and processing information and share some thoughts on creating a development platform in this new paradigm. What for? To develop faster and in shorter iterations: sketch your project, make sure it is what you thought of, refine it, and then keep refining the result.

The quintet has properties: type, value, parent, and order among the peers. Thus, there are 5 components including the identifier. This is the simplest universal form to record information, a new standard that could potentially fit any programming demands. Quintets are stored in the file system of the unified structure, in a continuous homogeneous indexed bulk of data. The quintet data model — a data model that describes any data structure as a single interconnected list of basic types and terms based on them (metadata), as well as instances of objects stored according to this metadata (data).
Read more →
Total votes 8: ↑8 and ↓0 +8
Comments 2

Tutorial For Creating Blockchain Solution on Hyperledger Composer

Reading time 7 min
Views 2.9K


Due to modern business demands, IBM joined hands with other companies to develop an open-source business blockchain network called Hyperledger Fabric project that is touching the sky. Due to modular architecture, digital keys, and on-demand data retrieval, hyperledger fabric is regarded as the base for the world’s future modular architecture blockchain-based apps. Further benefits of Hyperledger Fabric are given below to facilitate your interpretation.
Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 0

How we created IoT system for managing solar energy usage

Reading time 5 min
Views 1.2K

If you have no idea about the development architecture and mechanical/electrical design behind IoT solutions, they could seem like "having seemingly supernatural qualities or powers". For example, if you show a working IoT system to 18th century people, they'd think it's magic.This article is sort of busting such myth. Or, to put it more technically, about hints for fine-tuning the IoT development for an awesome project in solar energy management area.

Read more →
Total votes 9: ↑7 and ↓2 +5
Comments 0

Qrator filtering network configuration delivery system

Reading time 6 min
Views 1.3K


TL;DR: Client-server architecture of our internal configuration management tool, QControl.
At its basement, there’s a two-layered transport protocol working with gzip-compressed messages without decompression between endpoints. Distributed routers and endpoints receive the configuration updates, and the protocol itself makes it possible to install intermediary localized relays. It is based on a differential backup (“recent-stable,” explained further) design and employs JMESpath query language and Jinja templating for configuration rendering.

Qrator Labs operates on and maintains a globally distributed mitigation network. Our network is anycast, based on announcing our subnets via BGP. Being a BGP anycast network physically located in several regions across the Earth makes it possible for us to process and filter illegitimate traffic closer to the Internet backbone — Tier-1 operators.

On the other hand, being a geographically distributed network bears its difficulties. Communication between the network points-of-presence (PoP) is essential for a security provider to have a coherent configuration for all network nodes and update it in a timely and cohesive manner. So to provide the best possible service for customers, we had to find a way to synchronize the configuration data between different continents reliably.
In the beginning, there was the Word… which quickly became communication protocol in need of an upgrade.
Read more →
Total votes 24: ↑23 and ↓1 +22
Comments 0

How to Catch a Cat with TLA+

Reading time 3 min
Views 1.8K
Many programmers struggle when using formal methods to solve problems within their programs, as those methods, while effective, can be unreasonably complex. To understand why this happens, let’s use the model checking method to solve a relatively easy puzzle:

Conditions


You’re in a hallway with seven doors on one side leading to seven rooms. A cat is hiding in one of these rooms. Your task is to catch the cat. Opening a door takes one step. If you guess the correct door, you catch the cat. If you do not guess the correct door, the cat runs to the next room.
Read more →
Total votes 9: ↑9 and ↓0 +9
Comments 0
1

Authors' contribution