preloader

Search Here

Please find my perspective at what is IT Architecture and Design for the business solution. I value your time. Thereby I need to be within 5 min limit when preparing the overview material. What architects do? Ten characteristics of a good architect? Roles mislabeled as architect.

About Architecture and Design

I believe in the success of your business or “digital transformation” company provided software is designed and developed correctly. The success or failure will be heavily impacted by your product’s solution architecture and design. The way the IT solutions help your business to prosper is grounded in a useful software product architecture. And I am happy to create such IT architectural solutions. Wanna try?

IT Architecture and Design



Very often, architecture is quite abstract notion for the end-user or customer. Let us give a glance, as seen by the customer. In my capacity as a client, I would like to automate or digitalize some capabilities of my business. Consequently, I need a new IT product which must be developed and made fly. I realize that I cannot think through as an expert. I just have an idea, and I am interested in:

  • Can my project be implemented the right way?

  • When?

  • What will be the charges for its implementation?

From day one of the project, it is worth addressing an architect. The architect will do the following:

  1. Take a word with the customer, figure out what product is needed, for what purpose.

  2. Build up a solution concept, submit it to the customer, make cost estimation (architecture level)

  3. Get feedback, process details, call in subject matter experts.

  4. Come up with a solution design.

It’s worth mentioning that for IT projects, we usually use agile approaches. It is uncommon for IT projects to make a final architecture in one go. Therefore an architect and development team move together iteratively, guiding the project during the implementation stage. As well, the requirements are being clarified continuously, and changes to architecture and design are being made correspondingly.

Agile Architecture is a set of values, practices, and collaborations that support the active, evolutionary design and architecture of a system. Agile architecture supports Agile development practices through collaboration, emergent design, intentional architecture, and design simplicity. © Scaled Agile, Inc.


Key highlights of architect’s activities

  1. Requirements identification

  2. Making IT architecture

  3. Design IT solution

  4. Document architecture and design

  5. Architectural analysis

People mean different things when they call themselves an “architect.” Instead, it’s caused by increasing specialization, and also by the gradual convergence of the IT, System Integration and Product development realms in the context of digital businesses. That’s why I will encounter some of the most popular “architects”:

👨👩👇
System architect (Network architect)someone who knows how to set up hardware or cloud systems for maximum performance, reliability, and security
Software architect (Application architect)the person who can listen to your requirements and drive the creation of your product “from scratch”
Solutions architectgenerally comes from the systems integration world. Solution architects can sometimes be similar to an application (software) architect but over a suite of large applications that comprise a logical solution for a business
Enterprise architecttypically work at an executive level, advising the CxO office and its support functions as well as the company as a whole

All of them are architects, but whereas they operate by different contexts.

The difference between an engineer and an architect is their focus. In essence, an architect spends the bulk of their time thinking about “how” to solve problems, while the engineer spends most of the time implementing solutions.

An architect works with others and must persuade them — as well as management — of the correctness of their choices. Being an architect is not necessarily a question of capability. It’s a question of focus and role.


Much has been said about IT architecture, role of architect, architect’s responsibilities by many. I wouldn’t reinvent the wheel and decided to make my point of IT architecture and design inspired by a stunning article What Makes A Software Architect? written by Dr. Jim Walsh, CTO at GlobalLogic.

10 Characteristics of a Good Architect

1. Solve Problems

The essential characteristic of an architect is the ability to solve problems. The broader and more profound the range of these problems, the more senior the architect (in terms of skill—not necessarily years). Some architects focus on network issues, physical deployments, business domain decomposition, and “big picture” architecture, integration with existing systems, or even all of the above. But regardless of their focus, the principal task of an architect is to determine an excellent solution to a problem. It’s not to supply information, coordinate other people, or do research—it’s to describe the solution. The output of an architect is a description or roadmap saying how to solve a problem.

2. Focus on “How”

In software, there are many ways to solve a given problem. Of those possible solutions, more than one will generally be a “good” solution. The reason that we separate the “how” from the implementation itself is to give us space to craft and choose among these reasonable solutions and to examine and reject the bad ones.

3. Think Holistically

  • To deliver the right solution, an architect must first holistically understand the problem. Problems always have a business impact, although frequently, they are positioned as purely technical problems. An architect needs to understand the context of the problem they are solving before they can provide the right solution. This requires drawing people out, often for information they don’t necessarily realize they even have or need.

  • Since the non-technical side of the company may have little insight into the business impact of a technical decision, it falls to the architect to assess and communicate these impacts to choose the right solution.

4. Use Technology Creatively

Not every good architecture is novel. A robust, tried-and-true solution to a standard, the recurring technical problem is nearly always better overall (in terms of development and maintenance costs) than a “creative” approach that is different for its own sake.

But the need for creativity often involves the ability to see the current business with fresh eyes. In particular, applying novel techniques to current problems and opportunities, in cases where these approaches provide genuine business or technical value.

5. Make Decisions

  • A primary hallmark of a software architect is their ability to decide which solution is the best fit for a specific business or technical problem (even if that recommendation is ultimately not accepted).

  • The person making the decision realizes that they are acting in an architectural role, not in a purely management / political role.

  • Considering the cost, feasibility, and team preferences and skillsets of a given a choice is indeed an architectural function — and can be the right way of deciding between alternatives when they are comparable technically.

6. Confidence (don’t confuse with arrogance)

All good architects tend to be very sure about their work. The best ones can explain their perspective so well that they end up convincing you and everyone else that their approach is the right one–and it is.

7. Make Things Understandable

A good architect should be able to clearly describe a system to an 80+-year-old grandparent, to a business-savvy but non-technical CEO, or the CTO, in ways they can all understand. A good architect adjusts his or her explanation to his audience – an essential skill.

8. Make Complex Subjects Sound Simple

Don’t throw obscure TLA’s (“Three-Letter Acronyms”) to show off.

9. Not Afraid to Take Risks

Architecture is a craft. To make a masterpiece an author (read architect) should run risks.

10. Not Afraid to Be “Wrong”

Do. Apologize after.


What Architect Do

  • Take your business requirements, and determine how to embody those in software

  • Communicate with customer

  • Identify and design architectural components

  • Analyze and select the right architecture patterns

  • Diagram and document an architectural solution

  • Communicate architecture decisions to developers and stakeholders

  • Investigate new technologies and make prototypes

  • Control on helicopter view (common context)

  • Worry about things like flow, cohesion, maintainability, structure, and other big-picture issues.


Roles Mislabeled as “Architect”

  1. Researcher. While architects spend time doing research, the fundamental difference between a researcher and an architect is that the architect decides.

  2. Evaluator or Analyst. A key differentiator between an evaluator/analyst and an architect is that the architect ultimately makes a choice or single recommendation as a result of these evaluations.

  3. Technical Expert. However, there are many cases where technical experts are not architects, even if they have that title.

  4. Knowledge Orchestrator. An architect is a person who originates from a proposed solution; the knowledge orchestrator role serves as an editor and critic of the recommended ideas. In terms of architecture, the knowledge orchestrator is “involved,” while the architects are “committed.”


Conclusion

Good software architecture is what allows your company to:

  1. rapidly pivot and evolve;

  2. minimize maintenance and operations cost;

  3. scale robustly and smoothly;

  4. deliver value to your end-users, and to bring revenue to your business.


My services

Look through the slides

--------------------

Follow me: