Enforce Consistency with Clean Architecture
When projects fail for reasons that are primary technical, the reason is often uncontrolled complexity. The complexity goes out of hand when the code lacks structure, when it lacks Clean Architecture. In this session I will show how we can achieve consistency through structure
This page is dedicated to my session Enforce Consistency with Clean Architecture that I have given to some conferecences. You can navigate to the home page of my blog, here.
Below you will find links to all the resources that I use and mention during this talk.
Abstract:
When projects fail for reasons that are primary technical, the reason is often uncontrolled complexity. The complexity goes out of hand when the code lacks structure, when it lacks Clean Architecture. In large software projects where many developers work on the same code base one of the biggest challenges is to get consistency in code, to create development patterns for common problems, so you can control the complexity and size of the system.
In this session I will show how we can achieve consistency through structure, rather than relying on discipline only. We will look at some basic building blocks of an application infrastructure which will enforce the way dependencies are created, how dependency injection is used or how separation of the data access concerns is enforced.
Resources:
- Slides: on SlideShare
- Code snippets on the slides: Code Design Training on GitHub
- Code Design Training: description
- Implementing Clean Architecture Training: description
- iQuarc.AppBoot: on GitHub
- iQuarc.DataAccess: on GitHub
For any questions regarding my talk do not hesitate to contact me.
For more on this, and on similar topics about how to reach an efficient design and how to implement a solid software infrastructure that can sustain the complexity and size of large Enterprise Applications, you can check my training.
Many thanks to my colleagues at and for the support in creating this talk!
Drawing from our extensive project experience, we develop training programs that enhance predictability and reduce the cost of change in software projects.
We focus on building the habits that make developers adopt the industry best practices resulting in a flexible code design.
Services
Our Software Architecture and Project Design services combined, help organisations transition from staff augmentation, where they sell hours, to becoming solution providers, where they deliver project milestones.
Software Architecture
We support key architectural decisions, from System Decomposition to Detailed Technical Design.
Our work involves identifying critical system behaviors, core technical requirements, and providing tailored solutions.
We assume the responsibilities and decisions of the architect role, acting as the design lead, technology lead, and process lead.
Project Design
We apply an effective engineering method to create an actionable project execution plan.
The plan outlines the schedule of activities, allocates resources, and makes strategic trade-offs to meet project goals within constraints, balancing schedule, cost, and risk.
The process provides charts and tools to track progress and adapt the plan during execution.
Coaching and Mentoring
We help architects, managers, and developers build the skills needed to achieve their goals with ongoing support.
We are available to your team while they work, providing access to our extensive project experience. We engage directly with the project, becoming familiar with its specific requirements and constraints.
Our goal is to build skills within your team, enabling them to achieve their goals independently rather than relying on us.
We lead in design, technology, and process, empowering projects and organizations to achieve their goals. We collaborate closely with client architects, product managers, and project managers, providing coaching and mentorship to help them succeed.
About
Code Design is a consulting agency specialising in the design phase of software development.
Over the past decade, Florin has led the design and implementation of complex software systems across industries such as Energy, Finance, Healthcare, Business Productivity Tools, and Insurance. These projects involved distributed systems built for long-term, incremental development, overcoming common challenges to ensure success: on time, within budget, and on quality.
Florin’s experience often includes coaching and training the developers implementing his designs, further enriching the training materials he provides.
At Code Design, Florin collaborates with a team of like-minded professionals and experts, many of whom he has previously worked with, to deliver comprehensive, high-level services in software development.