Distributed systems are complicated. Any software architecture who has ever built a distributed system rarely denies this. But the question arises: how complicated are these systems? Many programmers and those responsible in companies have an exaggerated fear of them. After all, all computer programs are complicated, or they become so over time, even if fans of low-code ideas might sometimes dispute this. This article is not about whether distributed systems should be avoided in general (certainly not!), but about why they become complicated and how you can avoid this.
Kubernetes is a container orchestrator that has rapidly gained popularity among developers and IT operations teams alike. While it started out as a tool to manage containerized applications, it has evolved into much more than that — Kubernetes is a microcosmos and it is “eating the world.”
Software that stands the test of time is only as good as the process to build and maintain it. From ideation to maintenance, the processes should be understood and documented across your team, so that everyone works in the same way. The challenge here is how to define the process and ensure that people stick to it, through a team’s life cycles and change.
In the first part of this series, we will examine the theory behind the Scrum Framework. We will discuss the roles of acting persons with a focus on the role of the Development Team.
The world has become more complicated, and not just since the onset of the pandemic. Simultaneously, increasing complexity requires a more flexible approach to projects, specifically in the development and IT fields. The notion of agile development is not new. It offers an opportunity to better position oneself to transition from reactivity back to proactivity, especially during turbulent times. Scrum in particular continues to prove itself as a crisis-proof companion.
And now? Microservices have been the center of attention for years. Time to draw a conclusion and show how microservices have influenced software development.
In software development, nothing is as constant as change: The last few years have been characterized by the microservices trend and the associated move away from heavyweight, monolithic applications to smaller, cloud-based services and, most recently, serverless computing.
“We create the UX designs and then that can be developed” – surely, we’ve all heard this or something similar at least once, or perhaps you were the one who said it. In interdisciplinary teams, in which the words “user experience” falls, it is commonly the case that one or several people will feel solely responsible for this issue – the rest of the team is there to take care of implementation. But does User Experience not mean creating a holistic solution for the user – the human being? If so, why is it that we do not feel responsible for it as a team?
Over the past year, service mesh has come to the fore as a crucial component of the cloud native stack. Giants like Ticketmaster and PayPal have all added a service mesh to their production applications. But what is a service mesh, exactly? Is it even relevant? And why?
There are many ways to run an agile project. Backlog, Scrum and Kanban are the most common. However, they only work if tasks already exist and are entered in the backlog. But how is a project organized agilely and how can an agile project be measured before the first sprint starts?