Evaluate and Understand Architecture in SMEs
Develop more efficiently and reduce complexity with my Architecture Review.
Request NowBenefits of the Architecture Audit
Complexity Reduction
Identify and eliminate unnecessary complexity in your software architecture.
Cost Efficiency
Reduce infrastructure and operational costs through optimized solutions.
Knowledge Sharing
Enable your team to exchange their knowledge about the project among themselves.
Overengineering as a Challenge in SMEs
Software in small and medium-sized enterprises is often more complex and extensive than necessary for its intended purpose.
Examples of Overengineering:
- Why do you need a microservice architecture with only 10 developers?
- Why are you using serverless when you only need a simple CRUD application?
- Why are you using Kubernetes when 95% uptime is acceptable for your customers?
SMEs do not need to bear the costs of highly available applications. They simply lack the personnel!
Large enterprises achieve high availability with hundreds of developers. They build complex software and share their experiences at conferences and in professional journals. It is these reports that give SMEs the impression that they must apply the same principles.
The consequences: missed opportunities, unprofitable businesses, and growth constraints due to long development times.
More on this topic can be found in my blog post.
The Solution:
Support from an External
Expert
As Head of Engineering at a service company, I was once responsible for projects in SMEs. I understand the challenges.
The biggest problem in many teams: overengineering. I tried to solve the problem on my own by recruiting experienced developers, but the competition with large companies made this difficult. I also invested in team training, which turned out to be time-consuming and ineffective for acute problems. The teams struggled to recognize and correct their mistakes. Finally, I worked within the team myself, which proved to be inefficient micromanagement and did not provide sustainable solutions. All these strategies did not lead to the desired success overall.
Finding the right balance between over- and underengineering requires years of experience and firsthand responsibility in a variety of projects.
You need someone who knows, understands, and has successfully solved the specific challenges of SMEs.
"Everything should be made as simple as possible, but not simpler."
Albert Einstein
7 Steps to Better Software Architecture
A meaningful architecture assessment cannot take place without understanding the requirements of all stakeholders. Therefore, it is essential to gather relevant information in various formats.
Business Constraints
The architecture and technology decisions of a software are shaped by the context of the company and organization. This session analyzes this context with the relevant stakeholders (e.g., CEO, sales manager, PO, etc.). The most important requirements for the quality of the software are determined based on ISO 25010 . Based on these insights, the focus of the subsequent formats is set.
Technology Map
The Tech Stack Canvas is used to identify all the technologies in use. These insights are important for assessing performance, security, and scalability requirements.
Architecture Workshop
To understand the architecture of a software, the boundaries of the modules, their interactions, and integrations need to be viewed from various perspectives.
Based on the arc42 documentation format , the static and dynamic elements of the software are modeled together with the development team.
Interviews
Interviews are conducted with all key employees to assess the maturity level of the company. Including: CEO, CTO, Head of Development, Lead Developer, Team Lead, Scrum Master, Product Owner, Lead Administrator, Support Lead, and Quality Assurance Lead.
Code Review
Once a complete understanding of the software concepts and architecture is gained, the software is examined in detail. Particular attention is paid to the implementation of the central concepts and quality characteristics.
Among other things, the following aspects are analyzed: module distribution, build tool, CI/CD pipeline, database schema, dependencies, code quality, documentation, API maturity, authentication and authorization, profiling, standardization level, ...
Written Report
All analyzed aspects are summarized and weighted in a final report. For each deficiency, a risk assessment and a recommendation for action are provided.
The report is divided into organizational, personnel, infrastructural, architectural, and implementation-related aspects.
Implementation
The report provides an optimal basis for improving your software architecture. Upon request, I am available to assist with the implementation of the recommended actions. The measures can be supplemented with topics such as versioning strategy, build pipeline, deployment automation, and test coverage to ensure that the architecture remains flexible and adapted to the company's needs.
220 Million
Users of my Software
10 Industries
served in recent years
15 Years
of professional experience
The Right Offer
Choose the right review for your needs
Discovery
Set an impulse for your team. Ideal for small projects.
- Duration: 1 Day
- Business Constraints:
- Technology Map:
- Architecture Workshop:
- Written Report:
- Code Review:
- Interviews:
Basic
Develop the foundation for your roadmap for the next year.
- Duration: 3 Days
- Business Constraints:
- Technology Map:
- Architecture Workshop:
- Written Report:
- Code Review:
- Interviews:
Audit / Technical Due Diligence
Learn every detail of your software.
- Duration: Individual
- Business Constraints:
- Technology Map:
- Architecture Workshop:
- Written Report:
- Code Review:
- Interviews: