Back to resources

How Less Viable Solutions Solve Common Architectural Challenges

Architecture
Different Skillsets
Conflict Solving
Collaboration

13 May, 2022

null null

null null

null at ClearBank

Tom Hill, Engineering Manager at Globality, Inc., describes his decision-making practices when making architectural decisions.

Deciding on an Architecture

The important thing when setting architectural direction is to always implement the smallest viable solution. Most people tend to get themselves into a sandbox where they look for the perfect architecture to solve all of their problems.

The key thing here is to take the inverse approach. First, I recommend analyzing the problems, noting which ones are most critical and which ones are least critical. After that, it’s about designing a step of architecture that is the least viable solution for the most critical problem. The reasoning behind this is that while you’re shaping the architectural direction, features teams and innovation don’t stop.

By the time you’ve spent weeks building the perfect architectural vision, the product is at a new version, and things have changed. The essential part of architectural design is to identify problems quickly and work to the least feasible solution.

An Introduction to Flexibility:

By using less viable solutions, teams are able to be more flexible with the architecture. Without planning the ultimate end result, architecture can solve the first problem and be iterated upon in the future.

Architecture is often thought of as the foundation that everything is built – but it’s not. If you use this model, you’ll improve your technology for some time until you find yourself back in the same position. The best architectural model is iterative, just like any product or feature you’re delivering.

Trade-Offs:

The answer to any architectural question is: it depends. Don’t evaluate and pick tools based on best practices in the industry. Just because you see a lot of chatter about a specific type of solution doesn’t mean it will be right for your company. Look at the bounds in which you’re working and come to an architectural decision with that in mind.

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

V2 infrastructure project

21 December

Consideration for starting a multi year software infrastructure ( V2 ) project that involves hundreds of globally distributed engineers.

Acquisition / Integration
Architecture
Cloud
Ahsan Habib

Ahsan Habib

VP Software Engineering at human

Myth Busting

10 December

Supporting principles on why being data led (not driven) helps with the story telling.

Alignment
Managing Expectations
Building A Team
Leadership
Collaboration
Productivity
Feedback
Psychological Safety
Stakeholders
Vikash Chhaganlal

Vikash Chhaganlal

Head of Engineering at Xero

The Growth Mindset in Modern Product Engineering

28 November

The impact you can have with a Growth Mindset' and the factors involved in driving orchestrated change.

Building A Team
Leadership
Collaboration
Feedback
Ownership
Stakeholders
Vikash Chhaganlal

Vikash Chhaganlal

Head of Engineering at Xero

How to improve engagement and retention in remote engineering teams?

25 October

Mrunal Kapade, an Engineering leader, based in Silicon Valley, shares tips that helped reduce attrition in the remote engineering teams while leading multiple teams from startups to Fortune 500 companies.

Remote
Company Culture
Collaboration
Motivation
Team Processes
Mrunal Kapade

Mrunal Kapade

Director of Engineering at Inspire Energy

Assessing the Performance of Your Team

20 August

Parallels between Work and Sport.

Goal Setting
Different Skillsets
Coaching / Training / Mentorship
Performance
Ron Pragides

Ron Pragides

SVP Engineering at Trustly Group AB