Often projects need external advice and workshops to help them in various ways. Systems architecture is one of the most valuable things a team can have if they are not sure what approach they need.
This can help the techncial team to learn established patterns and practices to make the techncial aspects run smoother and lower risks and time.
Business goal analysis
Each project is different and often has a goal in general but needs help in refining those goals from the business perspective into tangible technical architecture.
Strategic Stakeholders may not have established a common theme yet, and so each is working against the other.
Maybe the business / functional goals are also not grounded in the realities of the project members capabilities or time budget.
Splitting the work up such that each team can work synergistically without slowing each other down is hugely important. Selecting the right partners for both in internal and external outsourcing.
Software delivery & legacy re-engineering
Change Data Capture (CDC) approaches for integrating legacy and third party systems with minimal changes.
Patterns for hard to CDC systems.
Microservices & Evolutionary Architecture
Our core architecture is based on this approach.
Discovery of each other.
Continuous streaming between the sub systems and the clients.
API evolution based on Namespacing and Versioning of API’s.
Data evolution based on replay and catchup ensuring no side effects through the system.
Git based CI
Securing authentication aspects.
Multiple Desktops and Mobiles integration for the GUI layer.
Open source software
Slip streaming into your code base.
Picking the right ones.
Data science & engineering
These systems typically require an idempotent based architecture so that iterative training of models can be done in a forward engineering way.
There are standards based approaches here and typically patterns that can lower risk and time when adopted properly.
Kubernetes and docker best practices and tooling is the key here.