JAX enter: Is software reliability simply a business decision or does it have other consequences as well? What are the implications for software developers?
Software reliability is important, and should not be a pure business decision (because it impacts developers as well). However, let’s focus on software operability, the set of properties which make a product work well in production with high availability. This includes reliability, but also resilience in the face of errors (such as automated fail-over, restarts and other self-repair actions).
JAX enter: More often than not, architecture is seen as a separate concern from development process. Why is that and what should the relationship between the two be?
It should never be a separate concern, or separate phase. It should be an integral part of the software development cycle.
JAX enter: Could you share some dos and don’ts of modern software architecture?
Don’t over-architect and over-engineer. Let the architecture emerge from the requirements and building of software. In other words, defer architectural decisions until you actually have to make the decision, rather than adding unnecessary additional complexity.
JAX enter: Serverless is definitely one of the fast-paced changes to software architectures right now. What does it bring to the table?
I think it helps with teams having to spend less time and attention on the infrastructure behind their product.
JAX enter: Will microservices become a default architecture? Why/why not?
To me, it has already become a default architecture, given its application by many smaller and larger companies.
JAX enter: Security threats are on the rise, that’s a given. That being said, how can we balance security and innovation in software development?
Automated security and testing tools rather than manual (human) gates, that work transparently and timely within a delivery pipeline, are key to making this work.