Brainsquare provides enterprise-scale Application Development and Integration solutions with advanced IT technology and expertise. Currently, one of our teams is integrating an ERP system for an international customer with their existing application landscape, following Domain Driven principles, while keeping the ERP system free from customizations.
As this project team has been growing rapidly, we conducted interviews to gain a deeper understanding of their work and team dynamics, aiming to achieve comprehensive insights into their roles and experiences here at Brainsquare.
Solution Architect/ DDD-Evangelist | 📍Antwerp, Belgium
I help customers understand their processes based on factual events in the business and time. From these insights, I distill functional models and then create integration and applicative models that are applicable to software solutions.
Senior .Net Software Engineer | 📍Mumbai, India
I gather functional requirements from customers and transform them into technical solutions, integrating various systems to communicate and sync data, regardless of their different technological frameworks.
Q1. Could you provide an overview of the project?
Chris: We help customers achieve simple, straightforward, maintainable, and cost-effective business processes. Our approach involves keeping ERP systems separate from operational flows to 'keep the core clean'. And my team and I add value by ensuring seamless connectivity throughout the entire process, from conception to implementation, while providing business continuity.
Q2. Could you tell us the technological approach adopted for this project?
Sanjay: As everything is now transitioning to the cloud instead of static servers, we have created a solution that runs entirely in the cloud, including authentication, processes, functions, and databases. In the process of structuring the platform for the benefits of collaboration, maintainability, and adaptability, we implemented Domain-Driven Design and adopted a microservice architecture, creating a decoupled system where each domain integration can run independently from the others. This approach allows for a clear interface and function.
Quick Knowledge Box
Domain-driven design (DDD)
Domain-driven design (DDD) is a software design approach that focuses on understanding and modeling the core business domains or concepts.
Domain is a specific area or subject matter that represents a problem space within a software application.
Microservice architecture is a software design and architectural approach that structures an application as a collection of services that are small, independent, and loosely coupled but work together to provide overall functionality.
Q3. What is the strong point that makes our approach stand out?
Chris: Our approach tackles the complexity at the heart of the software, eliminating misunderstandings across business domains (the problem space) and maintaining clarity in our deliverables (the solution space).
Q4. How do you envision our platform positively impacting clients?
Chris: Our platform is envisioned to have a positive impact on our clients by seamlessly connecting various aspects of operational sites, including the supply chain, engineering, manufacturing, transportation, stock management, customer service, and sourcing. This integration is achieved while meeting the specific needs of each domain, and it ensures that responsibilities across multiple areas, such as security, approvals, and decision-making, are comprehensively addressed.
Q5. What are the key strengths of your team?
Chris: Our team's strengths lie in our complementarity, eagerness to learn, and value for people over deadlines. Our definition of success includes asking questions, allowing space for mistakes, sharing knowledge, and taking pride in our achievements.
Sanjay: Our team's communication and our pair programming approach not only help us learn from each other but also enhance the quality of our architecture and code.
Q6. How does the diverse composition of your team contribute to the innovation and problem-solving aspects of your projects?
Chris: Working with distributed teams can be more challenging for sharing knowledge online than in person. But this again creates the ground for innovative use of online tools & methodologies while learning from different cultural perspectives.
Sanjay: Indeed, working across diverse locations can be challenging, particularly in terms of efficient time management. However, we have a range of online tools such as Teams, Office 365, Azure Board, and Jira for project planning. These tools improve our project pipeline, keeping upcoming sprints prepared and organized with clear requirements and effort estimations.
Q7. What kind of skills do you think a new team member could acquire or enhance?
Sanjay: From a technical perspective, our architecture exposes team members to a continuous learning environment where they can stay up-to-date with evolving cloud technologies and the best architectures every day. Moreover, joining our team will be a good opportunity to develop time management skills, given the need to coordinate across different time zones.
Q8. What kind of qualities or attitudes do you find essential for working in this industry and within your team?
- An eager learner
- A good listener
- Open-minded to new thoughts and ideas
- Adaptive in different situations
- Positive towards challenges
Q9. Could you share more about your team dynamics at Brainsquare?
Chris: We aim to minimize unnecessary meetings and instead proactively engage in our work with a can-do mindset. This approach helps to build a strong sense of teamwork, where we care for each other's experiences and talents, and use each other's strengths to compensate for our own shortcomings. This trust and mutual support create an environment of psychological and physical safety, leading to higher team cohesion. As we give more, I believe we build a sense of security within the team.