Services
Analysis
Collecting information about the organization and its processes on many levels. Analysis of business processes and operations, finding weak points and opportunities for improvement. Specification of business and system requirements.
Example techniques: Event Storming, User Story Mapping, Behavior-Driven Development, Strategic Domain-Driven Design
System designing
Based on functional and quality requirements, as well as technical and business constraints, designing the architecture of the system or individual applications.
Example techniques: Event Storming, C4 Model, text/code as a diagram, Views and beyond, modularization, architectural drivers, Strategic Domain-Driven Design.
Implementation
System implementation and its supervision in accordance with the previously designed architecture.
Backend and database implementation. Process and tests automation.
Example technology and techniques: Tactical Domain-Driven Design, Behavior-Driven Development, Test-Driven Development, .NET, PostgreSQL, CI/CD, Trunk-based development, Left-shift testing.
Consulting
Single or series of consultations on solving a specific problem related to the area of software development, solution architecture or implementation.
Example problems: suboptimal architecture, incorrect domain model, low quality code, performance optimization, low development productivity.
Evaluation
Software engineering process and architecture evaluation (as is) along with recommendations for improvement (to be).
Comprehensive code reviews. Audits.
Mentoring
Long-term guidance of individuals to enhance their software engineering skills.
Example career paths: Senior Engineer, Principal Engineer, Architect.
Legacy Modernization
Iterative, incremental and low-risk legacy system modernization approach.
Example techniques: incremental tests automation, continuous refactoring, modularization, strangler pattern, branch by abstraction, feature toggles.
Trainings
Training of programming teams in the field of software engineering, architecture and Domain-Driven Design. Working with companies and individuals.
Example activities: trainings, workshops, webinars, consultations, 1vs1 mentoring
Other
Other services tailored to the client's needs, discussed individually.