IT outsourcing: Java, С#/С++, .NET, Python, JavaScript, React, Go

Seldemirov Aleksandr / 20.06.2020

Episode #9. Architecture and the role of an Architect in an IT project. Architecture and the role of an Architect in IT.

We start discussing the expert roles that are directly related to development.
An IT Architect is a role that decides what an information system will ultimately look like.
At the initial stage, it takes the formalization of processes from the Business Analyst (software requirements), forms the solution architecture and defines its components:

  • Functional blocks
  • Data formats and ways to exchange data between components
  • Technology stack
  • Infrastructure (load and system availability) 

Describes all the above processes in a specific document format, which becomes a component of the terms of reference for developers.
Further, in the development process, this role is responsible for architectural supervision.

The cost of an Architect’s mistake.

To illustrate the importance of the role of an Architect, we will use the example of one of our projects to show the cost of his mistake. 

We were contacted by a client based on a recommendation.
Our client faced a classic situation:
The client launched MVP, the business started to gain momentum, and after a while the system got hung (or went down, whichever you like).
The request to us was not only to develop the system, but first of all, to analyze what happened.
When we investigated the system, it became obvious that it was designed by a novice architect.
It’s like in construction: the task was to build a skyscraper, and the foundation was laid for the barn.

How does an Architect influence the success of a project? How do I know that the Architect is fulfilling his role efficiently?

 High-quality design of the solution architecture is very important for the overall success of the project. This allows you to avoid a number of problems, for example:

  • Incompatibility of the technologies used.
  • The solution cannot be scaled.
  • The lack of flexibility in the further use and modification of the solution.

There are many examples when companies have to redo / start large-scale changes just because they were too hasty at the stage of architectural development. 

Here it is worth noting that no two architects are alike, and just the presence of such a function in the process does not guarantee the quality of development. 

There is a stereotype that architecture is a constant creative process. However, this is not the case.
It requires a detailed understanding of the technological side, immersion in the business task, and so on. Moreover, there is a whole layer of routine that should not be forgotten. Which includes:

  • Project documentation
  • Continuous work with the team

Control not only over the “beauty” of solutions, but also over the economic feasibility.

There is a whole range of different tasks and priorities between MVP projects and enterprise architecture. 

The focus in startup MVP projects is to effectively launch the first version.

The main thing:

  • Functional architecture of modules
  • Business logic
  • Data model
  • Technology stack

Here we usually work based on the concepts of micro-service architecture.
Infrastructure components at this stage are commodities, where DevOps already works with standard cloud service solutions.

What should an Architect know and be able to do? What skills do you need to develop in order to become a good Architect? And does an Architect need to be able to write CODE, for example?

  • All the companies we worked with understood the importance of this function and architects were always available, however, there were completely different examples, both in terms of personal qualities and technological skills.
  • A quality architect should have a detailed understanding of IT on the level of concepts, possible data exchange protocols and integration methods, etc. However, the main focus and criterion for success is the availability of high-quality soft skills that are necessary for working with the team and business customers, as well as experts and contractors from the market.
  • Is it necessary to be able to code? Absolutely not necessary. There is a large number of examples of good architects who came out of system engineers, hardware professionals, or product manufacturers.
  • The main thing is to have a keen interest in IT trends, a desire to constantly expand your knowledge and understanding of different concepts, and, as mentioned above, the ability to maintain a high-quality communication with all participants in the process.

 Is it possible to organize the work so that the role of the Architect is combined with some other role in the project?

In principle, this role is necessary. The Architect is combined with the Tech Lead, the Team Lead and the Senior developer of certain area. In other words, in micro-projects, it can be a on-the-field coach. 

P.S.

Obviously, mistakes made by an Architect can cost the entire project dearly.

  • Ability to anticipate all the needs of the developing system and at the same time remember about the economic feasibility.
  • Ability to make a choice between ready-made standard and unique creative solutions.

The desire to follow not only your own vision, but also the needs of different groups of stakeholders. This is a set of qualities of a professional architect.

Latest

Reading lists
Seldemirov Aleksandr / 21.10.2020

Episode #10. How to become a Senior developer? What experience and competencies is necessary to have?

Senior Developer Who is a Senior developer?At what stage does he join the project?What roles does he interact with?How to become a Senior developer?What competencies for S ...

Seldemirov Aleksandr / 20.06.2020

Episode #9. Architecture and the role of an Architect in an IT project. Architecture and the role of an Architect in IT.

We start discussing the expert roles that are directly related to development.An IT Architect is a role that decides what an information system will ultimately look like.At the in ...

Seldemirov Aleksandr / 07.06.2020

Episode #8. Who is a Project Manager (PM) in an IT projects? The role of a Project Manager (later in the text – PM).

In order to demonstrate how important the role of PM is, we will talk about one project that allowed us to acquire very important insights regarding this role. Example (WO) ...

Seldemirov Aleksandr / 18.05.2020

Episode #7. Who is a Business Analyst in an IT project? The role of a Business Analyst.

Often our customers do not understand why this role is needed if there is a Product Owner with industry expertise and quite good understanding of the future product. Using our ...

Seldemirov Aleksandr / 06.05.2020

Episode #6. Who is a Product Owner and why is he needed in an IT project?

Today we will take a closer look at the Product Owner role. In the previous article, we talked that the Customer role and the Product Owner role can be combined in one person, ...

Seldemirov Aleksandr / 28.04.2020

Episode #5. The 'Locomotive' Roles in the IT project. What is a difference between O/PO/PM/TL and why are they all necessary?

Today we will talk about a responsibility assignment matrix. We will also discuss in more details the roles which in the previous article were named as ‘locomotive’, which are pul ...

Seldemirov Aleksandr / 28.04.2020

Episode #4. Roles and Responsibilities in an IT project. Why are all those roles necessary (Team Lead, Project Manager, Product Owner, etc.)?

Roles and Responsibilities in an IT project. Why are all those roles necessary (Team Lead, Project Manager, Product Owner, etc.)?  Sometimes big number of roles scares a c ...

Seldemirov Aleksandr / 28.04.2020

Episode #3. Can we trust outsource developers? How do we select a contractor?

Let’s discuss the mental barriers which most entrepreneurs, owners and directors encounter when they hear the word "outsourcing."  Lack of trust:I don't understand how man ...

Seldemirov Aleksandr / 28.04.2020

Episode #2. Outsource vs Development Team in the Company. Advantages and Disadvantages

Why and when you would hire an outsourced teamThere are several hidden advantages of outsourcing which we constantly use in our own company.There are preconceptions about outsourc ...

Seldemirov Aleksandr / 28.04.2020

Episode #1. What are the current events on the IT market? Remote work and the concept of distributed development. The future of the economy in a digitalized society.

All of us realize the reality of irreversible changes in the world around us. The majority of companies in the world are entering or already have entered the world of online busin ...

Seldemirov Aleksandr / 02.02.2020

BIMLIB case. BIM-content platform

Case: BIMLIB — Building Information Modeling Library Customer: A construction holding Task: Create simple and convenient system of quick preparation of a bill of materials f ...

Seldemirov Aleksandr / 15.01.2020

ERP for Business. Do I really need it?

Pondering over prospects of ERP platform integration into your business, you need to understand precisely which tasks you are planning to use it for. Do you evaluate your manuf ...

Seldemirov Aleksandr / 18.09.2019

Teamwork and roles in IT projects

Any project goes through initial overview steps, called “presale”: Conceptual foresight of the output productEstimated project budgetTime required for completion of the project ...

Seldemirov Aleksandr / 05.08.2019

How to become a Senior Developer. Path of development.

Where do programmers start from? According to an ideal scenario, a programmer starts his education in school already. Specialized mathematical education becomes a foundation an ...

Seldemirov Aleksandr / 19.07.2019

How to estimate IT system development time?

How can a client be sure that the payment for the development guarantees the same amount of working efforts, and all declared time is used for solving the task? Such a question ...

Seldemirov Aleksandr / 06.06.2019

How to involve a freelancer into teamwork?

Can a solo freelancer become a team player? Personal inclination for a team play has an important role. There are people who are comfortable to work alone and there are those w ...

Seldemirov Aleksandr / 24.05.2019

When is outsource development more effective than in-house, and especially, when should we look for it?

Creation of any project, big company, corporation, as well as start-up can be compared to a construction of a building. For an implementation, we would need the following:  ...

Seldemirov Aleksandr / 24.05.2019

Why do programmers inside of a company say “No” to you?

We are often approached by companies with unfinished software development IT projects which actually need to be redone from the scratch. Our statistics: 3 of 4 projects are like t ...

Seldemirov Aleksandr / 24.01.2019

Fix Price or Time & Material models?

As our experience shows: Fix Price model in general is 2-2,5 more expensive than Time & Material. With T&M model, everyone is satisfied with results and execution ...

Seldemirov Aleksandr / 17.12.2018

Oracle Hyperion Software

Oracle Hyperion Planning Software Oracle Corporation is an American company, the biggest producer of software in the worldOracle Hyperion is a software product line which is ...

Seldemirov Aleksandr / 28.11.2018

International Conference A2IC-2018

Main Hall of A2IC-2018 Conference  During the conference ITQuick Company presented one of the client projects. A2IC covered the following themes: Machine learningArt ...

Seldemirov Aleksandr / 01.08.2018

Development Principles — Agile and Waterfall.

If we talk about project development approaches we can highlight these two: Agile and Waterfall. These two development models are applied, not only during software development, bu ...

Seldemirov Aleksandr / 31.05.2018

CRM system. Client category 3. Continuation.

Previous articles: CRM system. Selection and setup. General information.CRM system. Client category 1. Continuation.CRM system. Client category 2. Continuation. The third ca ...

Seldemirov Aleksandr / 29.05.2018

CRM system. Client category 2. Continuation.

Previous articles: CRM system. Selection and setup. General information.CRM system. Client category 1. Continuation. This category of entrepreneurs understands that it is ne ...

Seldemirov Aleksandr / 28.05.2018

CRM system. Client category 1. Continuation.

Beginning is here: CRM system. Selection and setup. General information.   Category 1. Very cool guys. As the best, they keep their data in a cloud or in the worst c ...

Seldemirov Aleksandr / 28.05.2018

CRM system. Selection and setup. General information.

CRM is a Customer Relationship Management system. It also can be called a client database. This is not just a database, but a more coherent software solution which, with correct s ...

Seldemirov Aleksandr / 30.04.2018

How to solve a problem “URGENTLY”

We always want to solve a potential client's problem. In the beginning, we are trying hard to communicate with a client in order to clarify details, because if a client fully unde ...

Seldemirov Aleksandr / 28.04.2018

Sales channels from small to big

It happened that our company has been working mainly with small and medium-sized businesses (from 100 people) which were our clients. We look for clients through various channels ...