Software Architecture at DigiOutsource
DIGIOUTSOURCE HAS EVOLVED OVER THE YEARS INTO A GLOBAL BUSINESS SPECIALISING IN END-TO-END PRODUCT DEVELOPMENT, MARKETING, DESIGN, AND CUSTOMER SERVICE. AS THE COMPANY HAS GROWN, A SOFTWARE ARCHITECTURE TEAM WAS FORMED IN 2015, PROVIDING ENORMOUS VALUE TO THE BUSINESS. WE CHATTED WITH JEAN-PAUL BEZUIDENHOUT, A BUSINESS ARCHITECT AT DIGIOUTSOURCE , TO FIND OUT THE ROLE SOFTWARE ARCHITECTURE PLAYS IN OUR BUSINESS.
What is Software Architecture?
Architecture is essentially about solving problems. These problems are identified by business, our developers, or by the Architects themselves. We solve these problems by creating a vision of the future with a strategic roadmap that takes into account the immediate needs of the company. The vision is an aspirational plan for supporting and anticipating the strategic plans of the business. It can include best practices for business processes as well as new technology and it must embody principles that enable strategic agility.
Architects identify opportunities to get involved in the software development process by looking for problems whose solutions could have a potentially significant impact on the architecture landscape. This could take the form of a change in a product or supplier lifecycle state, a new strategic direction, a legal requirement we haven’t dealt with before, or the need for continuous improvement of legacy systems, among others.
When the need for an architecture solution is identified, the role of the business architect is to create the context - identify the scope of impact, for example, who the stakeholders are, what their concerns are, and what capabilities and processes are impacted. The business architect sets out the problem statement and identifies or builds the architecture baseline in the architecture repository.
Getting to the solution is a collaborative effort. Much of the work gets done when the right people are in a room to flesh out the problem. This includes business representatives, business analysts, product owners, and senior developers.
The architecture target state is discussed to determine candidate solutions at the business level that solve the problem while also taking a step closer to the target state. The team agrees on a solution before breaking the work up into action items for specialists in each team to take on. We see the role as being an orchestrator.
As a business architect I create artefacts that depict the agreed upon solution in a way that all the stakeholders can understand and which adds value to the architecture repository as a placeholder for the technical details. When the solution is deployed this will become a part of the baseline architecture.
The solution architects in the teams are responsible for developing the detailed architectural specification for their part of the wider problem in collaboration with their department line managers and senior developers. This collaboration enables us to scale effectively across multiple development teams and it ensures that we gain wide consensus for change.
Our aim is to develop a large repository of the architecture landscape to facilitate the architecture development process as it is practiced at DigiOutsource.
To assist with the mapping of issues that change over time in a large and complex business and technology landscape, we use Sparx Systems’ Enterprise Architect. This tool affords us the ability to maintain our architectures as a team and visualise complex information in a way that helps create understanding, which enables collaborative problem solving.
New Regulated Market Entry: How have we created an architecture that facilities a smooth admission into regulated markets, and what challenges have been faced?
In the beginning we were heavily involved in the business and technology requirements of each new market. However, as time passed we realised that, in order to scale effectively, we needed to step back and consider all the regulated markets together in an abstract manner. We began to look at what all regulated markets generally require. This gave us ideas about how we can change our environment to easily comply with any regulated market requirements that may come up in the future.
One way we are changing our landscape is to develop loosely coupled services. In the regulated market space, for example, we aim to aggregate the regulator services by providing an integration façade for our internal services to interact with the regulators in a transparent manner. Our aim is to create a faster and more efficient way to enter a new market.
It has been tricky to predict the ways in which lawmakers will regulate in the future. Also, it has been challenging sourcing people who understand both the legal landscape in those regulated or regulating markets as well as the details of our business. Luckily we have many people who understand the business deeply and are quick learners of compliance matters.
If you're interested in a career with us, head over to our careers page to see if we have the perfect role for you.